スタティックテキストの値を、まとめて変えるには

[戻る]
みのすけ [E-Mail] 2003/02/27(木) 17:23:34
VC++ 初心者です。
VC++6.0 MFC ダイアログボックスでプログラムを作っています。

度々、質問で申し訳ありませんが、お願いします。

今、作っているプログラムはスタティックテキストを40ヶ位、配置し、
プログラムでその値を変えなければなりません。

そこで質問なのですが、メンバ変数を、配列にしようとしたら、エラーが
出ました。
何か、別の方法で、スタティックテキストの値を、まとめて変える様な事は
出来ないでしょうか。( for 文が使える様なイメージ )

どなたか、宜しく、お願いします。

επιστημη 2003/02/27(木) 18:04:48
たとえば...

void XXXDialog::初期化() {
  UINT table[N] = { IDC_EDIT0, IDC_EDIT1, .... };
  for ( int i = 0; i < N; ++i ) {
    GetDlgItem(table[i])->SetWindowText(i番目のedit-boxに書きたい文字列);
  }
}

とか。

tib 2003/02/27(木) 19:36:46
たとえば...

void XXXDialog::初期化() {
  UINT table[N] = { IDC_EDIT0, IDC_EDIT1, .... };
  for ( int i = 0; i < N; ++i ) {
    SetDlgItemText( table[i], i番目のedit-boxに書きたい文字列 );
  }
}

とか。

dairygoods 2003/02/27(木) 19:48:47
// メンバ変数
CString m_label[N];
...

void XXXDlg::DoDataExchange(CDataExchange* pDX)
{
  UINT table[N] = { IDC_EDIT0, IDC_EDIT1, .... };
  for ( int i = 0; i < N; ++i ) {
    DDX_Text(pDX, table[N], m_label[N]);
  }
}

とか。

dairygoods 2003/02/27(木) 19:50:38
失礼。

>  DDX_Text(pDX, table[N], m_label[N]);

DDX_Text(pDX, table[i], m_label[i]);

でした。

みのすけ [E-Mail] 2003/03/01(土) 11:09:29
たくさんの方、コメントありがとうございます。

そこで質問なのですが、
UNIT table[N] の宣言は、どの様にしておこなえば良いのでしょうか。

宜しく、お願いします

みのすけ [E-Mail] 2003/03/01(土) 11:24:42
[[解決]]
済みませんでした。
スペルをまちがえていました。
(誤)UNIT (正)UINT
おかげ様でうまく、出来ました。
ありがとうございました。

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