松本様

小野木です。

In21844
>DDV_MinMaxInt(pDX, m_nXXXX, 1, 4);
>
> void CxxxDlg::OnDestroy()
> {
>  CString str;
>  ((CEdit*)GetDlgItem(IDC_EDIT2))->GetWindowText(str);
>  m_nXXXX = atoi(str);
> }
> CxxxDlgのIDC_EDIT2に「10」を入力して
> ウィンドゥを閉じても判定してくれません。

それは、コントロール上のメモリと、CxxxDlg::m_nXXX が使うメモリ
が別なためです。DoDataExchangeを直接呼ぶのではなく、
UpdateData() を実行すると、コントロール→CxxxDlg へ値がコピー
されて、その際に判定されます。
CxxxDlg → コントロールは UpdateData(FALSE) です。

> 例えば、ボタンクリックで判定するようにするには
ボタンのハンドラ内で
CxxxDlg::OnButton1()
{
  UpdateData();
}
でOKです。

---------------------------------
小野木一樹 o...@z2.zzz.or.jp
 http://www.aaa-int.or.jp/onogin
---------------------------------