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指定的值。