![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Сообщения Windows [D7]
Tornado © (2004-04-02 08:04:00)Подскажите пожалуйста как обработать сообщение WM_Help которое возникает при нажатии на кнопку HELP в окне диалога MessageDlg('Сообщение', mtInformation, [mbOK, mbHelp], 0)? Спасибо.
Игорь Шевченко (2004-04-02 10:16:00) [1]" Use the HelpCtx parameter to specify the context ID for the help topic that should appear when the user clicks the help button or presses F1 while the dialog is displayed."
По нажатию на кнопку Help вызывается процедура из Dialogs.pas
procedure TMessageForm.HelpButtonClick(Sender: TObject);
begin
Application.HelpContext(HelpContext);
end;
Для того, чтобы среагировать на это событие, нужно обрабатывать событие Application.OnHelp, например так (учитывая, что на главной форме имеется компонент ApplicationEvents)
function TfMain.ApplicationEventsHelp(Command: Word; Data: Integer;
var CallHelp: Boolean): Boolean;
begin
CallHelp := true;
Result := true;
end;
Романов Р.В. (2004-04-02 09:46:00) [2]нет это из другой оперы
Tornado (2004-04-02 09:03:00) [3]>>> Романов Р.В. © (02.04.04 08:53) [1]
Код приведенный Вами это будет реакция именно на нажатие кнопки HELP в MessageDlg?
Романов Р.В. (2004-04-02 08:54:00) [4]Извеняюсь не внимательно прочитал вопрос.
Романов Р.В. (2004-04-02 08:53:00) [5]TForm1 = class(TForm)
...
private
procedure WMHelp(var Message: TWMHelp); message WM_HELP;
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.WMHelp(var Message: TWMHelp);
var
Control: TWinControl;
begin
Control := FindControl(Message.HelpInfo^.hItemHandle);
if Assigned(Control) then
ShowMessage(Control.Name);
end;