2014/01/24

Delphi/C++Builder ダイアログ内のフォーカス設定ができない

ダイアログ内のコントロールへフォーカスが設定できない
Tabキーを押すと、次のコントロールへフォーカスが初めて移る

呼び出しフォームの CM_SHOWINGCHANGED イベント等からフォームをモーダルで開くと、フォーカスを失った状態でダイアログが表示されてしまう

SetFocus ではなく WM_NEXTDLGCTL を用いてフォーカス設定する
    // Edit1.SetFocus;
    PostMessage(Handle, WM_NEXTDLGCTL, Edit1.Handle, Ord(True));
※最初の Handle はフォームのもの

0 件のコメント: