关于全屏 - 让我一个头两个大的问题
看着不起眼的问题捣鼓好几天了,烦躁不安,哭笑不得。麻烦各位帮帮忙吧。
程序中有父子窗口,父窗口控制子窗口,间中使之全屏。用SetWindowPos将窗口放至极大,比如说,
hr = m_pModeless->SetWindowPos( NULL, 0-GetSystemMetrics( SM_CXBORDER )-3, 0-GetSystemMetrics( SM_CYCAPTION )-GetSystemMetrics( SM_CYBORDER )-3, lWidth+2*GetSystemMetrics( SM_CXBORDER )+6, lHeight+GetSystemMetrics( SM_CYCAPTION )+2*GetSystemMetrics( SM_CYBORDER )+10, SWP_NOOWNERZORDER );
可窗口确实变大不少,但并非全屏,在自动隐藏taskbar的情况下,窗口下面的框飘浮在距屏幕下方约5mm的地方。明显,这是“一个有些发育不良的全屏显示窗口。”
参考过http://search.csdn.net/expert/topic/50/5001/2002/8/14/938580.htm 和例程,但不知为什么我的程序好像从没获得过WM_GETMINMAXINFO消息 -- OnGetMinMaxInfo似乎从没执行过,PreTranslateMessage也截获不到这一消息。不知道问题在哪里,望请指教。
多谢。
问题点数:100、回复次数:5Top
1 楼wanderman(森林)回复于 2003-12-03 18:14:21 得分 25
我用全屏就直接设定
一般获得后也稍微加一点,比如获得显示器800,长就用800+10,挺好用Top
2 楼wanderman(森林)回复于 2003-12-03 18:14:36 得分 25
最后一个参数用nomoveTop
3 楼sxslyy(孤松傲雪)回复于 2003-12-04 08:49:36 得分 50
用SetWindowLongTop
4 楼yanf_99()回复于 2003-12-04 10:12:03 得分 0
谢谢。楼上的方法都试过了,可还是不行。还有没有其他建议?
另外,请问森林浪人,您的全屏是没有标题栏也没有边框的吗?最不明白的是,即使用了SWP_NOMOVE,我的窗口居然还是可以随意移动和改变大小。
孤松傲雪,看了msdn,SetWindowLong好像很合用,可不知为什么我的窗口长度从不受它影响。Top
5 楼yanf_99()回复于 2003-12-04 14:46:36 得分 0
原来是自己粗心。。。 忘了ON_WM_GETMINMAXINFO()。谢谢各位,接分吧。Top




