00001
00002
00003
00004
00005 #if _MSC_VER > 1000
00006 #pragma once
00007 #endif
00008
00009 #ifndef __HTMLHELP_H__
00010 #define __HTMLHELP_H__
00011
00012 #ifdef __cplusplus
00013 extern "C" {
00014 #endif
00015
00016 #ifndef _WIN64
00017 #define DWORD_PTR DWORD
00018 #endif
00019
00020 #define HH_DISPLAY_TOPIC 0x0000
00021 #define HH_HELP_FINDER 0x0000
00022 #define HH_DISPLAY_TOC 0x0001
00023 #define HH_DISPLAY_INDEX 0x0002
00024 #define HH_DISPLAY_SEARCH 0x0003
00025 #define HH_SET_WIN_TYPE 0x0004
00026 #define HH_GET_WIN_TYPE 0x0005
00027 #define HH_GET_WIN_HANDLE 0x0006
00028 #define HH_ENUM_INFO_TYPE 0x0007
00029 #define HH_SET_INFO_TYPE 0x0008
00030 #define HH_SYNC 0x0009
00031 #define HH_RESERVED1 0x000A
00032 #define HH_RESERVED2 0x000B
00033 #define HH_RESERVED3 0x000C
00034 #define HH_KEYWORD_LOOKUP 0x000D
00035 #define HH_DISPLAY_TEXT_POPUP 0x000E
00036 #define HH_HELP_CONTEXT 0x000F
00037 #define HH_TP_HELP_CONTEXTMENU 0x0010
00038 #define HH_TP_HELP_WM_HELP 0x0011
00039 #define HH_CLOSE_ALL 0x0012
00040 #define HH_ALINK_LOOKUP 0x0013
00041 #define HH_GET_LAST_ERROR 0x0014
00042 #define HH_ENUM_CATEGORY 0x0015
00043 #define HH_ENUM_CATEGORY_IT 0x0016
00044 #define HH_RESET_IT_FILTER 0x0017
00045 #define HH_SET_INCLUSIVE_FILTER 0x0018
00046 #define HH_SET_EXCLUSIVE_FILTER 0x0019
00047 #define HH_INITIALIZE 0x001C
00048 #define HH_UNINITIALIZE 0x001D
00049 #define HH_PRETRANSLATEMESSAGE 0x00fd
00050 #define HH_SET_GLOBAL_PROPERTY 0x00fc
00051
00052 #define HHWIN_PROP_TAB_AUTOHIDESHOW (1 << 0)
00053 #define HHWIN_PROP_ONTOP (1 << 1)
00054 #define HHWIN_PROP_NOTITLEBAR (1 << 2)
00055 #define HHWIN_PROP_NODEF_STYLES (1 << 3)
00056 #define HHWIN_PROP_NODEF_EXSTYLES (1 << 4)
00057 #define HHWIN_PROP_TRI_PANE (1 << 5)
00058 #define HHWIN_PROP_NOTB_TEXT (1 << 6)
00059 #define HHWIN_PROP_POST_QUIT (1 << 7)
00060 #define HHWIN_PROP_AUTO_SYNC (1 << 8)
00061 #define HHWIN_PROP_TRACKING (1 << 9)
00062 #define HHWIN_PROP_TAB_SEARCH (1 << 10)
00063 #define HHWIN_PROP_TAB_HISTORY (1 << 11)
00064 #define HHWIN_PROP_TAB_FAVORITES (1 << 12)
00065 #define HHWIN_PROP_CHANGE_TITLE (1 << 13)
00066 #define HHWIN_PROP_NAV_ONLY_WIN (1 << 14)
00067 #define HHWIN_PROP_NO_TOOLBAR (1 << 15)
00068 #define HHWIN_PROP_MENU (1 << 16)
00069 #define HHWIN_PROP_TAB_ADVSEARCH (1 << 17)
00070 #define HHWIN_PROP_USER_POS (1 << 18)
00071 #define HHWIN_PROP_TAB_CUSTOM1 (1 << 19)
00072 #define HHWIN_PROP_TAB_CUSTOM2 (1 << 20)
00073 #define HHWIN_PROP_TAB_CUSTOM3 (1 << 21)
00074 #define HHWIN_PROP_TAB_CUSTOM4 (1 << 22)
00075 #define HHWIN_PROP_TAB_CUSTOM5 (1 << 23)
00076 #define HHWIN_PROP_TAB_CUSTOM6 (1 << 24)
00077 #define HHWIN_PROP_TAB_CUSTOM7 (1 << 25)
00078 #define HHWIN_PROP_TAB_CUSTOM8 (1 << 26)
00079 #define HHWIN_PROP_TAB_CUSTOM9 (1 << 27)
00080 #define HHWIN_TB_MARGIN (1 << 28)
00081
00082 #define HHWIN_PARAM_PROPERTIES (1 << 1)
00083 #define HHWIN_PARAM_STYLES (1 << 2)
00084 #define HHWIN_PARAM_EXSTYLES (1 << 3)
00085 #define HHWIN_PARAM_RECT (1 << 4)
00086 #define HHWIN_PARAM_NAV_WIDTH (1 << 5)
00087 #define HHWIN_PARAM_SHOWSTATE (1 << 6)
00088 #define HHWIN_PARAM_INFOTYPES (1 << 7)
00089 #define HHWIN_PARAM_TB_FLAGS (1 << 8)
00090 #define HHWIN_PARAM_EXPANSION (1 << 9)
00091 #define HHWIN_PARAM_TABPOS (1 << 10)
00092 #define HHWIN_PARAM_TABORDER (1 << 11)
00093 #define HHWIN_PARAM_HISTORY_COUNT (1 << 12)
00094 #define HHWIN_PARAM_CUR_TAB (1 << 13)
00095
00096 #define HHWIN_BUTTON_EXPAND (1 << 1)
00097 #define HHWIN_BUTTON_BACK (1 << 2)
00098 #define HHWIN_BUTTON_FORWARD (1 << 3)
00099 #define HHWIN_BUTTON_STOP (1 << 4)
00100 #define HHWIN_BUTTON_REFRESH (1 << 5)
00101 #define HHWIN_BUTTON_HOME (1 << 6)
00102 #define HHWIN_BUTTON_BROWSE_FWD (1 << 7)
00103 #define HHWIN_BUTTON_BROWSE_BCK (1 << 8)
00104 #define HHWIN_BUTTON_NOTES (1 << 9)
00105 #define HHWIN_BUTTON_CONTENTS (1 << 10)
00106 #define HHWIN_BUTTON_SYNC (1 << 11)
00107 #define HHWIN_BUTTON_OPTIONS (1 << 12)
00108 #define HHWIN_BUTTON_PRINT (1 << 13)
00109 #define HHWIN_BUTTON_INDEX (1 << 14)
00110 #define HHWIN_BUTTON_SEARCH (1 << 15)
00111 #define HHWIN_BUTTON_HISTORY (1 << 16)
00112 #define HHWIN_BUTTON_FAVORITES (1 << 17)
00113 #define HHWIN_BUTTON_JUMP1 (1 << 18)
00114 #define HHWIN_BUTTON_JUMP2 (1 << 19)
00115 #define HHWIN_BUTTON_ZOOM (1 << 20)
00116 #define HHWIN_BUTTON_TOC_NEXT (1 << 21)
00117 #define HHWIN_BUTTON_TOC_PREV (1 << 22)
00118
00119 #define HHWIN_DEF_BUTTONS \
00120 (HHWIN_BUTTON_EXPAND | \
00121 HHWIN_BUTTON_BACK | \
00122 HHWIN_BUTTON_OPTIONS | \
00123 HHWIN_BUTTON_PRINT)
00124
00125 #define IDTB_EXPAND 200
00126 #define IDTB_CONTRACT 201
00127 #define IDTB_STOP 202
00128 #define IDTB_REFRESH 203
00129 #define IDTB_BACK 204
00130 #define IDTB_HOME 205
00131 #define IDTB_SYNC 206
00132 #define IDTB_PRINT 207
00133 #define IDTB_OPTIONS 208
00134 #define IDTB_FORWARD 209
00135 #define IDTB_NOTES 210
00136 #define IDTB_BROWSE_FWD 211
00137 #define IDTB_BROWSE_BACK 212
00138 #define IDTB_CONTENTS 213
00139 #define IDTB_INDEX 214
00140 #define IDTB_SEARCH 215
00141 #define IDTB_HISTORY 216
00142 #define IDTB_FAVORITES 217
00143 #define IDTB_JUMP1 218
00144 #define IDTB_JUMP2 219
00145 #define IDTB_CUSTOMIZE 221
00146 #define IDTB_ZOOM 222
00147 #define IDTB_TOC_NEXT 223
00148 #define IDTB_TOC_PREV 224
00149
00150 #define HHN_FIRST (0U-860U)
00151 #define HHN_LAST (0U-879U)
00152
00153 #define HHN_NAVCOMPLETE (HHN_FIRST-0)
00154 #define HHN_TRACK (HHN_FIRST-1)
00155 #define HHN_WINDOW_CREATE (HHN_FIRST-2)
00156
00157 typedef struct tagHHN_NOTIFY
00158 {
00159 NMHDR hdr;
00160 PCSTR pszUrl;
00161 } HHN_NOTIFY;
00162
00163 typedef struct tagHH_POPUP
00164 {
00165 int cbStruct;
00166 HINSTANCE hinst;
00167 UINT idString;
00168 LPCTSTR pszText;
00169 POINT pt;
00170 COLORREF clrForeground;
00171 COLORREF clrBackground;
00172 RECT rcMargins;
00173 LPCTSTR pszFont;
00174 } HH_POPUP;
00175
00176 typedef struct tagHH_AKLINK
00177 {
00178 int cbStruct;
00179 BOOL fReserved;
00180 LPCTSTR pszKeywords;
00181 LPCTSTR pszUrl;
00182 LPCTSTR pszMsgText;
00183 LPCTSTR pszMsgTitle;
00184 LPCTSTR pszWindow;
00185 BOOL fIndexOnFail;
00186 } HH_AKLINK;
00187
00188 enum {
00189 HHWIN_NAVTYPE_TOC,
00190 HHWIN_NAVTYPE_INDEX,
00191 HHWIN_NAVTYPE_SEARCH,
00192 HHWIN_NAVTYPE_FAVORITES,
00193 HHWIN_NAVTYPE_HISTORY,
00194 HHWIN_NAVTYPE_AUTHOR,
00195 HHWIN_NAVTYPE_CUSTOM_FIRST = 11
00196 };
00197
00198 enum {
00199 IT_INCLUSIVE,
00200 IT_EXCLUSIVE,
00201 IT_HIDDEN,
00202 };
00203
00204 typedef struct tagHH_ENUM_IT
00205 {
00206 int cbStruct;
00207 int iType;
00208 LPCSTR pszCatName;
00209 LPCSTR pszITName;
00210 LPCSTR pszITDescription;
00211 } HH_ENUM_IT, *PHH_ENUM_IT;
00212
00213 typedef struct tagHH_ENUM_CAT
00214 {
00215 int cbStruct;
00216 LPCSTR pszCatName;
00217 LPCSTR pszCatDescription;
00218 } HH_ENUM_CAT, *PHH_ENUM_CAT;
00219
00220 typedef struct tagHH_SET_INFOTYPE
00221 {
00222 int cbStruct;
00223 LPCSTR pszCatName;
00224 LPCSTR pszInfoTypeName;
00225 } HH_SET_INFOTYPE, *PHH_SET_INFOTYPE;
00226
00227 typedef DWORD HH_INFOTYPE;
00228 typedef HH_INFOTYPE* PHH_INFOTYPE;
00229
00230 enum {
00231 HHWIN_NAVTAB_TOP,
00232 HHWIN_NAVTAB_LEFT,
00233 HHWIN_NAVTAB_BOTTOM,
00234 };
00235
00236 #define HH_MAX_TABS 19
00237
00238 enum {
00239 HH_TAB_CONTENTS,
00240 HH_TAB_INDEX,
00241 HH_TAB_SEARCH,
00242 HH_TAB_FAVORITES,
00243 HH_TAB_HISTORY,
00244 HH_TAB_AUTHOR,
00245
00246 HH_TAB_CUSTOM_FIRST = 11,
00247 HH_TAB_CUSTOM_LAST = HH_MAX_TABS
00248 };
00249
00250 #define HH_MAX_TABS_CUSTOM (HH_TAB_CUSTOM_LAST - HH_TAB_CUSTOM_FIRST + 1)
00251
00252 #define HH_FTS_DEFAULT_PROXIMITY (-1)
00253
00254 typedef struct tagHH_FTS_QUERY
00255 {
00256 int cbStruct;
00257 BOOL fUniCodeStrings;
00258 LPCTSTR pszSearchQuery;
00259 LONG iProximity;
00260 BOOL fStemmedSearch;
00261 BOOL fTitleOnly;
00262 BOOL fExecute;
00263 LPCTSTR pszWindow;
00264 } HH_FTS_QUERY;
00265
00266 typedef struct tagHH_WINTYPE {
00267 int cbStruct;
00268 BOOL fUniCodeStrings;
00269 LPCTSTR pszType;
00270 DWORD fsValidMembers;
00271 DWORD fsWinProperties;
00272
00273 LPCTSTR pszCaption;
00274 DWORD dwStyles;
00275 DWORD dwExStyles;
00276 RECT rcWindowPos;
00277 int nShowState;
00278
00279 HWND hwndHelp;
00280 HWND hwndCaller;
00281
00282 HH_INFOTYPE* paInfoTypes;
00283
00284
00285
00286 HWND hwndToolBar;
00287 HWND hwndNavigation;
00288 HWND hwndHTML;
00289 int iNavWidth;
00290 RECT rcHTML;
00291
00292 LPCTSTR pszToc;
00293 LPCTSTR pszIndex;
00294 LPCTSTR pszFile;
00295 LPCTSTR pszHome;
00296 DWORD fsToolBarFlags;
00297 BOOL fNotExpanded;
00298 int curNavType;
00299 int tabpos;
00300 int idNotify;
00301 BYTE tabOrder[HH_MAX_TABS + 1];
00302 int cHistory;
00303 LPCTSTR pszJump1;
00304 LPCTSTR pszJump2;
00305 LPCTSTR pszUrlJump1;
00306 LPCTSTR pszUrlJump2;
00307 RECT rcMinSize;
00308 int cbInfoTypes;
00309 LPCTSTR pszCustomTabs;
00310 } HH_WINTYPE, *PHH_WINTYPE;
00311
00312 enum {
00313 HHACT_TAB_CONTENTS,
00314 HHACT_TAB_INDEX,
00315 HHACT_TAB_SEARCH,
00316 HHACT_TAB_HISTORY,
00317 HHACT_TAB_FAVORITES,
00318
00319 HHACT_EXPAND,
00320 HHACT_CONTRACT,
00321 HHACT_BACK,
00322 HHACT_FORWARD,
00323 HHACT_STOP,
00324 HHACT_REFRESH,
00325 HHACT_HOME,
00326 HHACT_SYNC,
00327 HHACT_OPTIONS,
00328 HHACT_PRINT,
00329 HHACT_HIGHLIGHT,
00330 HHACT_CUSTOMIZE,
00331 HHACT_JUMP1,
00332 HHACT_JUMP2,
00333 HHACT_ZOOM,
00334 HHACT_TOC_NEXT,
00335 HHACT_TOC_PREV,
00336 HHACT_NOTES,
00337
00338 HHACT_LAST_ENUM,
00339 };
00340
00341 typedef struct tagHHNTRACK
00342 {
00343 NMHDR hdr;
00344 PCSTR pszCurUrl;
00345 int idAction;
00346 HH_WINTYPE* phhWinType;
00347 } HHNTRACK;
00348
00349 HWND
00350 WINAPI
00351 HtmlHelpA(
00352 HWND hwndCaller,
00353 LPCSTR pszFile,
00354 UINT uCommand,
00355 DWORD_PTR dwData
00356 );
00357
00358 HWND
00359 WINAPI
00360 HtmlHelpW(
00361 HWND hwndCaller,
00362 LPCWSTR pszFile,
00363 UINT uCommand,
00364 DWORD_PTR dwData
00365 );
00366 #ifdef UNICODE
00367 #define HtmlHelp HtmlHelpW
00368 #else
00369 #define HtmlHelp HtmlHelpA
00370 #endif
00371
00372 #define ATOM_HTMLHELP_API_ANSI (LPTSTR)((DWORD)((WORD)(14)))
00373 #define ATOM_HTMLHELP_API_UNICODE (LPTSTR)((DWORD)((WORD)(15)))
00374
00375 typedef enum tagHH_GPROPID
00376 {
00377 HH_GPROPID_SINGLETHREAD=1,
00378 HH_GPROPID_TOOLBAR_MARGIN=2,
00379 HH_GPROPID_UI_LANGUAGE=3,
00380 HH_GPROPID_CURRENT_SUBSET=4,
00381 HH_GPROPID_CONTENT_LANGUAGE=5
00382 } HH_GPROPID;
00383
00384 #ifdef __oaidl_h__
00385
00386 #pragma pack(push, 8)
00387
00388 typedef struct tagHH_GLOBAL_PROPERTY
00389 {
00390 HH_GPROPID id;
00391 VARIANT var;
00392 } HH_GLOBAL_PROPERTY ;
00393
00394 #pragma pack(pop)
00395 #endif
00396
00397 #ifdef __cplusplus
00398 }
00399 #endif
00400
00401 #endif