WM5上面创建顶层窗口(没有父窗口的窗口)的问题?

zym_123456 2009-05-31 05:41:16
WM5上面创建顶层窗口(没有父窗口的窗口)的问题?

Win32:
在程序主窗口的WM_CREATE消息里面创建了一个顶层窗口。
MyRegisterClass(m_hInstance, 窗口类名)
m_hWnd = CreateWindow(窗口类名, TEXT(""), WS_POPUP | WS_VISIBLE,
0, 0, 240, 320, NULL, (HMENU)nID, m_hInstance, NULL);
ShowWindow(m_hWnd, SW_SHOWNOACTIVATE);
创建是创建成功了,但是显示在前台的不是该顶层窗口,而仍是主窗口。

后来加了句,SetWindowPos(m_hWnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE | SWP_SHOWWINDOW);
总算把该顶层窗口显示在了前台,但当按下手机按键时,首先截获消息的却是主窗口,而非顶层窗口。只有在单击了一下顶层窗口后,再按下按键,该顶层窗口才获得按键消息。这说明顶层窗口不处于激活状态。

怎么WM5下面的窗口这样的呀?????????????理论上应该说创建一个窗口后,这个窗口就应该显示在前面的呀。。。。。。。。。。。。
...全文
81 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
zym_123456 2009-06-01
  • 打赏
  • 举报
回复
ShowWindow(m_hWnd, SW_SHOWNOACTIVATE);

写错了,是
ShowWindow(m_hWnd, SW_SHOW);

但是还是会出现那个问题。。。。。。
小李匪盗 2009-06-01
  • 打赏
  • 举报
回复
SW_SHOWNOACTIVATE参数的问题,使用SW_SHOW试试
xmanlin 2009-06-01
  • 打赏
  • 举报
回复
ShowWindow(m_hWnd, SW_SHOWNOACTIVATE);

这是什么意思? no activate?
yihan7h 2009-06-01
  • 打赏
  • 举报
回复
BringWindowToTop( HWND hWnd );
世外涛缘 2009-05-31
  • 打赏
  • 举报
回复
用SendMessage或PostMessage,向该窗口发送WM_ACTIVATE消息试试。
huabinsir 2009-05-31
  • 打赏
  • 举报
回复
试试 在获得消息的窗口中 将消息转发给 另一个窗口(需要消息的窗口)的方法.
peterb 2009-05-31
  • 打赏
  • 举报
回复
ShowWindow(m_hWnd, SW_SHOWNOACTIVATE);
你没有把创建的窗体激活,窗体没有获取焦点 首先截获消息的却是主窗口,而非顶层窗口

7,656

社区成员

发帖
与我相关
我的任务
社区描述
Windows Phone是微软发布的一款手机操作系统,它将微软旗下的Xbox LIVE游戏、Zune音乐与独特的视频体验整合至手机中。
社区管理员
  • Windows客户端开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