ダイアログのエディットからの文字確保

[戻る]
りょう 2002/02/02(土) 00:44:56
MFCのビュー画面で操作途中にダイアログボックスを表示させ、
そのエディットに入力された文字列を配列や、Stringで確保した
変数に代入しようと思っているのですが今考えていた方法でためしてダメでした。
何かいい方法はないですか?
とりあえずその方法を書くので教えてください。
1.GetDlgItem関数をつかってエディット内の文字列は確保できていると思うのですが
  そこから変数への代入のしかたがいまいちわかりません。

2. エディットをクラスウィザードでメンバ変数として登録してからGetWindowText
     で確保しようと思ったのですが、この関数を各部分がViewクラスではなく
   Dlgクラスに書く事になってしまうのですがそれに問題はないのでしょうか?
   そしてこれを使うとなるとグローバル変数を使う事以外にはないのでしょうか?

2002/02/02(土) 09:18:26
確認です。

> MFCのビュー画面で操作途中にダイアログボックスを表示させ、
ダイアログボックスはモダール、モードレスどちらでしょう?

りょう 2002/02/02(土) 14:43:09
モーダル、モーダレスで変わってくるんですか?
今作っているのはモーダルです

Bun 2002/02/02(土) 17:08:03
このてのパターンなら、エディットにCString型の変数を割り当てたほうが
簡単ではないかしらん。(^^;

void CDlgtestView::Onhogehoge() 
{
 ChogeDlg dlg;  // Editのあるダイアログ
 CString str;

 if (dlg.DoModal() == IDOK) {
  str = dlg.m_strEdit;    // m_strEditはEditに割り当てたCString型のメンバ変数
 }
}

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