游戏开发论坛

 找回密码
 立即注册
搜索
查看: 1772|回复: 3

让窗口位于最顶层的样式或方法是什么?

[复制链接]

6

主题

15

帖子

19

积分

新手上路

Rank: 1

积分
19
发表于 2007-7-21 17:59:00 | 显示全部楼层 |阅读模式
WinMain(...)
{
//...
}
中:
有两个函数CreateWindow()和ShowWindow(),我想应该在ShowWindow()函数中实现吧...
可我看了它的样式,找不到位于最顶层的样式...
ShowWindow( hWnd, SHOW_FULLSCREEN|???? );
我试加了
SetWindowPos(hWnd,HWND_TOP,0,0,1024,768,SWP_NOMOVE|SWP_NOSIZE);
虽然可以在最顶层,但用ALT+TAB切换时,这个窗口最小化不了,却把别的窗口挡住了.

187

主题

6490

帖子

6491

积分

论坛元老

团长

Rank: 8Rank: 8

积分
6491
发表于 2007-7-22 18:39:00 | 显示全部楼层

Re:让窗口位于最顶层的样式或方法是什么?

最小化不了和窗口位于最顶层无关的吧~~

16

主题

280

帖子

280

积分

中级会员

Rank: 3Rank: 3

积分
280
QQ
发表于 2007-7-24 14:20:00 | 显示全部楼层

Re: 让窗口位于最顶层的样式或方法是什么?

问阿MSDN [em7]在CreateWindowsEx的第一个参数,好像是这个WS_EX_TOPMOST,还有SetWindowPos也可以 [em4]在窗口的WM_ACTIVATE把参数设回来就可以了 [em6]在线MSDN [em13]

6

主题

15

帖子

19

积分

新手上路

Rank: 1

积分
19
 楼主| 发表于 2007-7-25 04:34:00 | 显示全部楼层

Re:让窗口位于最顶层的样式或方法是什么?

解决了。
窗口初始化时用HWND_TOPMOST
然后在消息循环中:
                case WM_ACTIVATEAPP:
                        if (wParam)
                        {
                                SetWindowPos(hWnd,HWND_TOPMOST,0,0,1024,768,SWP_SHOWWINDOW);
                        }
                        else
                        {
                                SetWindowPos(hWnd,HWND_NOTOPMOST,0,0,0,0,SW_SHOWMINIMIZED);
                        }
                        break;
就行了
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2026-1-25 16:58

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表