コントロールを配列化 のバックアップの現在との差分(No.1) - アールメカブ

アールメカブ


コントロールを配列化 のバックアップの現在との差分(No.1)


  • 追加された行はこの色です。
  • 削除された行はこの色です。
[[Programming]]

ダイアログベースのプログラムにボタンを三つ張り付け
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++;
などとして,交互に表示させるなどができる.

[[ここ:http://rararahp.cool.ne.jp/cgi-bin/lng/vc/vclng.cgi?print+200503/05030067.txt]]など参考になる.