Вы должны использовать HH_DISPLAY_TEXT_POPUP
для отображения всплывающей справки. Это дает вам больше гибкости благодаря структуре HH_POPUP
, которую вы передаете. Используйте поле pt
для указания позиции:
Указывает (в пикселях), где должен располагаться верхний центр всплывающего окна.
На сайте Helpware приведен пример кода Delphi:
{Show HH Popup using a string (StringID) from text file in a CHM
StringID: eg. 99; CHMTextFile: eg. _runDir + 'help.chm::/cshelp.txt'}
function HH_ShowPopupHelp3(aParent: TForm; StringID: Integer;
CHMTextFile: String; XYPos: TPoint): HWND;
var hhpopup: HH.THHPopup;
begin
with hhpopup do
begin
cbStruct := sizeof(hhpopup); //sizeof this structure
hinst := 0; //no used
idString := StringID; //topic number in a text file.
pszText := nil; //no used
pt := XYPos; //top center of popup
clrForeground := COLORREF(-1); //use -1 for default - RGB value
clrBackground := COLORREF(-1); //use -1 for default - RGB value
rcMargins := Rect(-1,-1,-1,-1);//amount of space between edges
pszFont := '';
end;
Result := HtmlHelp(aParent.Handle, PChar(CHMTextFile),
HH_DISPLAY_TEXT_POPUP, DWORD(@hhpopup));
end;
На самом деле, я думаю, что вы уже нашли эту страницу, судя по вашему коду, но просто нужно прочитать немного дальше вниз по странице.