@msdn=http://search.microsoft.com/search/results.aspx?qu=$$$ @pinvoke=http://pinvoke.net/$$$.htm @support=http://support.microsoft.com/kb/317406 Summary: Open HTML Help !!!!C# Signature: [DllImport("hhctrl.ocx", SetLastError=true, EntryPoint = "HtmlHelpW", CharSet = CharSet.Unicode)] static extern IntPtr HtmlHelp( IntPtr hWndCaller, [MarshalAs(UnmanagedType.LPWStr)] string helpFile, HTMLHelpCommand command, IntPtr data); !!!!User-Defined Types: [Flags()] public enum HTMLHelpCommand : uint { HH_DISPLAY_TOPIC = 0, HH_DISPLAY_TOC = 1, HH_DISPLAY_INDEX = 2, HH_DISPLAY_SEARCH = 3, HH_DISPLAY_TEXT_POPUP = 0x000E, HH_HELP_CONTEXT = 0x000F, HH_CLOSE_ALL = 0x0012 } !!!!VB Signature: <DllImport("hhctrl.ocx", SetLastError:=True, EntryPoint:="HtmlHelpW", CharSet:=CharSet.Unicode)> _ Function HTMLHelp( _ ByVal hWndCaller As IntPtr, ByVal pszFile As String, _ ByVal uCommand As Integer, ByVal dwData As IntPtr) As Integer End Function !!!!User-Defined Types: Public Enum HTMLHelpCommand HH_DISPLAY_TOPIC = 0 HH_DISPLAY_TOC = 1 HH_DISPLAY_INDEX = 2 HH_DISPLAY_SEARCH = 3 HH_HELP_CONTEXT = &HF HH_CLOSE_ALL = &H12 End Enum !!!!Notes: None. !!!!Tips & Tricks: Article@support "How to use the unmanaged HTML Help API from a managed Visual C# application" on support.microsoft.com !!!!Sample Code: VB HTMLHelp(Nothing, filePath, HTMLHelpCommand.HH_HELP_CONTEXT, contextID) or HTMLHelp(Nothing, filePath, HTMLHelpCommand.HH_DISPLAY_TOC, 0) C# HtmlHelp(IntPtr.Zero, filePath, HTMLHelpCommand.HH_HELP_CONTEXT, contextID) or HtmlHelp(IntPtr.Zero, filePath, HTMLHelpCommand.HH_DISPLAY_TOC, 0) !!!!Alternative Managed API: System.Windows.Forms.Help.ShowHelp() Documentation: Summary: Open Context Popup Help !!!!C# Signature: [DllImport("hhctrl.ocx", SetLastError = true, EntryPoint = "HtmlHelpW", CharSet = CharSet.Unicode)] static extern int HtmlHelp( IntPtr hWndCaller, [MarshalAs(UnmanagedType.LPWStr)] string pszFile, HTMLHelpCommand uCommand, [MarshalAs(UnmanagedType.LPStruct)] HH_POPUP dwData); !!!!User-Defined Types: [StructLayout(LayoutKind.Sequential), CLSCompliant(false)] struct COLORREF { uint _ColorRef; public COLORREF(Color aValue) { int lRGB = aValue.ToArgb(); int n0 = (lRGB & 0xff) << 16; lRGB = lRGB & 0xffff00; lRGB = (lRGB | (lRGB >> 16 & 0xff)); lRGB = (lRGB & 0xffff); lRGB = (lRGB | n0); _ColorRef = (uint)lRGB; } public COLORREF(int lRGB) { _ColorRef = (uint)lRGB; } public Color ToColor() { int r = (int)_ColorRef & 0xff; int g = ((int)_ColorRef >> 8) & 0xff; int b = ((int)_ColorRef >> 16) & 0xff; return Color.FromArgb(r, g, b); } public static COLORREF FromColor(System.Drawing.Color aColor) { return new COLORREF(aColor); } public static System.Drawing.Color ToColor(COLORREF aColorRef) { return aColorRef.ToColor(); } } [StructLayout(LayoutKind.Sequential)] class POINT { public int x; public int y; public POINT() { } public POINT(int x, int y) { this.x = x; this.y = y; } } [StructLayout(LayoutKind.Sequential)] struct RECT { public int left; public int top; public int right; public int bottom; public RECT(int left, int top, int right, int bottom) { this.left = left; this.top = top; this.right = right; this.bottom = bottom; } public RECT(Rectangle r) { this.left = r.Left; this.top = r.Top; this.right = r.Right; this.bottom = r.Bottom; } public static RECT FromXYWH(int x, int y, int width, int height) { return new RECT(x, y, x + width, y + height); } public Size Size { get { return new Size(this.right - this.left, this.bottom - this.top); } } } [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)] class HH_POPUP { internal int cbStruct = Marshal.SizeOf(typeof(HH_POPUP)); internal IntPtr hinst = IntPtr.Zero; internal int idString; [MarshalAs(UnmanagedType.LPWStr)] internal string pszText; internal POINT pt; internal COLORREF clrForeground = new COLORREF(-1); internal COLORREF clrBackground = new COLORREF(-1); internal RECT rcMargins = RECT.FromXYWH(-1, -1, -1, -1); [MarshalAs(UnmanagedType.LPWStr)] internal string pszFont; } !!!!Notes: None. !!!!Tips & Tricks: Article@support "How to use the unmanaged HTML Help API from a managed Visual C# application" on support.microsoft.com !!!!Sample Code: C# Color back_сolor_for_popup_window = Color.FromArgb(255, 255, 192); // yellow background, as in windows Point current_cursor_location = Control.MousePosition; HH_POPUP param = new HH_POPUP(); param.pszText = "Without specifying the font instead of text you may obtain the abracadabra"; param.idString = 0; param.pt = new POINT(current_cursor_location.X, current_cursor_location.Y); param.clrBackground = COLORREF.FromColor(back_сolor_for_popup_window); param.pszFont = "Tahoma,8"; HtmlHelp(IntPtr.Zero, null, HTMLHelpCommand.HH_DISPLAY_TEXT_POPUP, param); !!!!Alternative Managed API: System.Windows.Forms.Help.ShowPopup() Documentation:
Edit hhctrl.HtmlHelp
You do not have permission to change this page. If you feel this is in error, please send feedback with the contact link on the main page.