CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VC/MFC >  基础类

AfxGetApp()->m_pMainWnd->ShowWindow(SW_HIDE)应放在哪个位置?

楼主gothing()2002-03-22 14:05:39 在 VC/MFC / 基础类 提问

如何使程序运行时隐藏dialog窗口?我用AfxGetApp()->m_pMainWnd->ShowWindow(SW_HIDE),应放在哪个位置?  
   
  还有没有别的方法? 问题点数:20、回复次数:16Top

1 楼2ndboy(贱男春)回复于 2002-03-22 14:09:32 得分 1

将对话框的visable属性去掉Top

2 楼kaitty(阿凯)回复于 2002-03-22 14:12:42 得分 0

AfxGetMainWnd()->MoveWindow(-100,-100,0,0);Top

3 楼dockbar(dock)回复于 2002-03-22 14:17:54 得分 2

不用DOMADOL();   用dlg.create().  
  你不调这个showwindow(sw_show)这个;  
  就是隐藏了。  
   
  我记得ShowWindow(SW_HIDE)好像不行。   可能会闪的。这是个先后的问题。Top

4 楼jianfeizhao()回复于 2002-03-22 14:20:02 得分 1

在InitInstance()中将  
  m_pMainWnd->ShowWindow(SW_SHOW);  
  改为  
  m_pMainWnd->ShowWindow(SW_HIDE);Top

5 楼stavck(在河之洲)回复于 2002-03-22 14:21:14 得分 0

改一下CMainFram::PreCreateWindow(CREATESTRUCT   &   cs)  
  {  
        cs.style=WS_POPUP;  
        cs.dwExstyle!=WS_EX_TOOLWINDOW;  
  ……  
  }Top

6 楼gothing()回复于 2002-03-22 14:21:35 得分 0

visable属性去掉不行,为什么AfxGetApp()->m_pMainWnd->ShowWindow(SW_HIDE),行不通?Top

7 楼kaitty(阿凯)回复于 2002-03-22 14:25:29 得分 2

你可能是在OnInitDialog中调用  
  AfxGetApp()->m_pMainWnd->ShowWindow(SW_HIDE),  
  实际上在OnInitDialog退出后有ShowWindow(SW_SHOW);的调用。  
  Top

8 楼CoolBoy_007(coolboy_007)回复于 2002-03-22 14:32:15 得分 2

如果你非要让它隐藏,你可以在启动时先把它移动到非屏幕可视区,然后你再启动一个延时时钟,然后在时钟消息里面调用SHOWWINDOW函数把它隐藏就可以了!Top

9 楼lianhuiyong(阳关故人)回复于 2002-03-22 14:38:15 得分 0

在InitInstance()函数里,使用m_pMainWnd->ShowWindow(SW_HIDE)就可以了Top

10 楼gothing()回复于 2002-03-22 14:40:44 得分 0

我想实现系统托盘,所以一开始隐藏窗口,任务栏条子也隐藏,移动到非屏幕可视区不能达到效果。Top

11 楼ahr(电磁波)回复于 2002-03-22 14:44:22 得分 1

繁琐了点儿,呵呵  
  在OnInitDialog里 PostMessage(WM_USER   +   100);  
  在WindowProc里添加   if(message   ==   WM_USER   +   100)   ShowWindow(SW_HIDE);  
  Top

12 楼surfl(晓龙)回复于 2002-03-22 14:44:55 得分 1

InitInstance()中!Top

13 楼cooleyes(眼睛)回复于 2002-03-22 14:49:50 得分 10

看我的代码节选  
   
  BOOL   CMyTransTrayApp::InitInstance()  
  {  
          ............................  
   
          CMyTransTrayDlg   dlg;  
          m_pMainWnd   =   &dlg;    
          dlg.Create(CMyTransTrayDlg::IDD);    
          dlg.ShowWindow(SW_HIDE);  
          theApp.Run()   ;  
  }Top

14 楼2ndboy(贱男春)回复于 2002-03-22 14:53:35 得分 0

请确定你的对话框是非模态的,然后去掉visable属性,就可以了Top

15 楼hnjx(sp)回复于 2002-03-22 15:21:36 得分 0

楼上的楼上  
  你的代码不行啊  
  dlg.Create(CMyTransTrayDlg::IDD);    
  illegal   token   on   right   side   of   '::'  
           
  Top

16 楼winne_ll(feiyang)回复于 2002-03-22 15:32:33 得分 0

放在初始化里就可以了。MainframeTop

相关问题

  • 关于m_pMainWnd??
  • 为什么m_pMainWnd->ShowWindow(SW_HIDE)以后,窗口还是会闪现一下?
  • m_pMainWnd 为 NULL为什么?
  • 不好意思,我就剩这么多分了。单文档程序 在CXXXApp::InitInstance()函数的m_pMainWnd->ShowWindow()之前能得到文档的指针吗?
  • m_pMainWnd = new CMainWindow;的语意问题
  • 将CToolBar m_toolbar 和CStatusBar m_statusbar动态的设置showwindow的问题
  • m_pMainWnd = &dlg; 为什么会在这句话出现异常??
  • m,m,m,m,m,m,m
  • 怎样可以让CMainFrame的成员m_cDialog,用ShowWindow(SW_SHOW)显示?
  • AppWizard生成的MDI,我想在一个新的线程中AfxGetApp()->m_pDocManager->OnFileNew()创建新窗口,出错!

关键词

  • showwindow
  • pmainwnd
  • sw
  • hide
  • afxgetapp
  • cmytranstraydlg
  • 隐藏
  • dlg
  • 调用
  • initinstance

得分解答快速导航

  • 帖主:gothing
  • 2ndboy
  • dockbar
  • jianfeizhao
  • kaitty
  • CoolBoy_007
  • ahr
  • surfl
  • cooleyes

相关链接

  • Visual C++类图书
  • Visual C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo