フレームってないんですか?

解決


masa  2005-01-25 18:53:31  No: 56157

まったくの初心者です。
vbではテキストボックスやボタンのように、「フレーム」っていうのがあったとおもうんですが、vcではないんでしょうか?


シャノン  2005-01-25 20:31:41  No: 56158

グループボックスでしょうか?


masa  2005-01-25 20:59:36  No: 56159

お答えありがとうございます。

グループボックスの場合、その上に、コントロールをのせても、
グループボックスをドラッグしても、コントロールはそのままなのですが、
こんなものですか?


シャノン  2005-01-25 21:43:38  No: 56160

ダイアログエディタでは、そんなものみたいですねー。


masa  2005-01-26 04:26:38  No: 56161

>>ダイアログエディタでは、そんなものみたいですねー。

ダイアログ以外になんかあるんでしょうか?


シャノン  2005-01-26 22:12:46  No: 56162

グループボックスとはその名の通り、複数のコントロールをグループ化するためのボックスです。
VB や C# のダイアログエディタでは、個々のコントロールをグループボックスの子ウィンドウとして作成することにより、グループボックスを移動することで、中のコントロールも移動されます。
が、VC++ のダイアログエディタでは、グループボックスは見た目それっぽく見せているに過ぎず、実際のグループ化はタブオーダーに基づいて行われます。
本来、グループボックスとはこういうものらしいので、VB や C# は親切に中のコントロールまで移動させてくれましたが、VC++ ではそういうものだと割り切った方がいいようです。


masa  2005-01-27 20:59:19  No: 56163

シャノンさん、ありがとうございます。
だいたい、わかりましたが、「実際のグループ化はタブオーダーに基づいて行われます。」というのは、どういうことですか?


シャノン  2005-01-27 21:18:56  No: 56164

タブオーダーとは、キーボードの Tab キーをポンポン押していくと、コントロール間をフォーカスが移っていく順番…というのは大丈夫ですか?
VC++ のダイアログエディタでは、上部メニューの「書式」の中に、タブオーダーを設定する項目があります。
これを選択すると、ダイアログ上のコントロールに数字が付くと思いますが、この数字の順番にフォーカスが移ることになります。

で、ダイアログ上のコントロールのプロパティを見ると「Group」というのがあるとおもいます。
このプロパティを True にしたコントロールが、一連のグループの最初のコントロールになります。
その後、タブオーダーの順番に従って、グループ内のコントロールには Group に False を設定しておき、グループ外の最初のコントロールで、また Group を True にします。

例えば、グループボックスが2つあり、それぞれの中にラジオボタンが3つずつあり、タブオーダーが順番に振られていたとしますと

グループボックス1
  ラジオボタン1  タブオーダー1  Group True
  ラジオボタン2  タブオーダー2  Group False
  ラジオボタン3  タブオーダー3  Group False
グループボックス2
  ラジオボタン4  タブオーダー4  Group True
  ラジオボタン5  タブオーダー5  Group False
  ラジオボタン6  タブオーダー6  Group False

こんな風に設定することで、ラジオボタンをグループ化(1〜3の中で一つだけ、4〜6の中で一つだけ選択可能)できます。
Group を True にしたコントロールから、タブオーダーにしたがってコントロールを順番に見て行き、それらの Group が False である間を、一連のグループとして扱うわけです。
例えば、上のケースで、ラジオボタン3の Group を True にしてしまうと、ラジオボタン1と2がグループ、ラジオボタン3は単独のグループ、4〜6は一連のグループとして扱われますので、1と3の同時選択とかが可能になります。
このとき、1〜3がグループボックスで囲まれていることは、見た目の意味しかありません。


masa  2005-01-27 23:34:13  No: 56165

シャノンさん、ありがとうございます。

よくわかりました。

私は、VB暦は長いのですが、VCはかなり使いにくそうですね。

がんばって勉強します。


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

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






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