Wenn die Box sichtbar ist und vom Anwender benutzt wird, können Sie auf ein paar Benachrichtigungen reagieren, die alle als Teil von "WM_NOTIFY" gesendet werden.
Klickt der Anwender z.B. auf den Hilfe-Button (wenn Sie ihn nicht ausgeblendet haben), können Sie eine dazu passende Hilfeseite aufrufen:
TBN_CUSTHELP: MessageBox(wnd,'Hier könnte Ihre Hilfe erscheinen!','Toolbar-Demo', MB_OK or MB_ICONINFORMATION);
Im Beispielprogramm wird allerdings nur diese Dialogbox angezeigt. Nun ja ... ;o)
Wenn Sie mehrere Toolbars benutzen und demzufolge auch verschiedene Hilfeseiten anzeigen lassen wollen, müssen Sie über "PNMToolBar(lp)^.hdr.hwndFrom" prüfen, welche Toolbar für diese Benachrichtigung verantwortlich ist.
Klickt der Anwender auf den Button "Zurücksetzen", dann sollten Sie die Originaleinstellungen der Toolbar wiederherstellen. Dazu entfernen Sie zuerst alle vorhandenen Buttons und weisen die Originalbuttons dann wieder neu zu:
TBN_RESET:
begin
nItem := SendMessage(PNMToolbar(lp)^.hdr.hwndFrom,TB_BUTTONCOUNT,0,0);
// vorhandene Buttons entfernen
for i := nItem - 1 downto 0 do
SendMessage(PNMToolbar(lp)^.hdr.hwndFrom,TB_DELETEBUTTON,i,0);
// Originalbuttons zuweisen
SendMessage(PNMToolbar(lp)^.hdr.hwndFrom,TB_ADDBUTTONS,
length(tbButtons),LPARAM(@tbButtons));
end;
Wenn der Anwender einen Button hinzugefügt oder entfernt hat oder anderweitig die Toolbar verändert hat, wird die Benachrichtigung TBN_TOOLBARCHANGE gesendet. Diese sollten Sie verwenden, um die Toolbar neu auszurichten; sprich: die Größe ggf. anpassen
TBN_TOOLBARCHANGE: SendMessage(PNMToolbar(lp)^.hdr.hwndFrom,TB_AUTOSIZE,0,0);