gpt4 book ai didi

c++ - MFC EditControl 的值不在私有(private)成员中

转载 作者:太空狗 更新时间:2023-10-29 23:03:19 26 4
gpt4 key购买 nike

我有一个带有静态文本和编辑控件的对话框。在对话框控件类中,我有一个控制变量,用于在编辑框中设置初始值,还有一个 int,当用户更改它时,它将具有编辑框的值。两者都是私有(private)变量,但我没有在整数变量中获取值。有什么方法可以检测到下面的示例代码库

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 没有值(value)。我认为这可能是因为它是私有(private)的,但将其公开也会产生相同的结果。我已将编辑框设置为居中对齐文本。

谢谢

最佳答案

控件和 int 变量之间的数据交换不会神奇地发生。它在您调用 UpdateData 成员函数时发生。你有调用那个函数吗?

关于c++ - MFC EditControl 的值不在私有(private)成员中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25933438/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com