摘要:本文主要向大家介绍了VC编程之VC/MFC如何将本窗口显示并激活成为当前窗口 ,通过具体的内容向大家展示,希望对大家学习VC编程有所帮助。
本文主要向大家介绍了VC编程之VC/MFC如何将本窗口显示并激活成为当前窗口 ,通过具体的内容向大家展示,希望对大家学习VC编程有所帮助。
本以为很简单的,没想到各种函数都试了,结果还是不行,只能在任务栏中显示,还要点击以下任务栏那里才可以看得到窗口。。。
// CRect c;
// this->GetWindowRect(&c);
this->ShowWindow(SW_SHOWNA);//简单的显示主窗口完事儿
this->SetActiveWindow();
this->SetForegroundWindow();
//this->SetWindowPos(this,LOWORD(lParam),HIWORD(lParam),c.Width(),c.Height(),SWP_NOACTIVATE);
this->BringWindowToTop();
上面都没用
------------------------------------------------------------------------------
这个小的不能再小的功能都无法实现,竟然还要一个微软没有公开的函数...
-----------------------------------------------------------------------------------
SwitchToThisWindow能够激活一个指定程序的窗口,使这个窗口弹出到屏幕的最前面。如果待激活的窗口是处于最小化状态,这个函数能使窗口还原并在屏幕中最前。其实SwitchToThisWindow这个Windows API函数是个所谓的未公开的API,不过虽然头文件中没有它的定义,但在MSDN中是有它的说明的,所以我觉着它顶多算个半公开的API。SwitchToThisWindow是在User32.DLL中导出的。
函数原型:
VOID SwitchToThisWindow(HWND hWnd,BOOL fAltTab);
参数说明:
hWnd:要激活的窗口句柄;
fAltTab:是否使最小化的窗口还原。
使用说明:
想要将最小化的窗口还原并使其在屏幕最前,只要向fAltTab参数传入TRUE就可以了。
使用例子:
//由于没有头文件,需要自己声明函数
typedef void (WINAPI *PSWITCHTOTHISWINDOW) (HWND,BOOL);
PSWITCHTOTHISWINDOW SwitchToThisWindow;
HMODULE hUser32=GetModuleHandle(_T("user32"));
SwitchToThisWindow=(PSWITCHTOTHISWINDOW)GetProcAddress(hUser32,"SwitchToThisWindow");
//现在就可以使用此函数了
SwitchToThisWindow(hWindow,TRUE);
//zhidao.baidu.com/link?url=_G_3IjsQplx4v1E6lLVx0SxLlwX6DjX7rDfAJRf5LufNB_W2r0yX9eHl7Dy4onXzn0AEp07lv7jBQHr1YpDYhK
本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注职坐标编程语言VC/MFC频道!
您输入的评论内容中包含违禁敏感词
我知道了
请输入正确的手机号码
请输入正确的验证码
您今天的短信下发次数太多了,明天再试试吧!
我们会在第一时间安排职业规划师联系您!
您也可以联系我们的职业规划师咨询:
版权所有 职坐标-IT技术咨询与就业发展一体化服务 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
沪公网安备 31011502005948号