|
Тема |
KeyDown |
|
Автор |
Adnan (непознат
) |
|
Публикувано | 18.07.06 14:56 |
|
|
Здравейте имам fsMDIForm и както разбрах в последствие не може да се прихване директно KeyDown събитието когато FormStyle = fsMDIForm и трябва да има поне една дъщерна форма
За целта направих следното :
procedure TfrmBank.MessageHandler(var Msg: TMsg; var Handled: Boolean);
var Bit: Boolean;
begin
Bit := False;
if ( Msg.Message = WM_KEYDOWN ) and ( MDICHILDCOUNT = 0 ) then
begin
if ( Msg.wParam = VK_MENU{ or VK_CTRL} ) ) and ( Msg.wParam = ORD( 'N' ) ) then
{ Клавишната копбинация ALT+N както в стандартното KeyDown }
begin
ShowMessage( 'Ihhhaa' );
Handled := true;
end;
end;
end;
procedure TfrmBank.FormCreate(Sender: TObject);
begin
Application.OnMessage := MessageHandler;
end;
Всичко работи перфектно само с един натиснат клавиш само, че когато се опитвам да направя клавишна комбинация нищо не става !! Защо ??
Благодаря предварително
|
| |
|
|
|