VC中实现基于对话框的应用程序在启动时隐藏
2004-11-20 04:45
459 查看
首先要在App类中把对对话框的模式创建改为非模式创建。
具体方法如下:
接下来要添加消息循环的处理代码,否则程序会自动退出。
此处设计为当用户按下对话框上的OK键时程序退出。
由于一开始程序主窗口是隐藏的,需要一个键盘的Hook,设计为当用户按下某个键或组合键时,程序主窗口显示出来。具体的细节不在此文中叙述,请查阅相关资料。
具体方法如下:
CTestHideDialogDlg *dlg = new CTestHideDialogDlg(); m_pMainWnd = dlg; if (dlg!=NULL) { BOOL ret = dlg->Create(IDD_TESTHIDEDIALOG_DIALOG); if(!ret){ AfxMessageBox("Error creating Dialog"); return FALSE; } dlg->ShowWindow(SW_HIDE); } else AfxMessageBox("Error Creating Dialog Object");此时已经创建好了一个非模式对话框,并且初始是隐藏的。
接下来要添加消息循环的处理代码,否则程序会自动退出。
BOOL bRet; MSG msg; while ( (bRet = GetMessage(&msg, NULL, 0, 0)) != 0 ) { if (bRet == -1 ) { } else if (msg.message == WM_COMMAND && msg.wParam == IDOK) { break; } else if (!IsWindow(m_pMainWnd->m_hWnd) || !IsDialogMessage(m_pMainWnd->m_hWnd, &msg)) { TranslateMessage(&msg); DispatchMessage(&msg); } }
此处设计为当用户按下对话框上的OK键时程序退出。
由于一开始程序主窗口是隐藏的,需要一个键盘的Hook,设计为当用户按下某个键或组合键时,程序主窗口显示出来。具体的细节不在此文中叙述,请查阅相关资料。
相关文章推荐
- How the WAP Push Library Implements PAP
- VC实例学习 (1):总结下今天学习的东西
- mag的push请求开发(备份)
- 网络线的做法
- 一辑非常好的人体外拍
- 好晚了。
- 姐妹情深
- 今天注册了属于自己的域名
- 还是不知道……
- 遗憾而归
- Microsoft® SQL Server™数据类型,都有點忘了,放在這裹好查詢些。
- 写点东西
- 刚刚发现在博客园的博客排行榜[前200人]中我的blog竟然排在第47位
- Chinaunix下的精华贴
- Java线程的深入探讨
- 系统资源
- 杨福家:我对高等教育发展中若干现象的迷惑【ZZ】
- 段掌
- System.Convert.To公务员(.net程序员)
- 根据一个30题的测试结果显示,我属于积极进取型,兼有追求平衡型的特质