局部变量创建非模态对话框
来源:互联网 发布:淘宝西班牙代购真假 编辑:程序博客网 时间:2024/06/05 14:36
不用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 !!!
0 0
- 局部变量创建非模态对话框
- 为什么MFC对话框非模态对象不能是静态局部变量?
- ABAP--动态创建局部类型的变量
- ABAP--动态创建局部类型的变量
- 局部变量
- 局部变量
- 局部变量
- 局部变量
- 局部变量
- 局部变量
- 局部变量
- 局部变量
- 局部变量
- 局部变量
- 局部变量
- 局部变量
- 局部变量
- 局部变量
- 语音的基本概念3-模型
- 输出单向链表中倒数第k个结点
- servlet java 调用c/c++ dll动态链接库的位置放置。
- Oracle trunc()函数的用法
- nodejs 阻塞与非阻塞
- 局部变量创建非模态对话框
- CSS相邻选择符
- iOS学习笔记27-摄像头
- 一个通用链表模块(C语言)
- 用Eclipse开发安卓-无法正常预览布局文件layout.xml
- [leetcode] 107. Binary Tree Level Order Traversal II
- mysql不同字段类型所占用的空间
- ios7 statusbar透明设置
- CodeForces 467C George and Job