コアサーバーV2プランご契約でドメイン更新費用が永久無料

- エディットボックスの文字列を取得する -



≪ MFC・ダイヤログベースでの作成例 ≫


 ■ ダイヤログにエディットボックスとボタンを作成する



※ボタンのIDは IDC_MSGCHECK とします





 ■ ClassWizardを呼び出しエディットボックスのメンバー変数の追加する


※カテゴリーをコントロールにしCEdit型のメンバー変数 m_CharacterData を作成




 ■ OnInitDialog関数でエディットボックスの初期化
////////////////////////////////////////////////////
// CTest02Dlg メッセージ ハンドラ

BOOL CTest02Dlg::OnInitDialog()
{
CDialog::OnInitDialog();

// "バージョン情報..." メニュー項目をシステム メニューへ追加します。

// IDM_ABOUTBOX はコマンド メニューの範囲でなければなりません。
ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX);
ASSERT(IDM_ABOUTBOX < 0xF000);

CMenu* pSysMenu = GetSystemMenu(FALSE);
if (pSysMenu != NULL){
CString strAboutMenu;
strAboutMenu.LoadString(IDS_ABOUTBOX);
if (!strAboutMenu.IsEmpty()) {
pSysMenu->AppendMenu(MF_SEPARATOR);
pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);
}
}

// このダイアログ用のアイコンを設定します。フレームワークはアプリケーションのメイン
// ウィンドウがダイアログでない時は自動的に設定しません。
SetIcon(m_hIcon, TRUE); // 大きいアイコンを設定
SetIcon(m_hIcon, FALSE); // 小さいアイコンを設定

// TODO: 特別な初期化を行う時はこの場所に追加してください。

//エディットボックスの初期化
m_CharacterData.SetWindowText("");

return TRUE; // TRUE を返すとコントロールに設定したフォーカスは失われません。
}

※CWndクラスのSetWindowText()メンバ関数を呼び出してエディットボックスを初期化する




 ■ ClassWizardを呼び出しボタンにクリックイベントを追加



※IDC_MSGCHECK → BN_CLICKED → 関数追加




 ■ 追加した関数にエディットボックス内のメッセージを表示するソースを追加

void CTest02Dlg::OnMsgcheck()
{
// TODO: この位置にコントロール通知ハンドラ用のコードを追加してください

//※CString型変数、GetMsgを作成
CString GetMsg;

//※CWndクラスのメンバー関数GetWindowTextを使い取得した文字列をGetMsgに代入
m_CharacterData.GetWindowText(GetMsg);

//※メッセージボックスに取得した文字列を表示
MessageBox("入力された文字は 『"+ GetMsg+"』です","MessageBox");
}





 ■ 以上コンパイルすれば完成



※エディットボックスにメッセージを入力し確認ボタンを押すと入力された文字がメッセージボックスに表示される