Real-time collaboration for Jupyter Notebooks, Linux Terminals, LaTeX, VS Code, R IDE, and more,
all in one place.
Real-time collaboration for Jupyter Notebooks, Linux Terminals, LaTeX, VS Code, R IDE, and more,
all in one place.
Path: blob/master/external/source/vncdll/winvnc/HtmlHelp.h
Views: 11780
/****************************************************************************1* *2* HtmlHelp.h *3* *4* Copyright (c) 1996-1997, Microsoft Corp. All rights reserved. *5* *6****************************************************************************/78#if _MSC_VER > 10009#pragma once10#endif1112#ifndef __HTMLHELP_H__13#define __HTMLHELP_H__1415#ifdef __cplusplus16extern "C" {17#endif // __cplusplus1819// Defines for Win6420#ifndef _WIN6421#define DWORD_PTR DWORD22#endif2324// Commands to pass to HtmlHelp()2526#define HH_DISPLAY_TOPIC 0x000027#define HH_HELP_FINDER 0x0000 // WinHelp equivalent28#define HH_DISPLAY_TOC 0x000129#define HH_DISPLAY_INDEX 0x000230#define HH_DISPLAY_SEARCH 0x000331#define HH_SET_WIN_TYPE 0x000432#define HH_GET_WIN_TYPE 0x000533#define HH_GET_WIN_HANDLE 0x000634#define HH_ENUM_INFO_TYPE 0x0007 // Get Info type name, call repeatedly to enumerate, -1 at end35#define HH_SET_INFO_TYPE 0x0008 // Add Info type to filter.36#define HH_SYNC 0x000937#define HH_RESERVED1 0x000A38#define HH_RESERVED2 0x000B39#define HH_RESERVED3 0x000C40#define HH_KEYWORD_LOOKUP 0x000D41#define HH_DISPLAY_TEXT_POPUP 0x000E // display string resource id or text in a popup window42#define HH_HELP_CONTEXT 0x000F // display mapped numeric value in dwData43#define HH_TP_HELP_CONTEXTMENU 0x0010 // text popup help, same as WinHelp HELP_CONTEXTMENU44#define HH_TP_HELP_WM_HELP 0x0011 // text popup help, same as WinHelp HELP_WM_HELP45#define HH_CLOSE_ALL 0x0012 // close all windows opened directly or indirectly by the caller46#define HH_ALINK_LOOKUP 0x0013 // ALink version of HH_KEYWORD_LOOKUP47#define HH_GET_LAST_ERROR 0x0014 // not currently implemented // See HHERROR.h48#define HH_ENUM_CATEGORY 0x0015 // Get category name, call repeatedly to enumerate, -1 at end49#define HH_ENUM_CATEGORY_IT 0x0016 // Get category info type members, call repeatedly to enumerate, -1 at end50#define HH_RESET_IT_FILTER 0x0017 // Clear the info type filter of all info types.51#define HH_SET_INCLUSIVE_FILTER 0x0018 // set inclusive filtering method for untyped topics to be included in display52#define HH_SET_EXCLUSIVE_FILTER 0x0019 // set exclusive filtering method for untyped topics to be excluded from display53#define HH_INITIALIZE 0x001C // Initializes the help system.54#define HH_UNINITIALIZE 0x001D // Uninitializes the help system.55#define HH_PRETRANSLATEMESSAGE 0x00fd // Pumps messages. (NULL, NULL, MSG*).56#define HH_SET_GLOBAL_PROPERTY 0x00fc // Set a global property. (NULL, NULL, HH_GPROP)5758#define HHWIN_PROP_TAB_AUTOHIDESHOW (1 << 0) // Automatically hide/show tri-pane window59#define HHWIN_PROP_ONTOP (1 << 1) // Top-most window60#define HHWIN_PROP_NOTITLEBAR (1 << 2) // no title bar61#define HHWIN_PROP_NODEF_STYLES (1 << 3) // no default window styles (only HH_WINTYPE.dwStyles)62#define HHWIN_PROP_NODEF_EXSTYLES (1 << 4) // no default extended window styles (only HH_WINTYPE.dwExStyles)63#define HHWIN_PROP_TRI_PANE (1 << 5) // use a tri-pane window64#define HHWIN_PROP_NOTB_TEXT (1 << 6) // no text on toolbar buttons65#define HHWIN_PROP_POST_QUIT (1 << 7) // post WM_QUIT message when window closes66#define HHWIN_PROP_AUTO_SYNC (1 << 8) // automatically ssync contents and index67#define HHWIN_PROP_TRACKING (1 << 9) // send tracking notification messages68#define HHWIN_PROP_TAB_SEARCH (1 << 10) // include search tab in navigation pane69#define HHWIN_PROP_TAB_HISTORY (1 << 11) // include history tab in navigation pane70#define HHWIN_PROP_TAB_FAVORITES (1 << 12) // include favorites tab in navigation pane71#define HHWIN_PROP_CHANGE_TITLE (1 << 13) // Put current HTML title in title bar72#define HHWIN_PROP_NAV_ONLY_WIN (1 << 14) // Only display the navigation window73#define HHWIN_PROP_NO_TOOLBAR (1 << 15) // Don't display a toolbar74#define HHWIN_PROP_MENU (1 << 16) // Menu75#define HHWIN_PROP_TAB_ADVSEARCH (1 << 17) // Advanced FTS UI.76#define HHWIN_PROP_USER_POS (1 << 18) // After initial creation, user controls window size/position77#define HHWIN_PROP_TAB_CUSTOM1 (1 << 19) // Use custom tab #178#define HHWIN_PROP_TAB_CUSTOM2 (1 << 20) // Use custom tab #279#define HHWIN_PROP_TAB_CUSTOM3 (1 << 21) // Use custom tab #380#define HHWIN_PROP_TAB_CUSTOM4 (1 << 22) // Use custom tab #481#define HHWIN_PROP_TAB_CUSTOM5 (1 << 23) // Use custom tab #582#define HHWIN_PROP_TAB_CUSTOM6 (1 << 24) // Use custom tab #683#define HHWIN_PROP_TAB_CUSTOM7 (1 << 25) // Use custom tab #784#define HHWIN_PROP_TAB_CUSTOM8 (1 << 26) // Use custom tab #885#define HHWIN_PROP_TAB_CUSTOM9 (1 << 27) // Use custom tab #986#define HHWIN_TB_MARGIN (1 << 28) // the window type has a margin8788#define HHWIN_PARAM_PROPERTIES (1 << 1) // valid fsWinProperties89#define HHWIN_PARAM_STYLES (1 << 2) // valid dwStyles90#define HHWIN_PARAM_EXSTYLES (1 << 3) // valid dwExStyles91#define HHWIN_PARAM_RECT (1 << 4) // valid rcWindowPos92#define HHWIN_PARAM_NAV_WIDTH (1 << 5) // valid iNavWidth93#define HHWIN_PARAM_SHOWSTATE (1 << 6) // valid nShowState94#define HHWIN_PARAM_INFOTYPES (1 << 7) // valid apInfoTypes95#define HHWIN_PARAM_TB_FLAGS (1 << 8) // valid fsToolBarFlags96#define HHWIN_PARAM_EXPANSION (1 << 9) // valid fNotExpanded97#define HHWIN_PARAM_TABPOS (1 << 10) // valid tabpos98#define HHWIN_PARAM_TABORDER (1 << 11) // valid taborder99#define HHWIN_PARAM_HISTORY_COUNT (1 << 12) // valid cHistory100#define HHWIN_PARAM_CUR_TAB (1 << 13) // valid curNavType101102#define HHWIN_BUTTON_EXPAND (1 << 1) // Expand/contract button103#define HHWIN_BUTTON_BACK (1 << 2) // Back button104#define HHWIN_BUTTON_FORWARD (1 << 3) // Forward button105#define HHWIN_BUTTON_STOP (1 << 4) // Stop button106#define HHWIN_BUTTON_REFRESH (1 << 5) // Refresh button107#define HHWIN_BUTTON_HOME (1 << 6) // Home button108#define HHWIN_BUTTON_BROWSE_FWD (1 << 7) // not implemented109#define HHWIN_BUTTON_BROWSE_BCK (1 << 8) // not implemented110#define HHWIN_BUTTON_NOTES (1 << 9) // not implemented111#define HHWIN_BUTTON_CONTENTS (1 << 10) // not implemented112#define HHWIN_BUTTON_SYNC (1 << 11) // Sync button113#define HHWIN_BUTTON_OPTIONS (1 << 12) // Options button114#define HHWIN_BUTTON_PRINT (1 << 13) // Print button115#define HHWIN_BUTTON_INDEX (1 << 14) // not implemented116#define HHWIN_BUTTON_SEARCH (1 << 15) // not implemented117#define HHWIN_BUTTON_HISTORY (1 << 16) // not implemented118#define HHWIN_BUTTON_FAVORITES (1 << 17) // not implemented119#define HHWIN_BUTTON_JUMP1 (1 << 18)120#define HHWIN_BUTTON_JUMP2 (1 << 19)121#define HHWIN_BUTTON_ZOOM (1 << 20)122#define HHWIN_BUTTON_TOC_NEXT (1 << 21)123#define HHWIN_BUTTON_TOC_PREV (1 << 22)124125#define HHWIN_DEF_BUTTONS \126(HHWIN_BUTTON_EXPAND | \127HHWIN_BUTTON_BACK | \128HHWIN_BUTTON_OPTIONS | \129HHWIN_BUTTON_PRINT)130131// Button IDs132133#define IDTB_EXPAND 200134#define IDTB_CONTRACT 201135#define IDTB_STOP 202136#define IDTB_REFRESH 203137#define IDTB_BACK 204138#define IDTB_HOME 205139#define IDTB_SYNC 206140#define IDTB_PRINT 207141#define IDTB_OPTIONS 208142#define IDTB_FORWARD 209143#define IDTB_NOTES 210 // not implemented144#define IDTB_BROWSE_FWD 211145#define IDTB_BROWSE_BACK 212146#define IDTB_CONTENTS 213 // not implemented147#define IDTB_INDEX 214 // not implemented148#define IDTB_SEARCH 215 // not implemented149#define IDTB_HISTORY 216 // not implemented150#define IDTB_FAVORITES 217 // not implemented151#define IDTB_JUMP1 218152#define IDTB_JUMP2 219153#define IDTB_CUSTOMIZE 221154#define IDTB_ZOOM 222155#define IDTB_TOC_NEXT 223156#define IDTB_TOC_PREV 224157158// Notification codes159160#define HHN_FIRST (0U-860U)161#define HHN_LAST (0U-879U)162163#define HHN_NAVCOMPLETE (HHN_FIRST-0)164#define HHN_TRACK (HHN_FIRST-1)165#define HHN_WINDOW_CREATE (HHN_FIRST-2)166167typedef struct tagHHN_NOTIFY168{169NMHDR hdr;170PCSTR pszUrl; // Multi-byte, null-terminated string171} HHN_NOTIFY;172173typedef struct tagHH_POPUP174{175int cbStruct; // sizeof this structure176HINSTANCE hinst; // instance handle for string resource177UINT idString; // string resource id, or text id if pszFile is specified in HtmlHelp call178LPCTSTR pszText; // used if idString is zero179POINT pt; // top center of popup window180COLORREF clrForeground; // use -1 for default181COLORREF clrBackground; // use -1 for default182RECT rcMargins; // amount of space between edges of window and text, -1 for each member to ignore183LPCTSTR pszFont; // facename, point size, char set, BOLD ITALIC UNDERLINE184} HH_POPUP;185186typedef struct tagHH_AKLINK187{188int cbStruct; // sizeof this structure189BOOL fReserved; // must be FALSE (really!)190LPCTSTR pszKeywords; // semi-colon separated keywords191LPCTSTR pszUrl; // URL to jump to if no keywords found (may be NULL)192LPCTSTR pszMsgText; // Message text to display in MessageBox if pszUrl is NULL and no keyword match193LPCTSTR pszMsgTitle; // Message text to display in MessageBox if pszUrl is NULL and no keyword match194LPCTSTR pszWindow; // Window to display URL in195BOOL fIndexOnFail; // Displays index if keyword lookup fails.196} HH_AKLINK;197198enum {199HHWIN_NAVTYPE_TOC,200HHWIN_NAVTYPE_INDEX,201HHWIN_NAVTYPE_SEARCH,202HHWIN_NAVTYPE_FAVORITES,203HHWIN_NAVTYPE_HISTORY, // not implemented204HHWIN_NAVTYPE_AUTHOR,205HHWIN_NAVTYPE_CUSTOM_FIRST = 11206};207208enum {209IT_INCLUSIVE,210IT_EXCLUSIVE,211IT_HIDDEN,212};213214typedef struct tagHH_ENUM_IT215{216int cbStruct; // size of this structure217int iType; // the type of the information type ie. Inclusive, Exclusive, or Hidden218LPCSTR pszCatName; // Set to the name of the Category to enumerate the info types in a category; else NULL219LPCSTR pszITName; // volitile pointer to the name of the infotype. Allocated by call. Caller responsible for freeing220LPCSTR pszITDescription; // volitile pointer to the description of the infotype.221} HH_ENUM_IT, *PHH_ENUM_IT;222223typedef struct tagHH_ENUM_CAT224{225int cbStruct; // size of this structure226LPCSTR pszCatName; // volitile pointer to the category name227LPCSTR pszCatDescription; // volitile pointer to the category description228} HH_ENUM_CAT, *PHH_ENUM_CAT;229230typedef struct tagHH_SET_INFOTYPE231{232int cbStruct; // the size of this structure233LPCSTR pszCatName; // the name of the category, if any, the InfoType is a member of.234LPCSTR pszInfoTypeName; // the name of the info type to add to the filter235} HH_SET_INFOTYPE, *PHH_SET_INFOTYPE;236237typedef DWORD HH_INFOTYPE;238typedef HH_INFOTYPE* PHH_INFOTYPE;239240enum {241HHWIN_NAVTAB_TOP,242HHWIN_NAVTAB_LEFT,243HHWIN_NAVTAB_BOTTOM,244};245246#define HH_MAX_TABS 19 // maximum number of tabs247248enum {249HH_TAB_CONTENTS,250HH_TAB_INDEX,251HH_TAB_SEARCH,252HH_TAB_FAVORITES,253HH_TAB_HISTORY,254HH_TAB_AUTHOR,255256HH_TAB_CUSTOM_FIRST = 11,257HH_TAB_CUSTOM_LAST = HH_MAX_TABS258};259260#define HH_MAX_TABS_CUSTOM (HH_TAB_CUSTOM_LAST - HH_TAB_CUSTOM_FIRST + 1)261262// HH_DISPLAY_SEARCH Command Related Structures and Constants263264#define HH_FTS_DEFAULT_PROXIMITY (-1)265266typedef struct tagHH_FTS_QUERY267{268int cbStruct; // Sizeof structure in bytes.269BOOL fUniCodeStrings; // TRUE if all strings are unicode.270LPCTSTR pszSearchQuery; // String containing the search query.271LONG iProximity; // Word proximity.272BOOL fStemmedSearch; // TRUE for StemmedSearch only.273BOOL fTitleOnly; // TRUE for Title search only.274BOOL fExecute; // TRUE to initiate the search.275LPCTSTR pszWindow; // Window to display in276} HH_FTS_QUERY;277278// HH_WINTYPE Structure279280typedef struct tagHH_WINTYPE {281int cbStruct; // IN: size of this structure including all Information Types282BOOL fUniCodeStrings; // IN/OUT: TRUE if all strings are in UNICODE283LPCTSTR pszType; // IN/OUT: Name of a type of window284DWORD fsValidMembers; // IN: Bit flag of valid members (HHWIN_PARAM_)285DWORD fsWinProperties; // IN/OUT: Properties/attributes of the window (HHWIN_)286287LPCTSTR pszCaption; // IN/OUT: Window title288DWORD dwStyles; // IN/OUT: Window styles289DWORD dwExStyles; // IN/OUT: Extended Window styles290RECT rcWindowPos; // IN: Starting position, OUT: current position291int nShowState; // IN: show state (e.g., SW_SHOW)292293HWND hwndHelp; // OUT: window handle294HWND hwndCaller; // OUT: who called this window295296HH_INFOTYPE* paInfoTypes; // IN: Pointer to an array of Information Types297298// The following members are only valid if HHWIN_PROP_TRI_PANE is set299300HWND hwndToolBar; // OUT: toolbar window in tri-pane window301HWND hwndNavigation; // OUT: navigation window in tri-pane window302HWND hwndHTML; // OUT: window displaying HTML in tri-pane window303int iNavWidth; // IN/OUT: width of navigation window304RECT rcHTML; // OUT: HTML window coordinates305306LPCTSTR pszToc; // IN: Location of the table of contents file307LPCTSTR pszIndex; // IN: Location of the index file308LPCTSTR pszFile; // IN: Default location of the html file309LPCTSTR pszHome; // IN/OUT: html file to display when Home button is clicked310DWORD fsToolBarFlags; // IN: flags controling the appearance of the toolbar311BOOL fNotExpanded; // IN: TRUE/FALSE to contract or expand, OUT: current state312int curNavType; // IN/OUT: UI to display in the navigational pane313int tabpos; // IN/OUT: HHWIN_NAVTAB_TOP, HHWIN_NAVTAB_LEFT, or HHWIN_NAVTAB_BOTTOM314int idNotify; // IN: ID to use for WM_NOTIFY messages315BYTE tabOrder[HH_MAX_TABS + 1]; // IN/OUT: tab order: Contents, Index, Search, History, Favorites, Reserved 1-5, Custom tabs316int cHistory; // IN/OUT: number of history items to keep (default is 30)317LPCTSTR pszJump1; // Text for HHWIN_BUTTON_JUMP1318LPCTSTR pszJump2; // Text for HHWIN_BUTTON_JUMP2319LPCTSTR pszUrlJump1; // URL for HHWIN_BUTTON_JUMP1320LPCTSTR pszUrlJump2; // URL for HHWIN_BUTTON_JUMP2321RECT rcMinSize; // Minimum size for window (ignored in version 1)322int cbInfoTypes; // size of paInfoTypes;323LPCTSTR pszCustomTabs; // multiple zero-terminated strings324} HH_WINTYPE, *PHH_WINTYPE;325326enum {327HHACT_TAB_CONTENTS,328HHACT_TAB_INDEX,329HHACT_TAB_SEARCH,330HHACT_TAB_HISTORY,331HHACT_TAB_FAVORITES,332333HHACT_EXPAND,334HHACT_CONTRACT,335HHACT_BACK,336HHACT_FORWARD,337HHACT_STOP,338HHACT_REFRESH,339HHACT_HOME,340HHACT_SYNC,341HHACT_OPTIONS,342HHACT_PRINT,343HHACT_HIGHLIGHT,344HHACT_CUSTOMIZE,345HHACT_JUMP1,346HHACT_JUMP2,347HHACT_ZOOM,348HHACT_TOC_NEXT,349HHACT_TOC_PREV,350HHACT_NOTES,351352HHACT_LAST_ENUM,353};354355typedef struct tagHHNTRACK356{357NMHDR hdr;358PCSTR pszCurUrl; // Multi-byte, null-terminated string359int idAction; // HHACT_ value360HH_WINTYPE* phhWinType; // Current window type structure361} HHNTRACK;362363HWND364WINAPI365HtmlHelpA(366HWND hwndCaller,367LPCSTR pszFile,368UINT uCommand,369DWORD_PTR dwData370);371372HWND373WINAPI374HtmlHelpW(375HWND hwndCaller,376LPCWSTR pszFile,377UINT uCommand,378DWORD_PTR dwData379);380#ifdef UNICODE381#define HtmlHelp HtmlHelpW382#else383#define HtmlHelp HtmlHelpA384#endif // !UNICODE385386// Use the following for GetProcAddress to load from hhctrl.ocx387388#define ATOM_HTMLHELP_API_ANSI (LPTSTR)((DWORD)((WORD)(14)))389#define ATOM_HTMLHELP_API_UNICODE (LPTSTR)((DWORD)((WORD)(15)))390391///////////////////////////////////////////////////////////////////////////////392//393// Global Control Properties.394//395typedef enum tagHH_GPROPID396{397HH_GPROPID_SINGLETHREAD=1, // VARIANT_BOOL: True for single thread398HH_GPROPID_TOOLBAR_MARGIN=2, // long: Provides a left/right margin around the toolbar.399HH_GPROPID_UI_LANGUAGE=3, // long: LangId of the UI.400HH_GPROPID_CURRENT_SUBSET=4, // BSTR: Current subset.401HH_GPROPID_CONTENT_LANGUAGE=5 // long: LandId for desired content.402} HH_GPROPID;403404///////////////////////////////////////////////////////////////////////////////405//406// Global Property structure407//408#ifdef __oaidl_h__409410#pragma pack(push, 8)411412typedef struct tagHH_GLOBAL_PROPERTY413{414HH_GPROPID id;415VARIANT var;416} HH_GLOBAL_PROPERTY ;417418#pragma pack(pop)419#endif420421#ifdef __cplusplus422}423#endif // __cplusplus424425#endif // __HTMLHELP_H__426427428