手动添加控件

可以 将控件添加到具有对话框编辑器的对话框 或添加自行,代码的。

若要创建控件对象,可以在 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 表示,将焦点。 如果返回非零值,对话框管理器将焦点设置在对话框项目的第一个控件项列表。 在许多情况下,需要将控件添加到的具有对话框编辑器的对话框。

请参见

参考

创建和使用控件

CDialog::OnInitDialog

概念

控件(MFC)