喫茶XRAYトップページ
[
スレッド全体
]
[6188]
Re:RadioGroupについて
返信
削除
2012/7/9 (月) 18:15:31
おかぽん
▼ 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/
DelphiBB
S/
wwwlng.
cgi?
print+
201007/
10070024
.
txt
ではでは〜。
[6189]
Re2:RadioGroupについて
返信
削除
2012/7/9 (月) 18:45:49
Mr.XRAY
▼ おかぽんさん,どうもです.
> 解決した頃に出てきて恐縮ですが、RadioButtonは、フォーカスを受け取るだけで
> チェックがついてしまう、ちょっと素敵で、でも困った仕様があります。
> 当方、相変わらずDelphi5ですが、最新版も同じなんでしょうか?
解決なのかな? まっ,雑談系ですから関係ないですね (^^)
では,最新版を持っている私が(エッヘン!)後でテストしてみます.
[6190]
Re2:RadioGroupについて
返信
削除
2012/7/12 (木) 14:57:59
Mr.XRAY
▼ おかぽんさん
スミマセン.ちょっとやってみたたのですが,
よく現象を把握できません.理解していないのかもしれません.
ただ,以下の現象は確認しました.
実際にマウスで,該当Itemをクリックしないと,点線が表示されません.
> フォーカスの点線が出ませんでした???
何か勘違いしているかも...
http://
mrxray.
on.
coocan.
jp/
Others/
TRadioGr
oup.
htm#
02
[6216]
Re3:RadioGroupについて
返信
削除
2012/7/20 (金) 12:12:46
おかぽん
▼ Mr.XRAYさん
遅レスですいません。
XPでもクラシックでないとフォーカス矩形が表示されないのかもしれません。
紛らわしい画像を一枚添付
「22222」をクリック後
RadioGroup1.Controls[3].Perform(WM_SETFOCUS, 0, 0);
これでフォーカスを当てて、チェックを移動したものです。
[6221]
Re4:RadioGroupについて
返信
削除
2012/7/24 (火) 17:33:43
Mr.XRAY
> これでフォーカスを当てて、チェックを移動したものです。
う〜む.なるほど,
で,Delphi 7, 2010, XE でやってみましたが,なりません.
Delphi 6 でやろうししたら,
「TRadioGroupが見つかりません」
「TButtonが見つかりません」
? あっ,UAC を無効にして,管理者権限に昇格しないでインストール
するテストしたままだった! (笑)
しかし,私のとろこでは,なぜならないの?
[
▼次のスレッド
]
INCM/CMT
Cyclamen v3.82