说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

如何把程序窗口显示在其他所有程序的前边

编辑:说三道四文库 发布时间:2017-11-19 07:27
HTML文档下载 WORD文档下载 PDF文档下载
就象QQ的窗口样显示在其他所有程序的前边
SetWindowPos()
说详细一点好吗?
谢谢拉!
把下面这两条语句加到OnInitDialog();中去。
SetFocus();
SetWindowPos(&wndTopMost,0,0,100,100,SWP_NOSIZE|SWP_NOMOVE|SWP_NOACTIVATE);
函如下(摘自msdn)
CWnd::SetWindowPos
BOOL SetWindowPos( const CWnd* pWndInsertAfter, int x, int y, int cx, int cy, UINT nFlags );

Return Value

Nonzero if the function is successful; otherwise 0.

Parameters

pWndInsertAfter

Identifies the CWnd object that will precede this CWnd object in the Z-order. This parameter can be a pointer to a CWnd or a Pointer to one of the following values: 

wndBottom   Places the window at the bottom of the Z-order. If this CWnd is a topmost window, the window loses its topmost status; the system places the window at the bottom of all other windows.


wndTop   Places the window at the top of the Z-order.


wndTopMost   Places the window above all nontopmost windows. The window maintains its topmost position even when it is deactivated.


wndNoTopMost   Repositions the window to the top of all nontopmost windows (that is, behind all topmost windows). This flag has no effect if the window is already a nontopmost window.
See the “Remarks” section for this function for rules about how this parameter is used.

x

Specifies the new position of the left side of the window.

y

Specifies the new position of the top of the window.

cx

Specifies the new width of the window.

cy

Specifies the new height of the window.

nFlags

Specifies sizing and positioning options. This parameter can be a combination of the following: 

SWP_DRAWFRAME   Draws a frame (defined when the window was created) around the window. 


SWP_FRAMECHANGED   Sends a WM_NCCALCSIZE message to the window, even if the window's size is not being changed. If this flag is not specified, WM_NCCALCSIZE is sent only when the window's size is being changed.


SWP_HIDEWINDOW   Hides the window.


SWP_NOACTIVATE   Does not activate the window. If this flag is not set, the window is activated and moved to the top of either the topmost or the nontopmost group (depending on the setting of the pWndInsertAfter parameter).


SWP_NOCOPYBITS   Discards the entire contents of the client area. If this flag is not specified, the valid contents of the client area are saved and copied back into the client area after the window is sized or repositioned.


SWP_NOMOVE   Retains current position (ignores the x and y parameters).


SWP_NOOWNERZORDER   Does not change the owner window’s position in the Z-order.


SWP_NOREDRAW   Does not redraw changes. If this flag is set, no repainting of any kind occurs. This applies to the client area, the nonclient area (including the title and scroll bars), and any part of the parent window uncovered as a result of the moved window. When this flag is set, the application must explicitly invalidate or redraw any parts of the window and parent window that must be redrawn.


SWP_NOREPOSITION   Same as SWP_NOOWNERZORDER. 


SWP_NOSENDCHANGING   Prevents the window from receiving the WM_WINDOWPOSCHANGING message.


SWP_NOSIZE   Retains current size (ignores the cx and cy parameters).


SWP_NOZORDER   Retains current ordering (ignores pWndInsertAfter).


SWP_SHOWWINDOW   Displays the window. 
Remarks

Call this member function to change the size, position, and Z-order of child, pop-up, and top-level windows.

Windows are ordered on the screen according to their Z-order; the window at the top of the Z-order appears on top of all other windows in the order.

All coordinates for child windows are client coordinates (relative to the upper-left corner of the parent window’s client area). 

A window can be moved to the top of the Z-order either by setting the pWndInsertAfter parameter to &wndTopMost and ensuring that the SWP_NOZORDER flag is not set or by setting a window’s Z-order so that it is above any existing topmost windows. When a nontopmost window is made topmost, its owned windows are also made topmost. Its owners are not changed. 

A topmost window is no longer topmost if it is repositioned to the bottom (&wndBottom) of the Z-order or after any nontopmost window. When a topmost window is made nontopmost, all of its owners and its owned windows are also made nontopmost windows.

