手动添加控件
可以 将控件添加到具有对话框编辑器的对话框 或添加自行,代码的。
若要创建控件对象,可以在 c. C++ 对话框或框架窗口对象通常将嵌入 C++ 控件对象。 与框架的许多其他对象,控件需要两阶段结构。 在创建父对话框或框架窗口的一部分,应调用控件的 创建 成员函数。 对于对话框,这通常执行在 OnInitDialog以及框架窗口,在 OnCreate。
下面的示例演示如何声明在派生的对话框类的类声明的一 CEdit 对象并调用 OnInitDialog的 创建 成员函数。 由于 CEdit 对象声明为一个嵌入对象,它自动构造,当构造对话框对象时,但是,仍然必须初始化其自身的 创建 成员函数。
class CCustomDialog : public CDialog
{
CEdit m_edit;
virtual BOOL OnInitDialog();
};
下面 OnInitDialog 功能设置矩形,然后调用 创建 创建窗口编辑控件并将它附加到未初始化的 CEdit 对象。
BOOL CCustomDialog::OnInitDialog()
{
CDialog::OnInitDialog();
CRect rect(85, 110, 180, 210);
m_edit.Create(WS_CHILD | WS_VISIBLE | WS_TABSTOP |
ES_AUTOHSCROLL | WS_BORDER, rect, this, IDC_EXTRA_EDIT);
m_edit.SetFocus();
return FALSE;
}
在创建编辑对象后,您也可以将输入焦点到控件通过调用 SetFocus 成员函数。 最后,则返回 0 从 OnInitDialog 表示,将焦点。 如果返回非零值,对话框管理器将焦点设置在对话框项目的第一个控件项列表。 在许多情况下,需要将控件添加到的具有对话框编辑器的对话框。