コントロールを配列化
ダイアログベースのプログラムにボタンを三つ張り付け CDDXControlDlg?.hに CButton butt[3];を宣言しておく. クラス名を右クリックし,型を CButton [3] 名前を butt として作成してもよい.作成したら
void CDDXControlDlg::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); DDX_Control(pDX, IDC_BUTTON1, butt[0]); DDX_Control(pDX, IDC_BUTTON2, butt[1]); DDX_Control(pDX, IDC_BUTTON3, butt[2]); }
DDX_Control(pDX, IDC_BUTTON3, butt[]);の部分は
INT nID = IDC_BUTTON1; for(int i = 0; i < 3;i++){ DDX_Control(pDX, nID + i, butt[i]); }
としてもいい.
これで配列が用意されたので,例えば
for(int i = 0; i< 3; i++){ if(i == b%3) butt[i].ShowWindow(1); else butt[i].ShowWindow(0); } b++;
などとして,交互に表示させるなどができる.
ここなど参考になる.
Link: Programming(5321d)
日録2008年_2月(5876d)
Last-modified: 2008-02-02 (土) 16:58:46 (6264d)