使窗口最大化最小化还原
当利用AppWizard生成运用程序框架时,VC++已经为我们在标题条上做好了最大化,最小化及恢复按钮。但有时我们也想在其它地方使用这些功能。这就可采用下面的办法。在指定的消息处理函效中加入下列语句,则程序在收到该条消息后即执行窗口最小化。
HWND hwnd=::FindWindow(NULL,L"无标题 - OfficeMFC");
WINDOWPLACEMENT lwndpl;
::GetWindowPlacement(hwnd,&lwndpl);
lwndpl.showCmd=SW_SHOWNORMAL;
::SetWindowPlacement(hwnd,&lwndpl);
函数BOOL GetWindowPlacement(WINDOWPLACEMENT * lpwndpl) const的作用为获取表示当前窗口的布局的结构WINDOWPLACEMENT的结构变量指针。结构WINDOWPLACEMENT定义为:
typedef struct tagWINDOWPLACEMENT {/* wndpl * / UINT length;
UINT flags;
UINT showCmd;
POINT ptMinPosition;
POINT ptMaxPosition;
RECT rcNormalPosition;
} WINDOWPLACEMENT;
其中的成员变量showCmd确定当前窗口的状态。其取值一般为:
SW_HIDE隐藏窗口。SW_MINIMIZE最小化指定的窗口。SW_RESTORE将最大化或最小化的窗口恢复原来大小。SW_SHOW以原来的大小激话并显示窗口。SW_SHOWMAXIMIZED激活并最大化窗口。函数BOOL SetWindowPlacement(const WINDOWPLACEMENT * lpwndpl)作用为按结构MENT的设置显示窗口。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 智能桌面机器人:用.NET IoT库控制舵机并多方法播放表情
· Linux glibc自带哈希表的用例及性能测试
· 深入理解 Mybatis 分库分表执行原理
· 如何打造一个高并发系统?
· .NET Core GC压缩(compact_phase)底层原理浅谈
· 新年开篇:在本地部署DeepSeek大模型实现联网增强的AI应用
· DeepSeek火爆全网,官网宕机?本地部署一个随便玩「LLM探索」
· Janus Pro:DeepSeek 开源革新,多模态 AI 的未来
· 互联网不景气了那就玩玩嵌入式吧,用纯.NET开发并制作一个智能桌面机器人(三):用.NET IoT库
· 上周热点回顾(1.20-1.26)