文字表示

EditControlのテキストをOKを押したあとに画面に表示させる.
方法としては,ダイアログボックスのメンバー変数を割り当てて.その変数を通してコントロールとデータをやり取りする.

ツールボックスから
StaticText ・・・ 文字を表示
EditControl ・・・ 文字を記入できる.
をもってくる.

EditControl のIDをIDC_TEXTにする.

ここまではダイアログボックスの見栄えの設定.
ここからが処理.

まず,メンバー変数を割り当てる.

EditControl右クリック
→変数の追加
→ コントロールID : IDC_TEXT
カテゴリ : Value
変数の種類 : CString(=や+で文字を扱える)
(m_EditTextとかそんなのができる)

次に,ダイアログからm_EditTextを受け取る変数をCChildView内に作る
クラスビューCChildView右クリック
→変数の追加
→CString m_Textとか名前にして

描画を反映させるために
dc.TextOut(pos_text.x,pos_text.y,m_Text);←ここを変える!

あと
 CChildView::OnTextView()
でDoModal()を使ってダイアログを呼び出しているが,
「OK押したかキャンセル押したか」が戻り値なので,
void CChildView::OnTextView()
{
    // TODO : ここにコマンド ハンドラ コードを追加します。
    CTextViewDlg dlg;
    if( dlg.DoModal() == IDOK){//ダイアログをオープンしつつOKかキャンセルかの戻り値を返す
        m_cText = dlg.m_EditText;
        Invalidate();
        UpdateWindow();
    }       
}
こんなかんじに変える.
以上.

最終更新:2007年11月23日 13:28