MFCでのエディットコントロールの使い方

エディットコントロールとは、文字や数字を入力するパーツのことです。

プログラムではよく使用するので、使い方をマスターしておくべきです。

ここでは、このエディットコントロールの使い方を解説していきます。

 

エディットコントロールを配置する

まずはツールボックスよりエディットコントロールを配置しましょう。

スクリーンショット_091613_104053_PM

ドラッグアンドドロップで配置できるので簡単ですね。

 

次に、プロパティの設定をします。以下にプロパティの主要項目を箇条書きで説明します。

  1. ID:コントロールの名前です。
  2. Align Text:文字を左寄せ、中央寄せ、右寄せにするかを設定できます。
  3. Disabled:Trueならエディットボックスを使用できなくなります。

 

エディットコントロールのポインタは

((CEdit*)GetDlgItem(エディットコントロールのID))

で取得できます。ただし、よく使う場合は、いちいちこの方法でポインタを取得するのは面倒です。

そこで、エディットコントロールを右クリックして、「変数の追加」を選択します。すると以下のような画面がでます。

スクリーンショット_091613_104743_PM

変数名を「m_edit」と付けて完了ボタンを押します。これにより

m_edit.命令

で簡単にエディットコントロールを制御できます。

エディットコントロールを制御する

では、エディットコントロールを使ってみましょう。

文字を読み取る

まず、エディットコントロールの文字を読み込みたい場合について説明します。

文字を読み取る場合は

CString ss;
m_edit.GetWindowTextA(ss);

とします。これにより、ssに読み込まれた文字列が入ります。

 

整数値にしたい場合は

int x = _ttoi( ss.GetBuffer(0) );

を使用し、実数値の場合は

double nBuf = atof(ss.GetBuffer(0));
strDword.ReleaseBuffer();

を利用します。

文字を書き出す

文字列「text」をエディットコントロールへ書き出したい場合は

m_edit.SetWindowTextA(“text”);

とします。

最後に

以上でエディットコントロールの解説を終わります。

エディットコントロールを使えば、ユーザーからの入力を文字列形式で得ることができます。

もちろん、数値を入力させて、読み込むことも可能です。

ただし、この場合はCStringをintやfloatに変換する必要があります。

著者:安井 真人(やすい まさと)