Главная страница | назад





Article #16445: How can I detect if a non-menu key has been pressed?

 Question and Answer Database
FAQ1445D.txt How can I detect if a non-menu key has been pressed?
Category :VCL
Platform :All
Product :All 32 bit
Question:
How can I detect if a non-menu key has been pressed while a menu
is displayed?
Answer:
Create a message handler for the WM_MENUCHAR character message.
Example:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms,
Dialogs, Menus;
type
TForm1 = class(TForm)
MainMenu1: TMainMenu;
One1: TMenuItem;
Two1: TMenuItem;
THree1: TMenuItem;
private
{ Private declarations }
procedure WmMenuChar(var m : TMessage); message WM_MENUCHAR;
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
procedure TForm1.WmMenuChar(var m : TMessage);
begin
Form1.Caption := 'Non standard menu key pressed';
m.Result := 1;
end;
end.
7/16/98 4:31:28 PM

Last Modified: 01-SEP-99