メンバ変数名を変更して引数にしたい

[戻る]
まま 2005/03/23(水) 20:26:48
VC初心者です。<VC++.net:WinXP Pro>

Editコントロールが複数あり、それぞれメンバ変数名が
m_edA1;
m_edA2;
m_edA3;
m_edA4;
 ・
 ・
 ・
とあり、変数名の数値(1,2,3,4・・・)の個所を動的に変更し、
それぞれテキスト変更をしたいのです。

CString m_edA = "m_edA";
for(int cnt= 1; cnt>5 cnt++)
{
   m_edA += cnt;
   
   //他の関数へパラメタとして渡す
   otherParam( m_edA );

}
というような事をしたいのですが、
コントロールのメンバ変数として見る為には
どうしたらよいでしょうか。

よろしくおねがいいたします。

シャノン 2005/03/23(水) 20:28:12
メンバ変数を配列にしてしまう、とか。

reshia 2005/03/23(水) 22:26:35
for、一度も回らないし。m_edA+=cndできないし。
m_edA1が何なのかわからないし。
何より、何がしたいのかわからないし。

もし、変数名の名前をCStringに直したいだけなら、私にはわからない。
どうしてもというのなら、
struct {
 CEdit edit;
 CString name;
};
のようにしておいて、シャノンさんのおっしゃるように配列にしてしまうとか。

kinu 2005/03/23(水) 23:58:30
そんなに難しく考えなくてもよいのでは?
CEdit m_edA1;
CEdit m_edA2;
CEdit m_edA3;
CEdit m_edA4;
を
CEdit m_edA[4];
ってすればいいっしょ.

コントロール用の変数追加時にウィザードで配列まで指定できたかは
知りませんけど,まぁ,適当な名前でとりあえずつくって
あとはソースをガシガシ修正ってカンジかな.

まま 2005/03/24(木) 14:48:21
[[解決]]
配列化できるのですね。

以下を参考にさせて頂きました。

ありがとうございました。

http://www.asahi-net.or.jp/~uq7k-hrsm/vcdev2fr.htm#39

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