通过代码向导对控件进行类型安全的访问
如果熟悉 DDX 功能,则可以使用添加成员变量向导中的控件属性来创建类型安全访问。 此方法比在没有代码向导的情况下创建控件更容易。
如果只想访问控件的值,DDX 会提供该值。 如果除了访问控件的值之外,还希望执行更多操作,请使用“添加成员变量向导”将相应类的成员变量添加到你的对话框类中。 将此成员变量附加到控件属性。
成员变量可以具有控件属性,而不是值属性。 Value 属性引用从控件返回的数据类型,例如 CString
或 int
。 控件属性允许通过类型为 MFC 中的控件类之一的数据成员(例如 CButton
或 CEdit
)直接访问控件。
注意
对于给定控件,如果需要,可以具有带值属性的多个成员变量,以及最多一个带控件属性的成员变量。 只能将一个 MFC 对象映射到一个控件,因为附加到一个控件或任何其他窗口的多个对象会导致消息映射中出现多义性。
可以使用此对象为控件对象调用任何成员函数。 此类调用会影响对话框中的控件。 例如,对于由类型为 CButton
的变量 m_Checkbox 表示的复选框控件,可以调用:
m_Checkbox.SetCheck(BST_CHECKED);
此处,成员变量 m_Checkbox 与不通过代码向导对控件进行类型安全的访问中所示的成员函数 GetMyCheckbox
的用途相同。 如果此复选框不是自动复选框,则在单击按钮时,仍然需要在你的对话框类中为 BN_CLICKED 控件通知消息提供一个处理程序。
有关控件的详细信息,请参阅控件。