名前 題名 ▼ おかぽんさん > ▼ satoさん > ▼ satoさん > こんにちは。 > > 解決した頃に出てきて恐縮ですが、RadioButtonは、フォーカスを受け取るだけで > チェックがついてしまう、ちょっと素敵で、でも困った仕様があります。 > 当方、相変わらずDelphi5ですが、最新版も同じなんでしょうか? > > ItemIndexを変更しただけでは、フォーカスのあるコントロールが移動しません。 > フォームを表示しなおすと、閉じたときにフォーカスのあったコントロールに、 > フォーカスが当たりますが、そのとき、上記仕様によりチェック状態がフォーカスのある > コントロールに設定されてしまいます。 > > 普通にTRadioButtonでも再現できるので、適当に配置し、RadioButton1.SetFocus とかすると、 > フォーカスの点線もついて、チェックもOnになります。 > RadioButton1.Checked := True では、チェックがOnになりますが、フォーカスの点線はありません。 > ・・・と思いましたが、Windows7では、フォーカスの点線が出ませんでした??? > えと、クラシック表示とかWindowsXPあたりで確認してみてください。 > > そんなわけで > > Form2.RadioGroup1.ItemIndex:=1; > を > Form2.RadioGroup1.Controls[1].Perform(WM_SETFOCUS, 0, 0); > > に変えてみると、動いてくれたりします。 > > でもForm2を開いたまま、Form2上のButtonClickイベントあたりに > RadioGroup1.Controls[1].Perform(WM_SETFOCUS, 0, 0); > とか書いてしまうと、非常に紛らわしいことになります。 > > > 情報源は他にあったと思いますが、みつからなかったので、参考資料。 > RadioGroupの初期値書き込みに関して > http://hpcgi1.nifty.com/MADIA/DelphiBBS/wwwlng.cgi?print+201007/10070024.txt > > ではでは〜。 GIF,JPEG,PNG画像ファイル及びLZH,ZIPファイルをアップロードできます.600 x 1200 ピクセルを超える画像は縮小表示されます(画像クリックで拡大表示). (上限122000(120k)バイト) 削除キー Link