Delphi Tips 
-----------------------------

0063  D1   D2   D3   D4   D5   D6   D7   3.1   95   98    作成: 1999/02/08 osamu rev 1.2
   B1   B3   B4   B5   B6   B7   NT3   NT4   2K   XP  更新: 1999/09/06 西坂良幸 編集
キーボードでボタンを押したとき、ボタンをちゃんと沈ませたい

BM_SETSTATE メッセージを使うとできます。
コンポーネント化は、ちょっと長くなるので、詳細は [Delphi-ML:19607] を見てください。

以下、スペースキーでの例です。
procedure TForm1.Button1KeyPress(Sender: TObject; var Key: Char);
begin
  if Key = #32 then
    SendMessage(Button1.Handle,BM_SETSTATE,1,0);
end;

procedure TForm1.Button1KeyUp(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if Key = 32 then
    SendMessage(Button1.Handle,BM_SETSTATE,0,0);
end;


コーディングだけで呼ぶ場合は

  SendMessage(Button1.Handle,BM_SETSTATE,1,0);
  Button1.Click;
  Sleep(100);   // 適当に好みで決める
  PostMessage(Button1.Handle,BM_SETSTATE,0,0);

参照: [Delphi-ML:19607] <コンポーネント > <Standard>

[新規作成] [最新の情報に更新]

How To
Lounge
KeyWords


Tips
Delphi
Home
Osamu Takeuchi osamu@big.or.jp