今、CFormViewのSDIでエディットボックスなどを
リソースビューのダイアログで配置しました。
エディットボックスだとメンバ変数を例えばm_Edit1とかにして
m_Edit1.MoveWindow(10,10,50,20);
とかにすれば自由に再配置できますよね。
ラジオボタンでも同様に再配置したいのですが
どうすれば良いでしょうか?
ラジオボタンもエディットボックスと同じCWndから派生したモノですし、MoveWindow()は
CWndのメンバ関数なので、全く同じように使えるはずです、というか、今試してできるこ
とを確認しました。
どこで躓いているのかを詳しく説明してくださいね。
え~っと、例えばIDC_RADIO_AというIDを与えたラジオボタンの
メンバ変数をクラスウィザードで追加しようと思うのですが
出来なくて、悩んでます。
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です。
お~!!出来ましたっ。
クラスウィザードでのメンバ変数の追加を手作業で行いたい場合は
このようにすれば良いのですね。
なぜラジオボタンは別扱いなんでしょう・・凄く不満な初心者でした。
ありがとうございました^_^b