コントロールを配列化
ダイアログベースのプログラムにボタンを三つ張り付け 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(5622d)
日録2008年_2月(6177d)
Last-modified: 2008-02-02 (土) 16:58:46 (6564d)