zip's

while(true) { Write it down; Think about it; Refine it; Sleep(); }

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

new and create

void CProgramDlg::OnBnClickedButton1()
{
CDlgModeless
* dlg = new CDlgModeless();
dlg
->Create(CDlgModeless::IDD, this);
dlg
->ShowWindow(SW_SHOW);
}

 

 

需要处理,non-client area destory 消息,OK 按钮,Cancel 按钮

BEGIN_MESSAGE_MAP(CDlgModeless, CDialog)
ON_WM_NCDESTROY()
ON_BN_CLICKED(IDOK,
&CDlgModeless::OnBnClickedOk)
ON_BN_CLICKED(IDCANCEL,
&CDlgModeless::OnBnClickedCancel)
END_MESSAGE_MAP()

 

在 non-client area destroy 时,delete 上面 new 出来的对话框

void CDlgModeless::OnNcDestroy()
{
CDialog::OnNcDestroy();

delete
this;
}

 

在 OK 和 Cancel 时,调用 DestroyWindow,它会发出 WM_NCDESTORY

void CDlgModeless::OnBnClickedOk()
{
if( UpdateData(true) )
DestroyWindow();
}

void CDlgModeless::OnBnClickedCancel()
{
DestroyWindow();
}

 

posted on 2010-10-09 11:05  zip's  阅读(660)  评论(0编辑  收藏  举报