Не срабатывает событие TApplication.OnHelp
Подскажите пожалуйста в чем проблема?
В случае когда для формы включено свойство
BorderIcons := BorderIcons + [biHelp];
и выключены
BorderIcons := BorderIcons — [biMinimize, biMaximize];
то событие OnHelp происходит, но при этом видна кнопка biHelp,
а это кнопка НЕ НУЖНА.
Вот какие значения BorderIcons имеет моя форма:
BorderIcons := [biSystemMenu,biMinimize,biMaximize];
Вот пример кода программы:
function HtmlHelp(
hwndCaller: HWND;
pszFile: LPCSTR;
uCommand: UINT;
dwData: DWORD): HWND; stdcall; external 'HHCtrl.ocx' name 'HtmlHelpA';
type
TFMain = class(TForm)
private
function ApplicationOnHelp(
Command: Word;
Data: Longint;
var CallHelp: Boolean): Boolean;
end;
procedure TFMain.FormCreate(Sender: TObject);
begin
Application.OnHelp := ApplicationOnHelp;
end;
function TFMain.ApplicationOnHelp(Command: Word; Data: Integer;
var CallHelp: Boolean): Boolean;
const
HH_HELP_CONTEXT = $0F;
begin
CallHelp := False;
Result := False;
if (csDestroying in ComponentState) then
Exit;
Result := Boolean(HtmlHelp(GetDesktopWindow(),
PChar(ChangeFileExt(Application.ExeName, gstrEXT_CHM)),
HH_HELP_CONTEXT, Data));
end;
Спасибо