12,796
回編集
細 (文字列「<source lang」を「<syntaxhighlight lang」に置換) |
|||
2行目: | 2行目: | ||
CEditを継承したクラスを作成し、OnChar関数をオーバーライドする。 | CEditを継承したクラスを作成し、OnChar関数をオーバーライドする。 | ||
< | <syntaxhighlight lang="c++"> | ||
CNumericEdit.h | CNumericEdit.h | ||
35行目: | 35行目: | ||
</source> | </source> | ||
<br> | <br> | ||
< | <syntaxhighlight lang="c++"> | ||
#include "stdafx.h" | #include "stdafx.h" | ||
#include "CNumericEdit.h" | #include "CNumericEdit.h" | ||
119行目: | 119行目: | ||
DoModal()関数がIDOKを返した時点で、ダイアログ内のコントロールが破棄されてしまうため、値を取得する事ができない。<br> | DoModal()関数がIDOKを返した時点で、ダイアログ内のコントロールが破棄されてしまうため、値を取得する事ができない。<br> | ||
この場合、メンバにCString型の変数を定義し、DDX_Textで値を更新する。<br> | この場合、メンバにCString型の変数を定義し、DDX_Textで値を更新する。<br> | ||
< | <syntaxhighlight lang="c++"> | ||
CMyDialog dlg; | CMyDialog dlg; | ||
133行目: | 133行目: | ||
== 入力値の制限と値取得を同時に行う == | == 入力値の制限と値取得を同時に行う == | ||
CEdit型とCString型の変数を定義し、DoDataExchange内に、DDXControlとDDXTEXTを追加する。 | CEdit型とCString型の変数を定義し、DoDataExchange内に、DDXControlとDDXTEXTを追加する。 | ||
< | <syntaxhighlight lang="c++"> | ||
void CMyDialog::DoDataExchange(CDataExchange* pDX) | void CMyDialog::DoDataExchange(CDataExchange* pDX) | ||
{ | { | ||
150行目: | 150行目: | ||
ダイアログデータバリデーション(DDV)を使用する。<br> | ダイアログデータバリデーション(DDV)を使用する。<br> | ||
DoDataExchange()内に下記のように関数を追加する。<br> | DoDataExchange()内に下記のように関数を追加する。<br> | ||
< | <syntaxhighlight lang="c++"> | ||
void CMyDialog::DoDataExchange(CDataExchange* pDX) | void CMyDialog::DoDataExchange(CDataExchange* pDX) | ||
{ | { | ||
173行目: | 173行目: | ||
そこで、データが有効か確認するための独自関数を作成する。<br> | そこで、データが有効か確認するための独自関数を作成する。<br> | ||
<br> | <br> | ||
< | <syntaxhighlight lang="c++"> | ||
void DDV_CheckLowerUpper(CDataExchange* pDX, double lower, double upper) | void DDV_CheckLowerUpper(CDataExchange* pDX, double lower, double upper) | ||
{ | { | ||
184行目: | 184行目: | ||
</source> | </source> | ||
上記の関数を、DoDataExchange()内に追記する。<br> | 上記の関数を、DoDataExchange()内に追記する。<br> | ||
< | <syntaxhighlight lang="c++"> | ||
void CMyDialog::DoDataExchange(CDataExchange* pDX) | void CMyDialog::DoDataExchange(CDataExchange* pDX) | ||
{ | { |