プロパティ シート ダイアログ ボックスについて

[戻る]
高橋 [E-Mail] 2004/01/19(月) 21:30:16
プロパティ シート ダイアログ ボックスを作りそこにEditコントロールを
何個か並べてボタン操作によりリストに追加するようなことをしましたが、Editコントロ
ールの変数に入力した値が入らないのです。
誰か分かる方教えてください。
よろしく御願いします。
当方VC++ Ver6.0 を使っています。

以下に記述します。

void CmyPopPage1::OnButton1() 
{
    count = count-1;char dat[60];
    CString kai,sa,sb,sc,sd,se,sf,sh;
    sprintf(dat,"第%d回",m_dai);kai = dat;
    sprintf(dat,"%d",m_one);sa = dat;
    sprintf(dat,"%d",m_tow);sb = dat;
    sprintf(dat,"%d",m_tree);sc = dat;
    sprintf(dat,"%d",m_for);sd = dat;
    sprintf(dat,"%d",m_five);se = dat;
    sprintf(dat,"%d",m_six);sf = dat;
    sprintf(dat,"%d",m_kumi);sh = dat;
    SetData(kai,sa,sb,sc,sd,se,sf,sh);
    count= count+1;

   m_ の付いてる所がEditの変数です。

ひろぴー 2004/01/20(火) 09:06:09
OnButton1()内では『Editの変数』と言われるものに値が入っているか判断できません。
値の設定は別の関数で行っているのでしょうか?
SetData()では何を設定するのでしょうか?

因みにですが、CStringを使用していますので
> sprintf(dat,"第%d回",m_dai);kai = dat;
は
 kai.Format( "第%d回",m_dai);
のように出来ますのでchar dat[60];は必要なくなります。

ひろぴー 2004/01/20(火) 09:07:57
あああ、上記のCString::Format()はm_daiが数値型の時です『%d』だから(ToT)
DDX/DDVを使用していると思うので、m_daiが数値型っていうのも変な気がしますが...
ドコかで数値に変換しているのでしょうか。

sugar 2004/01/20(火) 11:40:28
エディットコントロールには、CEdit型、CString型以外にも、
数値系の型の変数を割り当てる事はできますよ。

tipe 2004/01/20(火) 12:24:05
クラスウィザードを使用している場合
入力された値は
UpdateData()を呼び出すまで更新されません

ひろぴー 2004/01/20(火) 13:29:18
ん?
> Editコントロールの変数に入力した値が入らないのです。
って、エディットコントロールに入力した値が取り出せないって事ですか?

でしたらtipeさんが仰っているようにUpdateData()でOKですね。


> エディットコントロールには、CEdit型、CString型以外にも、
> 数値系の型の変数を割り当てる事はできますよ。
あ、本当だ(ToT)変数のタイプが選択出来ますね。
言った事は無かった事にして下さい...。

高橋 [E-Mail] 2004/01/20(火) 20:04:09
[[解決]]
UpdateData();を入れたら変数に値が入りました。
皆様ご協力有り難うございました。

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