ラジオボタンの位置変更をしたい

[戻る]
ごほごほ 2002/10/23(水) 00:03:31
今、CFormViewのSDIでエディットボックスなどを
リソースビューのダイアログで配置しました。

エディットボックスだとメンバ変数を例えばm_Edit1とかにして
m_Edit1.MoveWindow(10,10,50,20);
とかにすれば自由に再配置できますよね。

ラジオボタンでも同様に再配置したいのですが
どうすれば良いでしょうか?

tib 2002/10/23(水) 00:26:08
ラジオボタンもエディットボックスと同じCWndから派生したモノですし、MoveWindow()は
CWndのメンバ関数なので、全く同じように使えるはずです、というか、今試してできるこ
とを確認しました。

どこで躓いているのかを詳しく説明してくださいね。

ごほごほ 2002/10/23(水) 00:32:27
え〜っと、例えばIDC_RADIO_AというIDを与えたラジオボタンの
メンバ変数をクラスウィザードで追加しようと思うのですが
出来なくて、悩んでます。

tib 2002/10/23(水) 00:51:33
Class Wizardで追加できなければ手作業でソースをいじればいいのです。

???.hで、
class CMyDialog
{
...
// ダイアログ データ
    //{{AFX_DATA(CMyDialog)
    CButton m_ctrRadio1;
    //}}AFX_DATA
...
}

???.cppで、
void CMyDialog::DoDataExchange(CDataExchange* pDX)
{
    CDialog::DoDataExchange(pDX);
    //{{AFX_DATA_MAP(CMyDialog)
    DDX_Control(pDX, IDC_RADIO1, m_ctrRadio1);
    //}}AFX_DATA_MAP
}


イチから確認し直してみたところ、リソースエディタでRadioButtonを追加し、
ClassWizardのメンバ変数タブを開くとラジオボタンのコントロールはリストされていま
せんでした。また、手作業で上記ソースを追加した後もう一度ClassWizardのメンバ変数
タブを開くとラジオボタンのコントロールはリストされていて、対応するメンバ変数も表
示されました。但し、ラジオボタンのコントロールIDをダブルクリックしても「メンバ変
数の追加」ダイアログが表示される代わりに「この種類のコントロールのデータタイプは
ありません」というエラーダイアログが表示されます。ラジオボタンに関してはClass
Wizardは使えなさそうです。

ちなみに私が使っているのはWin2000 + VC++6.0です。

ごほごほ 2002/10/23(水) 01:09:02
[[解決]]
お〜!!出来ましたっ。
クラスウィザードでのメンバ変数の追加を手作業で行いたい場合は
このようにすれば良いのですね。
なぜラジオボタンは別扱いなんでしょう・・凄く不満な初心者でした。

ありがとうございました^_^b

古いスレッドには追加発言できません。