3
我有一個帶有靜態文本和編輯控件的對話框。在對話框控件類中,我有一個控制變量,它可以在編輯框中設置初始值,當用戶修改它時,會有一個具有編輯框值的int。兩者都是私有變量,但我沒有獲得整數變量的值。是否有任何方式下面檢測該被取樣的代碼基礎MFC EditControl的值不是私人成員
class CYrdAuthorityPage : public CPropertyPage
{
DECLARE_DYNAMIC(CYrdAuthorityPage)
public:
CYrdAuthorityPage();
virtual ~CYrdAuthorityPage();
// Dialog Data
enum { IDD = IDD_YRD_AUTHORITY_DIALOG };
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
DECLARE_MESSAGE_MAP()
private:
CEdit m_authctrl;
int m_authval;
public:
afx_msg void OnEnChangeAuthEdit();
};
IMPLEMENT_DYNAMIC(CYrdAuthorityPage, CPropertyPage)
CYrdAuthorityPage::CYrdAuthorityPage()
: CPropertyPage(CYrdAuthorityPage::IDD)
{
}
CYrdAuthorityPage::~CYrdAuthorityPage()
{
}
void CYrdAuthorityPage::DoDataExchange(CDataExchange* pDX)
{
CPropertyPage::DoDataExchange(pDX);
DDX_Control(pDX, IDC_AUTH_EDIT, m_authctrl);
DDX_Text(pDX,IDC_AUTH_EDIT,m_authval);
}
/*BEGIN_MESSAGE_MAP(CYrdAuthorityPage, CPropertyPage)
ON_EN_CHANGE(IDC_AUTH_EDIT, &CYrdAuthorityPage::OnEnChangeAuthEdit)
END_MESSAGE_MAP()*/
這裏m_authval不具有價值。我認爲這可能是因爲它是私人的,但公開也給出了相同的結果。我已經設置了編輯框來集中對齊文本。
謝謝
[對話數據交換](http://msdn.microsoft.com/en-us/library/xwz5tb1x.aspx) – 2014-09-19 12:07:34
您是否在談論初始值?你不提供初始值。 – rrirower 2014-09-19 12:37:48
我剛剛給出了一些代碼片段,我刪除了一些細節,因爲代碼長度超過600行。但問題是一樣的,我沒有使用DDX宏獲得價值。 – user3494614 2014-09-19 12:45:35