局部变量创建非模态对话框

原创 2016年07月18日 10:14:29

不用new创建非模态对话框方法如下:

int DoEvents()
{
    MSG msg;
    // Process existing messages in the application's message queue.
    // When the queue is empty, do clean up and return.
    while (::PeekMessage(&msg,NULL,0,0,PM_NOREMOVE))
    {// has msg
        if(msg.message== WM_APP) return 1;
        if (!AfxGetThread()->PumpMessage()) break;
    }
    return 0;
}
//
WNDPROC g_OldProc=0;
LRESULT CALLBACK NewProc(HWND hwnd,UINT message,WPARAM wParam,LPARAM lParam)
{
    switch(message) 
    
    case WM_CLOSE: 
        PostMessage(GetParent(hwnd),WM_APP,0,0);
    break;
    case WM_COMMAND: // 0x0111
        if(LOWORD(wParam)==IDOK)
        {   
            PostMessage(GetParent(hwnd),WM_APP,0,0);
        }
    break;   
    
    return CallWindowProc(g_OldProc, hwnd, message, wParam, lParam);
//
void CxxxxDlg::OnButton1() 
{
    CAboutDlg dlg;// modeless dlg , not use new !!!
    dlg.Create(IDD_ABOUTBOX);
    dlg.ShowWindow(SW_SHOW);
    g_OldProc = (WNDPROC)SetWindowLong(dlg.m_hWnd, GWL_WNDPROC, (LONG)NewProc);
//
    while (!DoEvents());
    dlg.DestroyWindow();
    afxDump << "Dlg closed()\n";
}

注意
CAboutDlg dlg;// modeless dlg , not use new !!!

创建非模态对话框

  • 2011年10月25日 09:15
  • 641B
  • 下载

VC非模态对话框创建和销毁

VC非模态对话框创建和销毁 非模态对话框相对于模态对话框,他的创建和销毁过程和模态对话框有一定的区别 先看一下MSDN的原文: When   you   implement   ...

非模态对话框的创建及使用

非模态对话框的创建及使用

MFC--非模态对话框的创建

文章转自:http://www.cnblogs.com/letben/p/5328334.html 按照我们的之前的做法,先新建工程。 把基本的内容都添加上。 形成这样一个样子: ...

转:VC非模态对话框创建和销毁

非模态对话框相对于模态对话框,他的创建和销毁过程和模态对话框有一定的区别 先看一下MSDN的原文:When   you   implement   a   modeless   dialog   bo...
  • tompaz
  • tompaz
  • 2011年05月13日 16:09
  • 577

VC非模态对话框创建和销毁

article copy from: http://blog.csdn.net/nolatestudy/article/details/7003891 =======================...

非模态对话框的创建和销毁及全局指针的使用注意事项

////////////////////////////////////////////////////////////////////////////////////////////////////...
  • dmanran
  • dmanran
  • 2013年08月06日 00:53
  • 731

非模态对话框的创建及显示

非模态对话框显示后,程序其他窗口仍能正常运行,可以响应用户输入,还可以相互切换。本文将上一讲中创建的Tip模态对话框改为非模态对话框,让大家看下效果。        非模态对话框的对话框资源和对话框...

关于MFC下多线程,在线程中创建非模态对话框以及消息传递

多线程,非模态对话框,消息传递,定时器
  • DirkNow
  • DirkNow
  • 2011年05月13日 21:42
  • 7390
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:局部变量创建非模态对话框
举报原因:
原因补充:

(最多只允许输入30个字)