If neither SWP_NOACTIVATE nor SWP_NOZORDER is specified (that is, when the application requests that a window be simultaneously activated and placed in the specified Z-order), the value specified in pWndInsertAfter is used only in the following circumstances: 

Neither &wndTopMost nor &wndNoTopMost is specified in the pWndInsertAfter parameter.


This window is not the active window. 
An application cannot activate an inactive window without also bringing it to the top of the Z-order. Applications can change the Z-order of an activated window without restrictions.

A nontopmost window may own a topmost window, but not vice versa. Any window (for example, a dialog box) owned by a topmost window is itself made a topmost window to ensure that all owned windows stay above their owner.

With Windows versions 3.1 and later, windows can be moved to the top of the Z-order and locked there by setting their WS_EX_TOPMOST styles. Such a topmost window maintains its topmost position even when deactivated. For example, selecting the WinHelp Always On Top command makes the Help window topmost, and it then remains visible when you return to your application.

To create a topmost window, call SetWindowPos with the pWndInsertAfter parameter equal to &wndTopMost, or set the WS_EX_TOPMOST style when you create the window.

If the Z-order contains any windows with the WS_EX_TOPMOST style, a window moved with the &wndTopMost value is placed at the top of all nontopmost windows, but below any topmost windows. When an application activates an inactive window without the WS_EX_TOPMOST bit, the window is moved above all nontopmost windows but below any topmost windows.

If SetWindowPos is called when the pWndInsertAfter parameter is &wndBottom and CWnd is a topmost window, the window loses its topmost status (WS_EX_TOPMOST is cleared), and the system places the window at the bottom of the Z-order.

CWnd Overview |  Class Members |  Hierarchy Chart

