Im Normalfall wird dieser Dialog von der Windows-TaskDialogAPI verarbeitet/angezeigt
und dort hat Delphi/Emba wohl die Behandlung dieses Ereignisses wohl nicht richtig implementiert?
TCustomTaskDialog.DoOnHelp und TCommonDialog.MessageHook sehen aber eigentlich OK aus.
Die
VCL-Version, bzw. der TButton da drin, leitet es an ApplicationEvents.OnHelp weiter (dort anschließend ein
Abort;
, damit die Standardbehandlung nicht reagiert).
Delphi-Quellcode:
UseLatestCommonDialogs := False;
MessageDlg('Test', mtInformation, [mbYes, mbNo, mbHelp], 999);
Und nicht vergessen UseLatestCommonDialogs wieder zurückzusetzen.
Alternativ direkt den
VCL-Dialog erstellen
-> CreateMessageDialog
und dann z.B.
(Dialog.FindComponent('Help') as TButton).OnClick := ...
Dieser Bug dürfte dann auch schon seit Jahrzehten existieren, denn in XE geht es auch schon nicht.
Da wir nur mit HelpKeywords und nicht mit HelpIndex arbeiten, war uns diesbezüglich nie was aufgefallen, weil wir die Help-Buttons in Dialogen selbst behandeln (da die
VCL nur den Index dort bietet)