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

0195  D1   D2   D3   D4   D5   D6   D7   3.1   95   98    作成: 1999/07/07 osamu rev 1.1
   B1   B3   B4   B5   B6   B7   NT3   NT4   2K   XP  更新: 1999/07/07 osamu 編集
CapsLock の状態を変更する

> ある入力コントロールにフォーカスが移った時に、CapsLockを
> プログラムにて On/Off することは出来ないでしょうか?

keybd_event で CAPS キーを押したことにしてあげれば良いです。この方法は、いろいろ応用がききそうです。

// CapsLock を Off にする場合
procedure TForm1.Edit1Enter(Sender: TObject);
begin
  if GetKeyState(VK_CAPITAL) and 1 = 1 then begin
    keybd_event(VK_CAPITAL, 0, 0, 0);
    keybd_event(VK_CAPITAL, 0, KEYEVENTF_KEYUP, 0);
  end;
end;

// CapsLock を On にする場合
procedure TForm1.Edit2Enter(Sender: TObject);
begin
  if GetKeyState(VK_CAPITAL) and 1 <> 1 then begin
    keybd_event(VK_CAPITAL, 0, 0, 0);
    keybd_event(VK_CAPITAL, 0, KEYEVENTF_KEYUP, 0);
  end;
end;
参照: [Delphi-ML:33786] <Windows>

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

How To
Lounge
KeyWords


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