See Also   ::DeferWindowPos,::SetWindowPos
开源产品系列:面向组件的Web框架tapestry 360指责百度窃取用户信息 公布美杜莎插件技术分析 苹果正式发布iOS 6.1 最快本周日即可越狱 苹果高管:运行iOS 6的设备达3亿 Chrome OS 黑客大赛总奖金为314.159万美元 微软雷德蒙研究院副总裁:从计算研究到惊人发明 还驾驭不了4核? 别人已模拟出百万核心上的并行 RIM将网络直播BlackBerry 10发布会 解读TDD的五大误区 Amazon 2012财年Q4财报:电子书业务增长70% 从暴风影音CTO到创业者:画中画相机话中话 为什么Android应用开发总要比iOS晚? 传奇VC马克.安德雷森:未来的企业什么样? 呼吁国会通过“创业签证”:奥巴马助力美国招揽海外人才 Surface Pro最低1019美元,价值究竟如何? 搜狗号码通产品经理谈微创新 数据和运营更关键 在线推荐系统是如何进行工作的? 欧朋浏览器上架App Store,iOS生态真要变天? 苹果iOS 6.1地图搜索API将替代谷歌Places Oracle向开发者承诺 称尽快修复Java安全问题 日本:开发者与投资人都不容忽视的移动市场 Unity 3D引擎:十大最火的插件推荐 重塑品牌 RIM更名黑莓 发布BlackBerry 10移动操作系统及新手机 NoSQL依赖的不只是大数据 还有应用程序架构的改变 新一代Apple TV增强内在组件 外观不变 加速Web开发的7款知名HTML5框架 Firefox OS开发者日来袭 5小时15款Web应用出炉! 微软发布Office 365家庭高级版 订阅费499元/年 鲍尔默对Office信心满满,十亿用户量触手可及 【多图】梦幻现实 IBM的未来超级计算机水世界 一名骨灰级工程师的OpenStack部署总结引发的讨论 高分组网,斑竹不要删~~~~~~~~~~~~~~~ win2000 sever怎样安装borland c++builder?(高分100) 如何按分组条件,给一个字段乘以不同的值 求电子书!!! win2000问题,很急.在线等 求教,用delphi编的drm程序,急!~~~~~~~~ 请教对话框的创建 倒粪1 win2k中tts问题 XML+XSL+HTML运行出错(书上的例子) 倒粪2 高手帮我看一下这个奇怪的问题 倒粪3 ServerSocket的疑问 倒粪4 电脑配件 请问如何在JBuilder中调用我自己编写的JavaBean? 文件1可以Imports文件2的Namespace么? 我需要一个汉字的字库和词库,请问在什么地方能够得到?或者怎么可以从一个输入法程序中导出词库或词库?多谢。 调查:有多少人用的支持Java的手机? 关于注册表重命名操作? redhat的lilo问题 急!!!!!!计算机启动后,能检测到新的硬件并安装驱动,之后出现错误按任一键继续按三键重启任一键后,屏幕上一无所有,出现蓝屏,多次启动依然 常用工具栏不见了?怎么加上啊? 哪里有windows2000的资源工具包下载? win2000启动问题!!! 请问如何取得客户端(浏览网页的用户)的ip地址????????????? 学过数据结构的不妨来看一看! 好心人,进来看看!小弟我也快沉了,帮帮忙,谢谢了! 如何实现计算器的屏幕从右端开始显示? 交叉表FILTER 关注Tcl/Tk语言的朋友请进 df 遇到麻烦——通过winio取bios密码的程序 关于图片显示 今年再考一次。 SQL语句中[]的问题 请教一个关于派生新视图类的小问题 Delphi7适合编程盲学使用吗? 我想用Linux+mySql+jave做一套专用系统,越小越好大家给点建议 那个斑竹干的? 一个奇怪的写入数据库问题 文本框如何能对齐?(在线等,着急!!!!!) 请问:为什么我点击一个.asp的链接就会弹出一个保存*.asp的对话框? 小弟做了一套动态域名系统,类似www.3322.org这样子的.... 处程好考吗? 从百赛诺看国内的乙肝药物研究 求office2000的安装sn!!!谢谢 如何再MDI工程中动态创建窗体? update from 请问,这个方法得到的是什么单位GetColBestWidth 为什么人是猿猴进化的呢?如题 江西籍徐氏家谱字辈我祖从江西来到贵州桐梓县,然后又到黔西南普安县,想知道关于我们徐氏的家谱字辈?原来的字辈是:可取正国祖 克册子文亮 大德荣光远 再下去的就不知道了,希望有知道 江西省南昌市徐氏家谱志字辈下面是什么字辈 心想事成 ()年 葡萄牙殖民者占领我国广东的居住权、? 江西丰城陈姓家谱字辈? 中外交往与冲突葡萄牙攫取澳门的居住权 葡萄牙历代王朝世系表君主姓名和在位时间 孙权劝学作者是什么朝代的什么家 世界上有多少匹马 世界上最难的数学题是12匹马,每匹马跑第一和跑进前三名都有对应的奖金,求一种保本的方法,把风险降到最有12匹马比赛,1-12,赔率分别为4,5,7,8,10,11,12,15,20,25,30,35.前三赔率1.6 ,1.8 ,2.40 ,2.6 ,3.20 ,3 澳首都领地同性恋合法化 或澳高等法院墨前警长向美贩毒 被判13年监禁罚款英国小王子受洗照流出 四世同堂皇室香纽约侨界强烈谴责美电视节目歧视性言论日媒总结:当你有这些七大征兆可能将被美国“窃听门”或成欧盟峰会议题 法国美国十岁男孩弑父案即将宣判 孩子去处英国男子爱整人 对妻子恶作剧意外把自奥斯卡影后赞与查尔斯王子跳舞比“亲热日本拟在多个城市开设赌场 年收入可达中国近20年来首次修改消费者权益保护一周文化盘点:流失海外珍宝皿天全方罍泰“维和委”主席巴育称过渡政府最迟9我国将推动分级诊疗制度建设 改革医保明确高标准农田“建什么、怎么建” 国国家卫计委:公立医院改革尚存诸多难题国家卫计委:合理规划布局医疗卫生资源露天焚烧产生的二噁英远超垃圾焚烧首部高标准农田建设国家标准发布外交部就日方要求中方撤下视频等答问(小提琴“金力莱”交接 新加坡华人提琴中方:望阿富汗总统选举平稳顺利举行
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