来者又分!MFC窗口怎么放在前面?不是置顶操作! 弹出一个窗口,会跑到最底下去,调用时想把它放在最前面。我试过了,不是用SetWindowPos,会一直置顶请问我应该如何操作? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 BOOL SetForegroundWindow(HWND hWnd); SetWindowPos只是设置窗口的焦点,它没有对窗口控制的动作,所以不能置前! SetActiveWindow + SetForegroundWindow 1.SetWindowPos 先置顶,然后马上取消掉置顶2.SetForegroundWindow保持关注... 直接用这一个函数SetForegroundWindow 永远在顶的窗口:::SetWindowPos( yourWndHandle, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE | SWP_NOREPOSITION ); 要想确保自己的界面在最前面,必须保证置顶,但这个问题你可以换个思路:在弹出时,设置该窗口置顶,但加载OnKillFocus这个消息函数处理。当其他窗口弹出时,会触发当前窗口失去焦点的消息,进入OnKillFocus,在这个消息函数里做一个当前窗口的隐藏处理。 BOOL WINAPI SetForegroundWindow( __in HWND hWnd);应该就是这个函数。 应该这个SetActiveWindow 就可以实现LZ的目的了 没遇过!前一个ShowWindow(SW_HIDE);后一个MoveWindow ShowWindow(SW_SHOW) 你是想让你的程序弹出的子对话框一直在你程序的最前面??这样建立个模式对话框试试。如果是想让程序一直在桌面窗口的最前面 就用::SetWindowPos( yourWndHandle, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE | SWP_NOREPOSITION ) 自己写的聊天服务器,运行时出现想不通的错误 如何在Tree控件中实现多选。 视频会议系统登录界面没问题,进入主界面时却出现错误 CEdit能设置部分文字的颜色吗 如何逐个得到一个对话框中或者一个视中的所有控件,我想onsize..... 怎么把一篇在word文档中的考试题目导入到一个数据库中去? 如何快速的得到屏幕画面的数据 错误信息:Inaccurate System Timer 如果一个ActiveX控件没有Enable属性,那我怎样才能禁止这个控件 openssl 把数据加密后写到文件又读出来出现问题 面试题 opencv与摄像头的问题...
2.SetForegroundWindow
保持关注...
在弹出时,设置该窗口置顶,但加载OnKillFocus这个消息函数处理。当其他窗口弹出时,会触发当前窗口失去焦点的消息,进入OnKillFocus,在这个消息函数里做一个当前窗口的隐藏处理。
__in HWND hWnd
);
应该就是这个函数。
前一个ShowWindow(SW_HIDE);
后一个MoveWindow
ShowWindow(SW_SHOW)
这样建立个模式对话框试试。
如果是想让程序一直在桌面窗口的最前面 就用
::SetWindowPos( yourWndHandle, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE | SWP_NOREPOSITION )