お知らせ

電子会議

ライブラリ

パレット

Delphi FAQ検索

Delphi FAQ一覧

サンプル蔵





FDelphi FAQ
16番会議室「玉石混淆みんなで作るSample蔵」に寄せられたサンプル

"任意のキーで任意のコントロールへ移動する"



 こんにちは、かぼちゃの馬車です。



 StringGridなどがあった場合、Tabキーなどで各コントロールを移動するの
がちょっと厄介な場合があるのですが、GetFocus というAPIで現在のフォー
カスのハンドルを取得して任意のコントロールへ移動するという処理が最近
必要になりましたので、そのサンプルをアップします。

procedure TForm1.FormShow(Sender: TObject);
begin
   KeyPreview := True;
end;

procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word; Shift:
TShiftState);
var
  Hnd: HWND;
begin
  //フォーカスが StringGrid1にあればStringGrid2にフォーカスは移動する
   if Key = ( VK_F5 ) then
   Begin
    Hnd := GetFocus;
    if Grid1.Handle = Hnd then
       StringGrid2.SetFocus
    else if StringGrid2.Handle = Hnd then
       Button1.SetFocus
    else
       StringGrid1.SetFocus;
    end;
end;
                         By かぼちゃの馬車
 



Original document by かぼちゃの馬車  氏 ID:(MXF01374)


ここにあるドキュメントは NIFTY SERVEの Delphi Users' Forum の16番会議室「玉石混淆みんなで作るSample蔵」に投稿されたサンプルです。これらのサンプルはボーランド株式会社がサポートする公式のものではありません。また、必ずしも動作が検証されているものではありません。これらのサンプルを使用したことに起因するいかなる損害も投稿者、およびフォーラムスタッフはその責めを負いません。使用者のリスクの範疇でご使用下さい。

Copyright 1996-2002 Delphi Users' Forum