Tja, ich würde dir ja gern helfen, allerdings habe ich keine Ahnung von den Tools, die du benutzt hast. Ich erstelle meine CHM-Dateien mit meinem Lieblings-
HTML-Editor und dem kostenlosen
HTML Helpworkshop von Microsoft. (Eigentlich erstelle ich gar keine CHMs mehr, aber egal.
)
Außerdem schrieb ich:
Zitat:
Im Beispiel aus den
Win32-
API-Tutorials von Luckie habe
ich überprüft, ob es eine Kontext-ID gibt.
Und so sieht das aus:
Delphi-Quellcode:
WM_HELP:
// Kontextinfo zu einem Control anzeigen
if(PHelpInfo(lp)^.dwContextId > 0) then
ShowHelp(PHelpInfo(lp)^.MousePos,PHelpInfo(lp)^.dwContextId)
else
// die Hilfe aufrufen
if(PHelpInfo(lp)^.hItemHandle = wnd) or
(GetParent(PHelpInfo(lp)^.hItemHandle) = wnd)
then
SendMessage(wnd,WM_COMMAND,MAKELONG(IDC_TOCBTN,BN_CLICKED),0)
// normal fortsetzen
else Result := DefWindowProc(wnd,uMsg,wp,lp);
Nur wird dir das nicht allzu viel helfen, weil es ein
nonVCL-Sample ist. Und zu allem Übel benutze ich nicht mal die Helpware-Units, sondern ich bevorzuge die
JEDI-Übersetzung der HtmlHelp-
API.
Ich bin der Meinung, sobald du diesen Hilfe-Button in der Titelzeile benutzt, schaltet sich der F1-Hotkey dazwischen und geht immer davon aus, dass du Kontext-Hilfe zu irgendeinem Control sehen willst. Die Steuerung an sich übernimmt ja das Hilfe-
API, in deinem Fall also die Helpware-
Unit.