* initial htmlhelp header translation

git-svn-id: trunk@13249 -
This commit is contained in:
marco 2009-06-09 19:54:00 +00:00
parent 04ca09c600
commit 2f218391d4
2 changed files with 388 additions and 0 deletions

1
.gitattributes vendored
View File

@ -5031,6 +5031,7 @@ packages/winunits-base/src/commdlg.pp svneol=native#text/plain
packages/winunits-base/src/comobj.pp svneol=native#text/plain
packages/winunits-base/src/dwmapi.pp svneol=native#text/plain
packages/winunits-base/src/flatsb.pp svneol=native#text/plain
packages/winunits-base/src/htmlhelp.pp svneol=native#text/plain
packages/winunits-base/src/imagehlp.pp svneol=native#text/plain
packages/winunits-base/src/mmsystem.pp svneol=native#text/plain
packages/winunits-base/src/multimon.pp svneol=native#text/plain

View File

@ -0,0 +1,387 @@
unit htmlhelp;
interface
Uses Windows;
const
// Commands to pass to HtmlHelp()
HH_DISPLAY_TOPIC = $0000;
HH_HELP_FINDER = $0000; // WinHelp equivalent
HH_DISPLAY_TOC = $0001;
HH_DISPLAY_INDEX = $0002;
HH_DISPLAY_SEARCH = $0003;
HH_SET_WIN_TYPE = $0004;
HH_GET_WIN_TYPE = $0005;
HH_GET_WIN_HANDLE = $0006;
HH_ENUM_INFO_TYPE = $0007; // Get Info type name, call repeatedly to enumerate, -1 at end
HH_SET_INFO_TYPE = $0008; // Add Info type to filter.
HH_SYNC = $0009;
HH_RESERVED1 = $000A;
HH_RESERVED2 = $000B;
HH_RESERVED3 = $000C;
HH_KEYWORD_LOOKUP = $000D;
HH_DISPLAY_TEXT_POPUP = $000E; // display string resource id or text in a popup window
HH_HELP_CONTEXT = $000F; // display mapped numeric value in dwData
HH_TP_HELP_CONTEXTMENU = $0010; // text popup help, same as WinHelp HELP_CONTEXTMENU
HH_TP_HELP_WM_HELP = $0011; // text popup help, same as WinHelp HELP_WM_HELP
HH_CLOSE_ALL = $0012; // close all windows opened directly or indirectly by the caller
HH_ALINK_LOOKUP = $0013; // ALink version of HH_KEYWORD_LOOKUP
HH_GET_LAST_ERROR = $0014; // not currently implemented // See HHERROR.h
HH_ENUM_CATEGORY = $0015; // Get category name, call repeatedly to enumerate, -1 at end
HH_ENUM_CATEGORY_IT = $0016; // Get category info type members, call repeatedly to enumerate, -1 at end
HH_RESET_IT_FILTER = $0017; // Clear the info type filter of all info types.
HH_SET_INCLUSIVE_FILTER = $0018; // set inclusive filtering method for untyped topics to be included in display
HH_SET_EXCLUSIVE_FILTER = $0019; // set exclusive filtering method for untyped topics to be excluded from display
HH_INITIALIZE = $001C; // Initializes the help system.
HH_UNINITIALIZE = $001D; // Uninitializes the help system.
HH_SET_QUERYSERVICE = $001E; // Set the Host IQueryService interface
HH_PRETRANSLATEMESSAGE = $00fd; // Pumps messages. (NULL, NULL, MSG*).
HH_SET_GLOBAL_PROPERTY = $00fc; // Set a global property. (NULL, NULL, HH_GPROP)
HH_SAFE_DISPLAY_TOPIC = $0020; // private addition to the interface for InternetExplorer.
HHWIN_PROP_TAB_AUTOHIDESHOW = (1 shl 0); // Automatically hide/show tri-pane window
HHWIN_PROP_ONTOP = (1 shl 1); // Top-most window
HHWIN_PROP_NOTITLEBAR = (1 shl 2); // no title bar
HHWIN_PROP_NODEF_STYLES = (1 shl 3); // no default window styles (only HH_WINTYPE.dwStyles)
HHWIN_PROP_NODEF_EXSTYLES = (1 shl 4); // no default extended window styles (only HH_WINTYPE.dwExStyles)
HHWIN_PROP_TRI_PANE = (1 shl 5); // use a tri-pane window
HHWIN_PROP_NOTB_TEXT = (1 shl 6); // no text on toolbar buttons
HHWIN_PROP_POST_QUIT = (1 shl 7); // post WM_QUIT message when window closes
HHWIN_PROP_AUTO_SYNC = (1 shl 8); // automatically ssync contents and index
HHWIN_PROP_TRACKING = (1 shl 9); // send tracking notification messages
HHWIN_PROP_TAB_SEARCH = (1 shl 10); // include search tab in navigation pane
HHWIN_PROP_TAB_HISTORY = (1 shl 11); // include history tab in navigation pane
HHWIN_PROP_TAB_FAVORITES = (1 shl 12); // include favorites tab in navigation pane
HHWIN_PROP_CHANGE_TITLE = (1 shl 13); // Put current HTML title in title bar
HHWIN_PROP_NAV_ONLY_WIN = (1 shl 14); // Only display the navigation window
HHWIN_PROP_NO_TOOLBAR = (1 shl 15); // Don't display a toolbar
HHWIN_PROP_MENU = (1 shl 16); // Menu
HHWIN_PROP_TAB_ADVSEARCH = (1 shl 17); // Advanced FTS UI.
HHWIN_PROP_USER_POS = (1 shl 18); // After initial creation, user controls window size/position
HHWIN_PROP_TAB_CUSTOM1 = (1 shl 19); // Use custom tab #1
HHWIN_PROP_TAB_CUSTOM2 = (1 shl 20); // Use custom tab #2
HHWIN_PROP_TAB_CUSTOM3 = (1 shl 21); // Use custom tab #3
HHWIN_PROP_TAB_CUSTOM4 = (1 shl 22); // Use custom tab #4
HHWIN_PROP_TAB_CUSTOM5 = (1 shl 23); // Use custom tab #5
HHWIN_PROP_TAB_CUSTOM6 = (1 shl 24); // Use custom tab #6
HHWIN_PROP_TAB_CUSTOM7 = (1 shl 25); // Use custom tab #7
HHWIN_PROP_TAB_CUSTOM8 = (1 shl 26); // Use custom tab #8
HHWIN_PROP_TAB_CUSTOM9 = (1 shl 27); // Use custom tab #9
HHWIN_TB_MARGIN = (1 shl 28); // the window type has a margin
HHWIN_PARAM_PROPERTIES = (1 shl 1); // valid fsWinProperties
HHWIN_PARAM_STYLES = (1 shl 2); // valid dwStyles
HHWIN_PARAM_EXSTYLES = (1 shl 3); // valid dwExStyles
HHWIN_PARAM_RECT = (1 shl 4); // valid rcWindowPos
HHWIN_PARAM_NAV_WIDTH = (1 shl 5); // valid iNavWidth
HHWIN_PARAM_SHOWSTATE = (1 shl 6); // valid nShowState
HHWIN_PARAM_INFOTYPES = (1 shl 7); // valid apInfoTypes
HHWIN_PARAM_TB_FLAGS = (1 shl 8); // valid fsToolBarFlags
HHWIN_PARAM_EXPANSION = (1 shl 9); // valid fNotExpanded
HHWIN_PARAM_TABPOS = (1 shl 10); // valid tabpos
HHWIN_PARAM_TABORDER = (1 shl 11); // valid taborder
HHWIN_PARAM_HISTORY_COUNT = (1 shl 12); // valid cHistory
HHWIN_PARAM_CUR_TAB = (1 shl 13); // valid curNavType
HHWIN_BUTTON_EXPAND = (1 shl 1); // Expand/contract button
HHWIN_BUTTON_BACK = (1 shl 2); // Back button
HHWIN_BUTTON_FORWARD = (1 shl 3); // Forward button
HHWIN_BUTTON_STOP = (1 shl 4); // Stop button
HHWIN_BUTTON_REFRESH = (1 shl 5); // Refresh button
HHWIN_BUTTON_HOME = (1 shl 6); // Home button
HHWIN_BUTTON_BROWSE_FWD = (1 shl 7); // not implemented
HHWIN_BUTTON_BROWSE_BCK = (1 shl 8); // not implemented
HHWIN_BUTTON_NOTES = (1 shl 9); // not implemented
HHWIN_BUTTON_CONTENTS = (1 shl 10); // not implemented
HHWIN_BUTTON_SYNC = (1 shl 11); // Sync button
HHWIN_BUTTON_OPTIONS = (1 shl 12); // Options button
HHWIN_BUTTON_PRINT = (1 shl 13); // Print button
HHWIN_BUTTON_INDEX = (1 shl 14); // not implemented
HHWIN_BUTTON_SEARCH = (1 shl 15); // not implemented
HHWIN_BUTTON_HISTORY = (1 shl 16); // not implemented
HHWIN_BUTTON_FAVORITES = (1 shl 17); // not implemented
HHWIN_BUTTON_JUMP1 = (1 shl 18);
HHWIN_BUTTON_JUMP2 = (1 shl 19);
HHWIN_BUTTON_ZOOM = (1 shl 20);
HHWIN_BUTTON_TOC_NEXT = (1 shl 21);
HHWIN_BUTTON_TOC_PREV = (1 shl 22);
// Button IDs
IDTB_EXPAND = 200;
IDTB_CONTRACT = 201;
IDTB_STOP = 202;
IDTB_REFRESH = 203;
IDTB_BACK = 204;
IDTB_HOME = 205;
IDTB_SYNC = 206;
IDTB_PRINT = 207;
IDTB_OPTIONS = 208;
IDTB_FORWARD = 209;
IDTB_NOTES = 210; // not implemented
IDTB_BROWSE_FWD = 211;
IDTB_BROWSE_BACK = 212;
IDTB_CONTENTS = 213; // not implemented
IDTB_INDEX = 214; // not implemented
IDTB_SEARCH = 215; // not implemented
IDTB_HISTORY = 216; // not implemented
IDTB_FAVORITES = 217; // not implemented
IDTB_JUMP1 = 218;
IDTB_JUMP2 = 219;
IDTB_CUSTOMIZE = 221;
IDTB_ZOOM = 222;
IDTB_TOC_NEXT = 223;
IDTB_TOC_PREV = 224;
// Notification codes
HHN_FIRST = longword (0)-longword(860); // (0U-860U)
HHN_LAST = longword (0)-longword(879); // (0U-879U)
HHN_NAVCOMPLETE = (HHN_FIRST-0);
HHN_TRACK = (HHN_FIRST-1);
HHN_WINDOW_CREATE = (HHN_FIRST-2);
HHWIN_DEF_BUTTONS = (HHWIN_BUTTON_EXPAND or
HHWIN_BUTTON_BACK or
HHWIN_BUTTON_OPTIONS or
HHWIN_BUTTON_PRINT);
HHWIN_NAVTYPE_TOC = 0;
HHWIN_NAVTYPE_INDEX = 1;
HHWIN_NAVTYPE_SEARCH = 2;
HHWIN_NAVTYPE_FAVORITES = 3;
HHWIN_NAVTYPE_HISTORY = 4; // not implemented
HHWIN_NAVTYPE_AUTHOR = 5;
HHWIN_NAVTYPE_CUSTOM_FIRST = 11;
IT_INCLUSIVE = 0;
IT_EXCLUSIVE = 1;
IT_HIDDEN = 2;
HHWIN_NAVTAB_TOP = 0;
HHWIN_NAVTAB_LEFT = 1;
HHWIN_NAVTAB_BOTTOM = 2;
HH_MAX_TABS = 19; // maximum number of tabs
HH_TAB_CONTENTS = 0;
HH_TAB_INDEX = 1;
HH_TAB_SEARCH = 2;
HH_TAB_FAVORITES = 3;
HH_TAB_HISTORY = 4;
HH_TAB_AUTHOR = 5;
HH_TAB_CUSTOM_FIRST = 11;
HH_TAB_CUSTOM_LAST = HH_MAX_TABS;
HH_MAX_TABS_CUSTOM = (HH_TAB_CUSTOM_LAST - HH_TAB_CUSTOM_FIRST + 1);
// HH_DISPLAY_SEARCH Command Related Structures and Constants
HH_FTS_DEFAULT_PROXIMITY = (-1);
HHACT_TAB_CONTENTS = 0;
HHACT_TAB_INDEX = 1;
HHACT_TAB_SEARCH = 2;
HHACT_TAB_HISTORY = 3;
HHACT_TAB_FAVORITES = 4;
HHACT_EXPAND = 5;
HHACT_CONTRACT = 6;
HHACT_BACK = 7;
HHACT_FORWARD = 8;
HHACT_STOP = 9;
HHACT_REFRESH = 10;
HHACT_HOME = 11;
HHACT_SYNC = 12;
HHACT_OPTIONS = 13;
HHACT_PRINT = 14;
HHACT_HIGHLIGHT = 15;
HHACT_CUSTOMIZE = 16;
HHACT_JUMP1 = 17;
HHACT_JUMP2 = 18;
HHACT_ZOOM = 19;
HHACT_TOC_NEXT = 20;
HHACT_TOC_PREV = 21;
HHACT_NOTES = 22;
HHACT_LAST_ENUM = 23;
const
External_library='htmlhelp.dll'; {Setup as you need}
{ Pointers to basic pascal types, inserted by h2pas conversion program.}
Type
PtagHHN_NOTIFY = ^tagHHN_NOTIFY;
tagHHN_NOTIFY = packed record
hdr : NMHDR;
pszUrl : PCSTR; { Multi-byte, null-terminated string }
end;
HHN_NOTIFY = tagHHN_NOTIFY;
PHHN_NOTIFY = ^HHN_NOTIFY;
PtagHH_POPUP = ^tagHH_POPUP;
tagHH_POPUP = packed record
cbStruct : longint; { sizeof this structure }
hinst : HINST {ANCE}; { instance handle for string resource }
idString : UINT; { string resource id, or text id if pszFile is specified in HtmlHelp call }
pszText : LPCTSTR; { used if idString is zero }
pt : POINT; { top center of popup window }
clrForeground : COLORREF; { use -1 for default }
clrBackground : COLORREF; { use -1 for default }
rcMargins : RECT; { amount of space between edges of window and text, -1 for each member to ignore }
pszFont : LPCTSTR; { facename, point size, char set, BOLD ITALIC UNDERLINE }
end;
HH_POPUP = tagHH_POPUP;
PHH_POPUP = ^HH_POPUP;
PtagHH_AKLINK = ^tagHH_AKLINK;
tagHH_AKLINK = packed record
cbStruct : longint; { sizeof this structure }
fReserved : BOOL; { must be FALSE (really!) }
pszKeywords : LPCTSTR; { semi-colon separated keywords }
pszUrl : LPCTSTR; { URL to jump to if no keywords found (may be NULL) }
pszMsgText : LPCTSTR; { Message text to display in MessageBox if pszUrl is NULL and no keyword match }
pszMsgTitle : LPCTSTR; { Message text to display in MessageBox if pszUrl is NULL and no keyword match }
pszWindow : LPCTSTR; { Window to display URL in }
fIndexOnFail : BOOL; { Displays index if keyword lookup fails. }
end;
HH_AKLINK = tagHH_AKLINK;
PHH_AKLINK = ^HH_AKLINK;
PtagHH_ENUM_IT = ^tagHH_ENUM_IT;
tagHH_ENUM_IT = packed record
cbStruct : longint; { size of this structure }
iType : longint; { the type of the information type ie. Inclusive, Exclusive, or Hidden }
pszCatName : LPCSTR; { Set to the name of the Category to enumerate the info types in a category; else NULL }
pszITName : LPCSTR; { volitile pointer to the name of the infotype. Allocated by call. Caller responsible for freeing }
pszITDescription : LPCSTR; { volitile pointer to the description of the infotype. }
end;
HH_ENUM_IT = tagHH_ENUM_IT;
PHH_ENUM_IT = PtagHH_ENUM_IT;
PPHH_ENUM_IT = ^PHH_ENUM_IT;
PtagHH_ENUM_CAT = ^tagHH_ENUM_CAT;
tagHH_ENUM_CAT = packed record
cbStruct : longint; { size of this structure }
pszCatName : LPCSTR; { volitile pointer to the category name }
pszCatDescription : LPCSTR; { volitile pointer to the category description }
end;
HH_ENUM_CAT = tagHH_ENUM_CAT;
PHH_ENUM_CAT = PtagHH_ENUM_CAT;
PPHH_ENUM_CAT = ^PHH_ENUM_CAT;
PtagHH_SET_INFOTYPE = ^tagHH_SET_INFOTYPE;
tagHH_SET_INFOTYPE = packed record
cbStruct : longint; { the size of this structure }
pszCatName : LPCSTR; { the name of the category, if any, the InfoType is a member of. }
pszInfoTypeName : LPCSTR; { the name of the info type to add to the filter }
end;
HH_SET_INFOTYPE = tagHH_SET_INFOTYPE;
PHH_SET_INFOTYPE = PtagHH_SET_INFOTYPE;
PPHH_SET_INFOTYPE = ^PHH_SET_INFOTYPE;
HH_INFOTYPE = DWORD;
PPHH_INFOTYPE = ^PHH_INFOTYPE;
PHH_INFOTYPE = HH_INFOTYPE;
PtagHH_FTS_QUERY = ^tagHH_FTS_QUERY;
tagHH_FTS_QUERY = packed record
cbStruct : longint; { Sizeof structure in bytes. }
fUniCodeStrings : BOOL; { TRUE if all strings are unicode. }
pszSearchQuery : LPCTSTR; { String containing the search query. }
iProximity : LONG; { Word proximity. }
fStemmedSearch : BOOL; { TRUE for StemmedSearch only. }
fTitleOnly : BOOL; { TRUE for Title search only. }
fExecute : BOOL; { TRUE to initiate the search. }
pszWindow : LPCTSTR; { Window to display in }
end;
HH_FTS_QUERY = tagHH_FTS_QUERY;
PHH_FTS_QUERY = ^HH_FTS_QUERY;
PtagHH_WINTYPE = ^tagHH_WINTYPE;
tagHH_WINTYPE = packed record { HH_WINTYPE Structure }
cbStruct : longint; { IN: size of this structure including all Information Types }
fUniCodeStrings : BOOL; { IN/OUT: TRUE if all strings are in UNICODE }
pszType : LPCTSTR; { IN/OUT: Name of a type of window }
fsValidMembers : DWORD; { IN: Bit flag of valid members (HHWIN_PARAM_) }
fsWinProperties : DWORD; { IN/OUT: Properties/attributes of the window (HHWIN_) }
pszCaption : LPCTSTR; { IN/OUT: Window title }
dwStyles : DWORD; { IN/OUT: Window styles }
dwExStyles : DWORD; { IN/OUT: Extended Window styles }
rcWindowPos : RECT; { IN: Starting position, OUT: current position }
nShowState : longint; { IN: show state (e.g., SW_SHOW) }
hwndHelp : HWND; { OUT: window handle }
hwndCaller : HWND; { OUT: who called this window }
paInfoTypes : PHH_INFOTYPE; { IN: Pointer to an array of Information Types }
{ The following members are only valid if HHWIN_PROP_TRI_PANE is set }
hwndToolBar : HWND; { OUT: toolbar window in tri-pane window }
hwndNavigation : HWND; { OUT: navigation window in tri-pane window }
hwndHTML : HWND; { OUT: window displaying HTML in tri-pane window }
iNavWidth : longint; { IN/OUT: width of navigation window }
rcHTML : RECT; { OUT: HTML window coordinates }
pszToc : LPCTSTR; { IN: Location of the table of contents file }
pszIndex : LPCTSTR; { IN: Location of the index file }
pszFile : LPCTSTR; { IN: Default location of the html file }
pszHome : LPCTSTR; { IN/OUT: html file to display when Home button is clicked }
fsToolBarFlags : DWORD; { IN: flags controling the appearance of the toolbar }
fNotExpanded : BOOL; { IN: TRUE/FALSE to contract or expand, OUT: current state }
curNavType : longint; { IN/OUT: UI to display in the navigational pane }
tabpos : longint; { IN/OUT: HHWIN_NAVTAB_TOP, HHWIN_NAVTAB_LEFT, or HHWIN_NAVTAB_BOTTOM }
idNotify : longint; { IN: ID to use for WM_NOTIFY messages }
tabOrder : array[0..(HH_MAX_TABS+1)-1] of BYTE; { IN/OUT: tab order: Contents, Index, Search, History, Favorites, Reserved 1-5, Custom tabs }
cHistory : longint; { IN/OUT: number of history items to keep (default is 30) }
pszJump1 : LPCTSTR; { Text for HHWIN_BUTTON_JUMP1 }
pszJump2 : LPCTSTR; { Text for HHWIN_BUTTON_JUMP2 }
pszUrlJump1 : LPCTSTR; { URL for HHWIN_BUTTON_JUMP1 }
pszUrlJump2 : LPCTSTR; { URL for HHWIN_BUTTON_JUMP2 }
rcMinSize : RECT; { Minimum size for window (ignored in version 1) }
cbInfoTypes : longint; { size of paInfoTypes; }
pszCustomTabs : LPCTSTR; { multiple zero-terminated strings }
end;
HH_WINTYPE = tagHH_WINTYPE;
PHH_WINTYPE = PtagHH_WINTYPE;
PPHH_WINTYPE = ^PHH_WINTYPE;
PtagHHNTRACK = ^tagHHNTRACK;
tagHHNTRACK = packed record
hdr : NMHDR;
pszCurUrl : PCSTR; { Multi-byte, null-terminated string }
idAction : longint; { HHACT_ value }
phhWinType : PHH_WINTYPE; { Current window type structure }
end;
HHNTRACK = tagHHNTRACK;
PHHNTRACK = ^HHNTRACK;
function HtmlHelpA(hwndCaller:HWND; pszFile:LPCSTR; uCommand:UINT; dwData:DWORD_PTR):HWND;stdcall;external External_library name 'HtmlHelpA';
function HtmlHelpW(hwndCaller:HWND; pszFile:LPCWSTR; uCommand:UINT; dwData:DWORD_PTR):HWND;stdcall;external External_library name 'HtmlHelpW';
type HH_GPROPID = (
HH_GPROPID_SINGLETHREAD=1, // VARIANT_BOOL: True for single thread
HH_GPROPID_TOOLBAR_MARGIN=2, // long: Provides a left/right margin around the toolbar.
HH_GPROPID_UI_LANGUAGE=3, // long: LangId of the UI.
HH_GPROPID_CURRENT_SUBSET=4, // BSTR: Current subset.
HH_GPROPID_CONTENT_LANGUAGE=5 // long: LandId for desired content.
);
{$packrecords 8}
type
PtagHH_GLOBAL_PROPERTY = ^tagHH_GLOBAL_PROPERTY;
tagHH_GLOBAL_PROPERTY = packed record
id : HH_GPROPID;
_var : VARIANT;
end;
HH_GLOBAL_PROPERTY = tagHH_GLOBAL_PROPERTY;
PHH_GLOBAL_PROPERTY = ^HH_GLOBAL_PROPERTY;
implementation
end.