Develop and Download Open Source Software

Browse Subversion Repository

Contents of /CopalPro/htmlhelp.h

Parent Directory Parent Directory | Revision Log Revision Log


Revision 5 - (show annotations) (download) (as text)
Mon Aug 1 01:25:35 2011 UTC (12 years, 9 months ago) by kaityo
File MIME type: text/x-chdr
File size: 18219 byte(s)
Bugfix on HTMLHhelp
1 /****************************************************************************
2 * *
3 * HtmlHelp.h *
4 * *
5 * Copyright (c) 1996-1997, Microsoft Corp. All rights reserved. *
6 * *
7 ****************************************************************************/
8
9 #if _MSC_VER > 1000
10 #pragma once
11 #endif
12
13 #ifndef __HTMLHELP_H__
14 #define __HTMLHELP_H__
15
16 #ifdef __cplusplus
17 extern "C" {
18 #endif // __cplusplus
19
20 // Defines for Win64
21 #ifndef _WIN64
22 #define DWORD_PTR DWORD
23 #endif
24
25 // Commands to pass to HtmlHelp()
26
27 #define HH_DISPLAY_TOPIC 0x0000
28 #define HH_HELP_FINDER 0x0000 // WinHelp equivalent
29 #define HH_DISPLAY_TOC 0x0001
30 #define HH_DISPLAY_INDEX 0x0002
31 #define HH_DISPLAY_SEARCH 0x0003
32 #define HH_SET_WIN_TYPE 0x0004
33 #define HH_GET_WIN_TYPE 0x0005
34 #define HH_GET_WIN_HANDLE 0x0006
35 #define HH_ENUM_INFO_TYPE 0x0007 // Get Info type name, call repeatedly to enumerate, -1 at end
36 #define HH_SET_INFO_TYPE 0x0008 // Add Info type to filter.
37 #define HH_SYNC 0x0009
38 #define HH_RESERVED1 0x000A
39 #define HH_RESERVED2 0x000B
40 #define HH_RESERVED3 0x000C
41 #define HH_KEYWORD_LOOKUP 0x000D
42 #define HH_DISPLAY_TEXT_POPUP 0x000E // display string resource id or text in a popup window
43 #define HH_HELP_CONTEXT 0x000F // display mapped numeric value in dwData
44 #define HH_TP_HELP_CONTEXTMENU 0x0010 // text popup help, same as WinHelp HELP_CONTEXTMENU
45 #define HH_TP_HELP_WM_HELP 0x0011 // text popup help, same as WinHelp HELP_WM_HELP
46 #define HH_CLOSE_ALL 0x0012 // close all windows opened directly or indirectly by the caller
47 #define HH_ALINK_LOOKUP 0x0013 // ALink version of HH_KEYWORD_LOOKUP
48 #define HH_GET_LAST_ERROR 0x0014 // not currently implemented // See HHERROR.h
49 #define HH_ENUM_CATEGORY 0x0015 // Get category name, call repeatedly to enumerate, -1 at end
50 #define HH_ENUM_CATEGORY_IT 0x0016 // Get category info type members, call repeatedly to enumerate, -1 at end
51 #define HH_RESET_IT_FILTER 0x0017 // Clear the info type filter of all info types.
52 #define HH_SET_INCLUSIVE_FILTER 0x0018 // set inclusive filtering method for untyped topics to be included in display
53 #define HH_SET_EXCLUSIVE_FILTER 0x0019 // set exclusive filtering method for untyped topics to be excluded from display
54 #define HH_INITIALIZE 0x001C // Initializes the help system.
55 #define HH_UNINITIALIZE 0x001D // Uninitializes the help system.
56 #define HH_PRETRANSLATEMESSAGE 0x00fd // Pumps messages. (NULL, NULL, MSG*).
57 #define HH_SET_GLOBAL_PROPERTY 0x00fc // Set a global property. (NULL, NULL, HH_GPROP)
58
59 #define HHWIN_PROP_TAB_AUTOHIDESHOW (1 << 0) // Automatically hide/show tri-pane window
60 #define HHWIN_PROP_ONTOP (1 << 1) // Top-most window
61 #define HHWIN_PROP_NOTITLEBAR (1 << 2) // no title bar
62 #define HHWIN_PROP_NODEF_STYLES (1 << 3) // no default window styles (only HH_WINTYPE.dwStyles)
63 #define HHWIN_PROP_NODEF_EXSTYLES (1 << 4) // no default extended window styles (only HH_WINTYPE.dwExStyles)
64 #define HHWIN_PROP_TRI_PANE (1 << 5) // use a tri-pane window
65 #define HHWIN_PROP_NOTB_TEXT (1 << 6) // no text on toolbar buttons
66 #define HHWIN_PROP_POST_QUIT (1 << 7) // post WM_QUIT message when window closes
67 #define HHWIN_PROP_AUTO_SYNC (1 << 8) // automatically ssync contents and index
68 #define HHWIN_PROP_TRACKING (1 << 9) // send tracking notification messages
69 #define HHWIN_PROP_TAB_SEARCH (1 << 10) // include search tab in navigation pane
70 #define HHWIN_PROP_TAB_HISTORY (1 << 11) // include history tab in navigation pane
71 #define HHWIN_PROP_TAB_FAVORITES (1 << 12) // include favorites tab in navigation pane
72 #define HHWIN_PROP_CHANGE_TITLE (1 << 13) // Put current HTML title in title bar
73 #define HHWIN_PROP_NAV_ONLY_WIN (1 << 14) // Only display the navigation window
74 #define HHWIN_PROP_NO_TOOLBAR (1 << 15) // Don't display a toolbar
75 #define HHWIN_PROP_MENU (1 << 16) // Menu
76 #define HHWIN_PROP_TAB_ADVSEARCH (1 << 17) // Advanced FTS UI.
77 #define HHWIN_PROP_USER_POS (1 << 18) // After initial creation, user controls window size/position
78 #define HHWIN_PROP_TAB_CUSTOM1 (1 << 19) // Use custom tab #1
79 #define HHWIN_PROP_TAB_CUSTOM2 (1 << 20) // Use custom tab #2
80 #define HHWIN_PROP_TAB_CUSTOM3 (1 << 21) // Use custom tab #3
81 #define HHWIN_PROP_TAB_CUSTOM4 (1 << 22) // Use custom tab #4
82 #define HHWIN_PROP_TAB_CUSTOM5 (1 << 23) // Use custom tab #5
83 #define HHWIN_PROP_TAB_CUSTOM6 (1 << 24) // Use custom tab #6
84 #define HHWIN_PROP_TAB_CUSTOM7 (1 << 25) // Use custom tab #7
85 #define HHWIN_PROP_TAB_CUSTOM8 (1 << 26) // Use custom tab #8
86 #define HHWIN_PROP_TAB_CUSTOM9 (1 << 27) // Use custom tab #9
87 #define HHWIN_TB_MARGIN (1 << 28) // the window type has a margin
88
89 #define HHWIN_PARAM_PROPERTIES (1 << 1) // valid fsWinProperties
90 #define HHWIN_PARAM_STYLES (1 << 2) // valid dwStyles
91 #define HHWIN_PARAM_EXSTYLES (1 << 3) // valid dwExStyles
92 #define HHWIN_PARAM_RECT (1 << 4) // valid rcWindowPos
93 #define HHWIN_PARAM_NAV_WIDTH (1 << 5) // valid iNavWidth
94 #define HHWIN_PARAM_SHOWSTATE (1 << 6) // valid nShowState
95 #define HHWIN_PARAM_INFOTYPES (1 << 7) // valid apInfoTypes
96 #define HHWIN_PARAM_TB_FLAGS (1 << 8) // valid fsToolBarFlags
97 #define HHWIN_PARAM_EXPANSION (1 << 9) // valid fNotExpanded
98 #define HHWIN_PARAM_TABPOS (1 << 10) // valid tabpos
99 #define HHWIN_PARAM_TABORDER (1 << 11) // valid taborder
100 #define HHWIN_PARAM_HISTORY_COUNT (1 << 12) // valid cHistory
101 #define HHWIN_PARAM_CUR_TAB (1 << 13) // valid curNavType
102
103 #define HHWIN_BUTTON_EXPAND (1 << 1) // Expand/contract button
104 #define HHWIN_BUTTON_BACK (1 << 2) // Back button
105 #define HHWIN_BUTTON_FORWARD (1 << 3) // Forward button
106 #define HHWIN_BUTTON_STOP (1 << 4) // Stop button
107 #define HHWIN_BUTTON_REFRESH (1 << 5) // Refresh button
108 #define HHWIN_BUTTON_HOME (1 << 6) // Home button
109 #define HHWIN_BUTTON_BROWSE_FWD (1 << 7) // not implemented
110 #define HHWIN_BUTTON_BROWSE_BCK (1 << 8) // not implemented
111 #define HHWIN_BUTTON_NOTES (1 << 9) // not implemented
112 #define HHWIN_BUTTON_CONTENTS (1 << 10) // not implemented
113 #define HHWIN_BUTTON_SYNC (1 << 11) // Sync button
114 #define HHWIN_BUTTON_OPTIONS (1 << 12) // Options button
115 #define HHWIN_BUTTON_PRINT (1 << 13) // Print button
116 #define HHWIN_BUTTON_INDEX (1 << 14) // not implemented
117 #define HHWIN_BUTTON_SEARCH (1 << 15) // not implemented
118 #define HHWIN_BUTTON_HISTORY (1 << 16) // not implemented
119 #define HHWIN_BUTTON_FAVORITES (1 << 17) // not implemented
120 #define HHWIN_BUTTON_JUMP1 (1 << 18)
121 #define HHWIN_BUTTON_JUMP2 (1 << 19)
122 #define HHWIN_BUTTON_ZOOM (1 << 20)
123 #define HHWIN_BUTTON_TOC_NEXT (1 << 21)
124 #define HHWIN_BUTTON_TOC_PREV (1 << 22)
125
126 #define HHWIN_DEF_BUTTONS \
127 (HHWIN_BUTTON_EXPAND | \
128 HHWIN_BUTTON_BACK | \
129 HHWIN_BUTTON_OPTIONS | \
130 HHWIN_BUTTON_PRINT)
131
132 // Button IDs
133
134 #define IDTB_EXPAND 200
135 #define IDTB_CONTRACT 201
136 #define IDTB_STOP 202
137 #define IDTB_REFRESH 203
138 #define IDTB_BACK 204
139 #define IDTB_HOME 205
140 #define IDTB_SYNC 206
141 #define IDTB_PRINT 207
142 #define IDTB_OPTIONS 208
143 #define IDTB_FORWARD 209
144 #define IDTB_NOTES 210 // not implemented
145 #define IDTB_BROWSE_FWD 211
146 #define IDTB_BROWSE_BACK 212
147 #define IDTB_CONTENTS 213 // not implemented
148 #define IDTB_INDEX 214 // not implemented
149 #define IDTB_SEARCH 215 // not implemented
150 #define IDTB_HISTORY 216 // not implemented
151 #define IDTB_FAVORITES 217 // not implemented
152 #define IDTB_JUMP1 218
153 #define IDTB_JUMP2 219
154 #define IDTB_CUSTOMIZE 221
155 #define IDTB_ZOOM 222
156 #define IDTB_TOC_NEXT 223
157 #define IDTB_TOC_PREV 224
158
159 // Notification codes
160
161 #define HHN_FIRST (0U-860U)
162 #define HHN_LAST (0U-879U)
163
164 #define HHN_NAVCOMPLETE (HHN_FIRST-0)
165 #define HHN_TRACK (HHN_FIRST-1)
166 #define HHN_WINDOW_CREATE (HHN_FIRST-2)
167
168 typedef struct tagHHN_NOTIFY
169 {
170 NMHDR hdr;
171 PCSTR pszUrl; // Multi-byte, null-terminated string
172 } HHN_NOTIFY;
173
174 typedef struct tagHH_POPUP
175 {
176 int cbStruct; // sizeof this structure
177 HINSTANCE hinst; // instance handle for string resource
178 UINT idString; // string resource id, or text id if pszFile is specified in HtmlHelp call
179 LPCTSTR pszText; // used if idString is zero
180 POINT pt; // top center of popup window
181 COLORREF clrForeground; // use -1 for default
182 COLORREF clrBackground; // use -1 for default
183 RECT rcMargins; // amount of space between edges of window and text, -1 for each member to ignore
184 LPCTSTR pszFont; // facename, point size, char set, BOLD ITALIC UNDERLINE
185 } HH_POPUP;
186
187 typedef struct tagHH_AKLINK
188 {
189 int cbStruct; // sizeof this structure
190 BOOL fReserved; // must be FALSE (really!)
191 LPCTSTR pszKeywords; // semi-colon separated keywords
192 LPCTSTR pszUrl; // URL to jump to if no keywords found (may be NULL)
193 LPCTSTR pszMsgText; // Message text to display in MessageBox if pszUrl is NULL and no keyword match
194 LPCTSTR pszMsgTitle; // Message text to display in MessageBox if pszUrl is NULL and no keyword match
195 LPCTSTR pszWindow; // Window to display URL in
196 BOOL fIndexOnFail; // Displays index if keyword lookup fails.
197 } HH_AKLINK;
198
199 enum {
200 HHWIN_NAVTYPE_TOC,
201 HHWIN_NAVTYPE_INDEX,
202 HHWIN_NAVTYPE_SEARCH,
203 HHWIN_NAVTYPE_FAVORITES,
204 HHWIN_NAVTYPE_HISTORY, // not implemented
205 HHWIN_NAVTYPE_AUTHOR,
206 HHWIN_NAVTYPE_CUSTOM_FIRST = 11
207 };
208
209 enum {
210 IT_INCLUSIVE,
211 IT_EXCLUSIVE,
212 IT_HIDDEN,
213 };
214
215 typedef struct tagHH_ENUM_IT
216 {
217 int cbStruct; // size of this structure
218 int iType; // the type of the information type ie. Inclusive, Exclusive, or Hidden
219 LPCSTR pszCatName; // Set to the name of the Category to enumerate the info types in a category; else NULL
220 LPCSTR pszITName; // volitile pointer to the name of the infotype. Allocated by call. Caller responsible for freeing
221 LPCSTR pszITDescription; // volitile pointer to the description of the infotype.
222 } HH_ENUM_IT, *PHH_ENUM_IT;
223
224 typedef struct tagHH_ENUM_CAT
225 {
226 int cbStruct; // size of this structure
227 LPCSTR pszCatName; // volitile pointer to the category name
228 LPCSTR pszCatDescription; // volitile pointer to the category description
229 } HH_ENUM_CAT, *PHH_ENUM_CAT;
230
231 typedef struct tagHH_SET_INFOTYPE
232 {
233 int cbStruct; // the size of this structure
234 LPCSTR pszCatName; // the name of the category, if any, the InfoType is a member of.
235 LPCSTR pszInfoTypeName; // the name of the info type to add to the filter
236 } HH_SET_INFOTYPE, *PHH_SET_INFOTYPE;
237
238 typedef DWORD HH_INFOTYPE;
239 typedef HH_INFOTYPE* PHH_INFOTYPE;
240
241 enum {
242 HHWIN_NAVTAB_TOP,
243 HHWIN_NAVTAB_LEFT,
244 HHWIN_NAVTAB_BOTTOM,
245 };
246
247 #define HH_MAX_TABS 19 // maximum number of tabs
248
249 enum {
250 HH_TAB_CONTENTS,
251 HH_TAB_INDEX,
252 HH_TAB_SEARCH,
253 HH_TAB_FAVORITES,
254 HH_TAB_HISTORY,
255 HH_TAB_AUTHOR,
256
257 HH_TAB_CUSTOM_FIRST = 11,
258 HH_TAB_CUSTOM_LAST = HH_MAX_TABS
259 };
260
261 #define HH_MAX_TABS_CUSTOM (HH_TAB_CUSTOM_LAST - HH_TAB_CUSTOM_FIRST + 1)
262
263 // HH_DISPLAY_SEARCH Command Related Structures and Constants
264
265 #define HH_FTS_DEFAULT_PROXIMITY (-1)
266
267 typedef struct tagHH_FTS_QUERY
268 {
269 int cbStruct; // Sizeof structure in bytes.
270 BOOL fUniCodeStrings; // TRUE if all strings are unicode.
271 LPCTSTR pszSearchQuery; // String containing the search query.
272 LONG iProximity; // Word proximity.
273 BOOL fStemmedSearch; // TRUE for StemmedSearch only.
274 BOOL fTitleOnly; // TRUE for Title search only.
275 BOOL fExecute; // TRUE to initiate the search.
276 LPCTSTR pszWindow; // Window to display in
277 } HH_FTS_QUERY;
278
279 // HH_WINTYPE Structure
280
281 typedef struct tagHH_WINTYPE {
282 int cbStruct; // IN: size of this structure including all Information Types
283 BOOL fUniCodeStrings; // IN/OUT: TRUE if all strings are in UNICODE
284 LPCTSTR pszType; // IN/OUT: Name of a type of window
285 DWORD fsValidMembers; // IN: Bit flag of valid members (HHWIN_PARAM_)
286 DWORD fsWinProperties; // IN/OUT: Properties/attributes of the window (HHWIN_)
287
288 LPCTSTR pszCaption; // IN/OUT: Window title
289 DWORD dwStyles; // IN/OUT: Window styles
290 DWORD dwExStyles; // IN/OUT: Extended Window styles
291 RECT rcWindowPos; // IN: Starting position, OUT: current position
292 int nShowState; // IN: show state (e.g., SW_SHOW)
293
294 HWND hwndHelp; // OUT: window handle
295 HWND hwndCaller; // OUT: who called this window
296
297 HH_INFOTYPE* paInfoTypes; // IN: Pointer to an array of Information Types
298
299 // The following members are only valid if HHWIN_PROP_TRI_PANE is set
300
301 HWND hwndToolBar; // OUT: toolbar window in tri-pane window
302 HWND hwndNavigation; // OUT: navigation window in tri-pane window
303 HWND hwndHTML; // OUT: window displaying HTML in tri-pane window
304 int iNavWidth; // IN/OUT: width of navigation window
305 RECT rcHTML; // OUT: HTML window coordinates
306
307 LPCTSTR pszToc; // IN: Location of the table of contents file
308 LPCTSTR pszIndex; // IN: Location of the index file
309 LPCTSTR pszFile; // IN: Default location of the html file
310 LPCTSTR pszHome; // IN/OUT: html file to display when Home button is clicked
311 DWORD fsToolBarFlags; // IN: flags controling the appearance of the toolbar
312 BOOL fNotExpanded; // IN: TRUE/FALSE to contract or expand, OUT: current state
313 int curNavType; // IN/OUT: UI to display in the navigational pane
314 int tabpos; // IN/OUT: HHWIN_NAVTAB_TOP, HHWIN_NAVTAB_LEFT, or HHWIN_NAVTAB_BOTTOM
315 int idNotify; // IN: ID to use for WM_NOTIFY messages
316 BYTE tabOrder[HH_MAX_TABS + 1]; // IN/OUT: tab order: Contents, Index, Search, History, Favorites, Reserved 1-5, Custom tabs
317 int cHistory; // IN/OUT: number of history items to keep (default is 30)
318 LPCTSTR pszJump1; // Text for HHWIN_BUTTON_JUMP1
319 LPCTSTR pszJump2; // Text for HHWIN_BUTTON_JUMP2
320 LPCTSTR pszUrlJump1; // URL for HHWIN_BUTTON_JUMP1
321 LPCTSTR pszUrlJump2; // URL for HHWIN_BUTTON_JUMP2
322 RECT rcMinSize; // Minimum size for window (ignored in version 1)
323 int cbInfoTypes; // size of paInfoTypes;
324 LPCTSTR pszCustomTabs; // multiple zero-terminated strings
325 } HH_WINTYPE, *PHH_WINTYPE;
326
327 enum {
328 HHACT_TAB_CONTENTS,
329 HHACT_TAB_INDEX,
330 HHACT_TAB_SEARCH,
331 HHACT_TAB_HISTORY,
332 HHACT_TAB_FAVORITES,
333
334 HHACT_EXPAND,
335 HHACT_CONTRACT,
336 HHACT_BACK,
337 HHACT_FORWARD,
338 HHACT_STOP,
339 HHACT_REFRESH,
340 HHACT_HOME,
341 HHACT_SYNC,
342 HHACT_OPTIONS,
343 HHACT_PRINT,
344 HHACT_HIGHLIGHT,
345 HHACT_CUSTOMIZE,
346 HHACT_JUMP1,
347 HHACT_JUMP2,
348 HHACT_ZOOM,
349 HHACT_TOC_NEXT,
350 HHACT_TOC_PREV,
351 HHACT_NOTES,
352
353 HHACT_LAST_ENUM,
354 };
355
356 typedef struct tagHHNTRACK
357 {
358 NMHDR hdr;
359 PCSTR pszCurUrl; // Multi-byte, null-terminated string
360 int idAction; // HHACT_ value
361 HH_WINTYPE* phhWinType; // Current window type structure
362 } HHNTRACK;
363
364 HWND
365 WINAPI
366 HtmlHelpA(
367 HWND hwndCaller,
368 LPCSTR pszFile,
369 UINT uCommand,
370 DWORD_PTR dwData
371 );
372
373 HWND
374 WINAPI
375 HtmlHelpW(
376 HWND hwndCaller,
377 LPCWSTR pszFile,
378 UINT uCommand,
379 DWORD_PTR dwData
380 );
381 #ifdef UNICODE
382 #define HtmlHelp HtmlHelpW
383 #else
384 #define HtmlHelp HtmlHelpA
385 #endif // !UNICODE
386
387 // Use the following for GetProcAddress to load from hhctrl.ocx
388
389 #define ATOM_HTMLHELP_API_ANSI (LPTSTR)((DWORD)((WORD)(14)))
390 #define ATOM_HTMLHELP_API_UNICODE (LPTSTR)((DWORD)((WORD)(15)))
391
392 ///////////////////////////////////////////////////////////////////////////////
393 //
394 // Global Control Properties.
395 //
396 typedef enum tagHH_GPROPID
397 {
398 HH_GPROPID_SINGLETHREAD=1, // VARIANT_BOOL: True for single thread
399 HH_GPROPID_TOOLBAR_MARGIN=2, // long: Provides a left/right margin around the toolbar.
400 HH_GPROPID_UI_LANGUAGE=3, // long: LangId of the UI.
401 HH_GPROPID_CURRENT_SUBSET=4, // BSTR: Current subset.
402 HH_GPROPID_CONTENT_LANGUAGE=5 // long: LandId for desired content.
403 } HH_GPROPID;
404
405 ///////////////////////////////////////////////////////////////////////////////
406 //
407 // Global Property structure
408 //
409 #ifdef __oaidl_h__
410
411 #pragma pack(push, 8)
412
413 typedef struct tagHH_GLOBAL_PROPERTY
414 {
415 HH_GPROPID id;
416 VARIANT var;
417 } HH_GLOBAL_PROPERTY ;
418
419 #pragma pack(pop)
420 #endif
421
422 #ifdef __cplusplus
423 }
424 #endif // __cplusplus
425
426 #endif // __HTMLHELP_H__

Back to OSDN">Back to OSDN
ViewVC Help
Powered by ViewVC 1.1.26