窗口不能通过SetWindowPos(&wndTopMost, 0, 0, 0, 0,SWP_NOSIZE | SWP_NOMOVE);
一直在处于最前端;
当窗口在后台的时候,当收到某些信息,要把自己显示到最前端;
该如何实现;
SetActiveWindow();
SetForegroundWindow();
使用这些函数好像都不能实现;
谢谢;
一直在处于最前端;
当窗口在后台的时候,当收到某些信息,要把自己显示到最前端;
该如何实现;
SetActiveWindow();
SetForegroundWindow();
使用这些函数好像都不能实现;
谢谢;
解决方案 »
- VS2003怎么修改菜单字号大小
- 求harris特征匹配代码
- Vista下WS_THICKFRAME的问题
- 为什么添加了BtnST.h,编译时还是提示找不到不能打开这个文件呢
- 请问,SOCKADDR_IN,地址成员那里可以填写"www.163.com"这样的域名吗?我只填过"222.222.222.222"这种IP形式的?
- 学习C++/VC的本科生就业真的就比JAVA/.NET的难吗?
- 正片VC有多贵?
- nt/2k网络连接管理的问题
- 怎么改变VC显示的默认字体???同一个程序,在不同的机子上显示的字体不一样,有的字体歪歪斜斜的,怎么改变啊???
- 麻烦各位推荐几本 视频开发的书
- CDatabase删除不存在的记录会不会抛出异常
- 如何编程实现在XP下在控制面版里帐户管理,去掉使用欢迎屏幕,也就是XP的个性登陆窗口
只能把窗口放到最前端,不能激活窗口!!
试过了
但是不能放到最前端
曾经因为皮肤的问题写过这样的代码,看对你有用不: m_dlgXXXX.SetWindowPos(
&wndTopMost,
::GetSystemMetrics(SM_CXSCREEN)/2-rect.Width()/2,
::GetSystemMetrics(SM_CYSCREEN)/2-rect.Height()/2,
rect.Width(),
rect.Height(),
SWP_SHOWWINDOW);
m_dlgXXXX.SetWindowPos(
&wndNoTopMost,
::GetSystemMetrics(SM_CXSCREEN)/2-rect.Width()/2,
::GetSystemMetrics(SM_CYSCREEN)/2-rect.Height()/2,
rect.Width(),
rect.Height(),
SWP_SHOWWINDOW);
{
ASSERT_VALID(pWnd);
ASSERT(::IsWindow(pWnd->m_hWnd));
if(pWnd->IsIconic())
pWnd->ShowWindow(SW_RESTORE);
else if(pWnd->IsWindowVisible())
pWnd->SetForegroundWindow();
else
pWnd->ShowWindow(SW_SHOW);
}
------------------
当窗口在后台的时候,这是什么意思,隐藏了吗?如果设置wndTopMost属性,窗口隐藏后直接用ShowWindow(SW_SHOW)就可显示出来.
CRect rect;
GetWindowRect(&rect);
::SetWindowPos(GetSafeHwnd(), HWND_NOTOPMOST,rect.left, rect.top,
rect.right-rect.left, rect.bottom-rect.top,
SWP_SHOWWINDOW );
pWnd->ShowWindow(SW_RESTORE);
pWnd->SetForegroundWindow();
在后台就是他不是当前激活的窗口 被其他窗口覆盖了;
SetActiveWindow();
SetForegroundWindow();
BringWindowToTop()
都没效果
只有用SwitchToThisWindow(m_hWnd,TRUE);有一些效果,但是效果不好;