手动添加控件

手动添加控件

可以使用 对话框编辑器将控件添加到对话框 ,也可以使用代码自行添加控件。

若要自行创建控件对象,通常会在C++对话框或框架窗口对象中嵌入C++控件对象。 与框架中的其他许多对象一样,控件需要两个阶段构造。 应在创建父对话框或框架窗口时调用控件的 Create 成员函数。 对于对话框,这通常在 OnInitDialog 中完成,对于框架窗口,在 OnCreate 中完成。

下面的示例演示如何在派生对话类的类声明中声明对象CEdit,然后在其中Create调用OnInitDialog成员函数。 由于对象 CEdit 声明为嵌入对象,因此在构造对话框对象时会自动构造该对象,但仍必须使用其自己的 Create 成员函数对其进行初始化。

class CCustomDialog : public CDialog

{

CEdit m_edit;

virtual BOOL OnInitDialog();

};

以下 OnInitDialog 函数设置一个矩形,然后调用 Create 创建 Windows 编辑控件并将其附加到未初始化 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 成员函数将输入焦点设置为控件。 最后,从 OnInitDialog 返回 0,以显示您已设置焦点。 如果返回非零值,对话管理器会将焦点设置为对话项列表中的第一个控件项。 在大多数情况下,需要使用对话框编辑器将控件添加到对话框。

另请参阅

创建和使用控件

控件

CDialog::OnInitDialog

相关推荐

产后康复APP
365bet官网开户

产后康复APP

📅 08-04 👁️ 2297
汽车防爆膜怎么贴?
bt365全程担保

汽车防爆膜怎么贴?

📅 09-19 👁️ 5868
50种休闲农庄亲子体验项目
365bet官网开户

50种休闲农庄亲子体验项目

📅 09-09 👁️ 5691
描写大暑的成语
365bet官网开户

描写大暑的成语

📅 08-14 👁️ 4224
揭秘!古代人是怎样学英语的?
bt365全程担保

揭秘!古代人是怎样学英语的?

📅 07-13 👁️ 9086
请问qq飞车手游是哪一年正式上线的呢?
365bet体坛即时比分

请问qq飞车手游是哪一年正式上线的呢?

📅 09-29 👁️ 1807