フォーカスについて

解決


DelDel  2007-08-15 17:49:31  No: 27408

ラジオボタンのクリック時に次コントロールへ
移動する「Windows.SendMessage( GetParentForm( Self ).Handle, WM_NEXTDLGCTL,0, 0 );」を実装したラジオボタンを作成しました。

しかし、ラジオボタンがフォーカスを取得した状態では
クリックイベントが発生しません。
そこでEnterイベントで同様の処理を実装したところ
今度は次コントロールの次へ、つまり2個先のフォーカスを
もつコントロールへ移動してしまい、うまく動作しません。

フォーカスを受け取ったとしてもクリックイベントを
発生させる方法、もしくは代替案が思いつきません。。。OTL

どなたかご教授ください。


これではどうですか?  2007-08-16 03:25:09  No: 27409

あまり工夫らしいものはしていないのですが,RadioButton 2個とMemo 3個
のサンプルプロジェクトではうまくいったように見えました。

procedure TForm1.RadioButton1Click(Sender: TObject);
begin
  SendMessage(GetParentForm(Self).Handle, WM_NEXTDLGCTL,0, 0 );
end;

procedure TForm1.RadioButton1Enter(Sender: TObject);
begin
  if RadioButton1.Checked then
    SendMessage(GetParentForm(Self).Handle, WM_NEXTDLGCTL,0, 0 );
end;


DelDel  2007-08-16 19:35:02  No: 27410

これではどうですか?様の
内容で期待どおりの結果を得られました!!

本当にありがとうございました。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加