GetDlgItem
在calculator窗口的Button1按钮执行调用一个mycalc类的窗口。
void CcalculatorDlg::OnBnClickedButton1()
{
// TODO: 在此添加控件通知处理程序代码
mycalc *mycalc_dlg = new mycalc;
mycalc_dlg->Create(IDD_DIALOG1,NULL);
mycalc_dlg->ShowWindow(SW_SHOW);
// 非模态
}
几个函数:
1.GetdlgItem:
Dlg -- 对话窗,一个控件。
根据一个对话窗或一个控件的ID, 返回一个指向这个对话窗或控件的对象的指针。
例如,IDC_EDIT1 是 控件的ID
CEdit* pBoxOne;
pBoxOne = (CEdit*) GetDlgItem(IDC_EDIT1);
用 GetDlgItem(IDC_EDIT1); 返回一个指向这个控件的指针, CEdit* ,存入 pBoxOne。
接下来,就可以用它了,例如:
GotoDlgCtrl(pBoxOne);
2.create() in vs2010
两种形式:
virtual BOOL Create(
LPCTSTR lpszTemplateName,
CWnd* pParentWnd = NULL
);
virtual BOOL Create(
UINT nIDTemplate,
CWnd* pParentWnd = NULL
);
lpszTemplateName
包含是对话框模板资源的名称为Null终止的字符串。
pParentWnd
指向父窗口对象(类型 CWnd)对话框对象属于。 如果是 NULL,对话框对象的父窗口设置为主应用程序窗口。
nIDTemplate
包含对话框模板资源的ID号。
如果对话框创建和初始化成功,两种形式返回非零;否则为0。
CWnd::ShowWindow
BOOL ShowWindow( int nCmdShow );
返回值:如果窗口原来可见,则返回非零值;如果CWnd原来是隐藏的,则返回0。
参数:
nCmdShow | 指定了CWnd应如何被显示。它必须是下列值之一: |
SW_HIDE | 隐藏窗口并将活动状态传递给其它窗口。 |
SW_MINIMIZE | 最小化窗口并激活系统列表中的顶层窗口。 |
SW_RESTORE | 激活并显示窗口。如果窗口是最小化或最大化的,Windows恢复其原来的大小和位置。 |
SW_SHOW | 激活窗口并以其当前的大小和位置显示。 |
SW_SHOWMAXIMIZED | 激活窗口并显示为最大化窗口。 |
SW_SHOWMINIMIZED | 激活窗口并显示为图标。 |
SW_SHOWMINNOACTIVE | 将窗口显示为图标。当前活动的窗口将保持活动状态。 |
SW_SHOWNA | 按照当前状态显示窗口。当前活动的窗口将保持活动状态。 |
SW_SHOWNOACTIVATE | 按窗口最近的大小和位置显示。当前活动的窗口将保持活动状态。 |
SW_SHOWNORMAL | 激活并显示窗口。如果窗口是最小化或最大化的,则Windows恢复它原来的大小和位置。 |
说明:
这个函数设置窗口的可视状态。
每个应用程序只应用CWinApp::m_nCmdShow为主窗口调用一次ShowWindow。以后调用ShowWindow应该用上面列出的值来代替CWinApp::m_nCmdShow指定的值。