CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VC/MFC >  基础类

VC中如何设置窗口在最前。

楼主wupangzi(无本之木)2006-08-06 20:55:33 在 VC/MFC / 基础类 提问

VC中如何创建一个窗口永远最前,只到被关闭,就象Windows的资源管理器一样。 问题点数:100、回复次数:27Top

1 楼snowbirdfly(专心搞好嵌入式~~~)回复于 2006-08-06 20:59:01 得分 20

你设置窗体风格为WS_EX_TOPMOST就可以了~~~Top

2 楼seu07201213(【_】〖汪洋中的一片叶子〗≈^︵^≈)回复于 2006-08-06 20:59:02 得分 20

m_dlg.SetWindowPos(&wndTopMost,   0,   0,   600,   400,   SWP_SHOWWINDOW);Top

3 楼seu07201213(【_】〖汪洋中的一片叶子〗≈^︵^≈)回复于 2006-08-06 21:00:07 得分 0

SetWindowPos(&wndTopMost   ,   0,   0,   0,   0,   SWP_NOMOVE|SWP_NOSIZE);Top

4 楼SoLike(思危)回复于 2006-08-06 21:00:44 得分 10

来晚了,都被楼上说光了。  
   
  不过貌似资源管理器,不是永远在前啊。Top

5 楼snowbirdfly(专心搞好嵌入式~~~)回复于 2006-08-06 21:01:28 得分 10

或者是  
  SetWindowPos(&CWnd::wndTopMost,0,0,0,0,        
      SWP_NOMOVE|SWP_NOSIZE);    
  这样就可以了~~~Top

6 楼xqk(夏乾坤)回复于 2006-08-06 21:04:43 得分 10

m_dlg.SetWindowPos(&wndTopMost,   0,   0,   600,   400,   SWP_SHOWWINDOW);  
  Top

7 楼PDD123(没人指导好辛苦)回复于 2006-08-06 21:19:36 得分 10

dlg.SetWindowPos(&(dlg.wndTopMost),   0,   0,   0,   0,   SWP_NOMOVE|SWP_NOSIZE|SWP_SHOWWINDOW);//让这个窗口显示在最前面  
  其中dlg为窗口对象。Top

8 楼believefym(feng)回复于 2006-08-06 21:19:39 得分 10

两个WS_EX_TOPMOST的窗口会怎么样Top

9 楼edwal(无知无情)回复于 2006-08-06 21:55:05 得分 0

哈哈     全是牛人呀  
  大家   说得   都对  
  Top

10 楼Stefine(CSDN最菜滴猩猩)回复于 2006-08-06 21:58:12 得分 0

两个WS_EX_TOPMOST的窗口会怎么样  
   
  是说设置一次以后再设置一次吗?  
   
  这样有必要吗?Top

11 楼believefym(feng)回复于 2006-08-06 22:08:05 得分 0

两个WS_EX_TOPMOST的窗口会怎么样  
   
  是说设置一次以后再设置一次吗?  
   
  这样有必要吗?  
  ----------------  
   
  是两个窗口,不是一个窗口设置两次Top

12 楼cauthyxjs()回复于 2006-08-06 22:42:54 得分 0

来晚了,不过楼上说的是产生两个窗口的意思吗?Top

13 楼czcolin()回复于 2006-08-06 22:47:06 得分 0

还是像楼上的两大侠一样用那句台词:哎~俺来晚了。。  
   
   
  SoLike(思危)    
  不过貌似资源管理器,不是永远在前啊。  
  ----  
  应该是他说错了,他要说的可能是“任务管理器”taskmgr.exe  
  Top

14 楼czcolin()回复于 2006-08-06 22:58:43 得分 0

这API要7个参数,第一个参数应句柄对才:  
   
  SetWindowPos(headle,HWND_TOPMOST,0,0,0,0,SWP_NOMOVE|SWP_NOSIZE)Top

15 楼ColdMooon(天上有个太阳)(水中有个月亮)回复于 2006-08-07 00:55:21 得分 0

方法被别人说了...  
   
  但是,滥用顶层窗口会让用户讨厌的.楼住要慎重啊.Top

16 楼jiangsheng(蒋晟.Net[MVP])回复于 2006-08-07 01:15:41 得分 10

全屏打游戏的时候QQ窗口还在最前,烦死了Top

17 楼hhyytt(鹦鹉螺)回复于 2006-08-07 08:02:53 得分 0

设置扩展属性WS_EX_TOPMOST  
  或者SetWindowPos(headle,HWND_TOPMOST,0,0,0,0,SWP_NOMOVE|SWP_NOSIZE)  
  Top

18 楼seu07201213(【_】〖汪洋中的一片叶子〗≈^︵^≈)回复于 2006-08-07 08:52:43 得分 0

jiangsheng..........^-^...............Top

19 楼tdtdtdtdtd123(飘)回复于 2006-08-07 09:01:59 得分 0

全屏打游戏的时候QQ窗口还在最前,烦死了  
  Top

20 楼Featured(我握着爱情的门票静静排队……)回复于 2006-08-07 11:05:08 得分 0

全屏打游戏的时候QQ窗口还在最前,烦死了Top

21 楼diablodai()回复于 2006-08-07 12:00:43 得分 0

?Top

22 楼wubaowang(Knowledge is power)回复于 2006-08-07 12:42:12 得分 0

接分...Top

23 楼JessC(人类一思考,上帝就发笑.)回复于 2006-08-07 13:15:23 得分 0

...烦死了Top

24 楼robin_yao()回复于 2006-08-07 13:52:15 得分 0

jiangsheng也打游戏啊。。。Top

25 楼zhujiujun(<<<<<<<<动感光波>>>>>>>>)回复于 2006-08-07 14:08:12 得分 0

哈哈,我VB程序里面刚好有用,将就着用吧.vc也是SetWindowPos    
  Const   HWND_TOPMOST   =   -1  
  Private   Sub   AlwaysOnTop(blFlag   As   Boolean)  
   
        If   blFlag   =   True   Then  
              SetWindowPos   MainFrm.hWnd,   HWND_TOPMOST,   0,   0,   0,   0,   wFlags  
        Else  
              SetWindowPos   MainFrm.hWnd,   HWND_NOTOPMOST,   0,   0,   0,   0,   wFlags  
        End   If  
        m_blTopMost   =   Not   (m_blTopMost)  
  End   SubTop

26 楼www9158com(www.9158.com)回复于 2006-08-07 14:37:45 得分 0

SetWindowPosTop

27 楼Nowish(看我能忍耐多久)回复于 2006-08-07 16:29:52 得分 0

mark~Top

相关问题

关键词

得分解答快速导航

  • 帖主:wupangzi
  • snowbirdfly
  • seu07201213
  • SoLike
  • snowbirdfly
  • xqk
  • PDD123
  • believefym
  • jiangsheng

相关链接

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

广告也精彩

反馈

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