在一个单文档中打开一个非模式对话框,想在关闭非模式对话框关闭前,把单文档对窗口设置为最大话,但是,却GetParent()得不到父窗口。请问各位有没有这方面的问题过啊。代码如:
void CDlg::OnClose()
{
CMainFrame * frame=(CMainFrame *)GetParent();
frame->ShowWindow(SW_SHOWMAXIMIZED);
CDialog::OnClose();
}
void CDlg::OnClose()
{
CMainFrame * frame=(CMainFrame *)GetParent();
frame->ShowWindow(SW_SHOWMAXIMIZED);
CDialog::OnClose();
}
解决方案 »
- win sdk有没有提供自己的标准库里面的_tcsstr函数
- 关于界面的一些问题希望能得到大家的帮助!
- 东莞东运机械制造有限公司,诚聘VC++程序员2名
- 多文档视图模板问题
- 请问:ClassWizard中建了一个新类,在ClassWizard中能看到,但是在左边的工作区中却看不到,是什么原因?
- 我该怎么办,救救我呀.(来着有分,,不能见死不救呀)
- 怎么老是出现这样子的语法错误信息: error C2143: syntax error : missing ';' before '*'
- 请问,在上海软件工程师月薪多少?
- sendto和WSASendto,recvfrom和WSARecvfrom有什么区别?
- 关于UNION联合体的调用问题
- B样条曲面控制点反算问题,急,想不出来就要被老板k了!
- strcmp返回值问题
void CDlg::OnClose()
{
HWND hParent = ::GetParent(m_hWnd);
::ShowWindow(hParent, SW_MAXIMIZE);
CDialog::OnClose();
}
{
m_dlg.Create(IDD_COLOR,this);
}
它是框架类的成员.
void CDialog1::OnButton1()
{
// TODO: Add your control notification handler code here
CMainFrame *pFrame=(CMainFrame*)AfxGetMainWnd();
pFrame->ShowWindow(SW_MAXIMIZE);
CDialog::OnOK();
}
1. 是否添加了消息映射 ON_WM_CLOSE() ?
2. OnClose改成OnCancel试试
{
HWND hParent = ::GetParent(m_dlg.m_hWnd);
::ShowWindow(hParent, SW_MAXIMIZE);
CDialog::OnClose();
}应该没问题啊,按机器人的说法来检查是否调用...
{
// TODO: Add your control notification handler code here
CMainFrame *pFrame=(CMainFrame*)AfxGetMainWnd();
pFrame->ShowWindow(SW_MAXIMIZE);
CDialog::OnOK();
}
绝对可以!
GetParent()只能得到这个Modeless dialog自己的框架窗口而已.
什么GetParent(),GetTopLevelOwner(),GetTopWindow()等这些个CWnd成员函数都一样.
开始发分了....谢谢大家了.....