新闻资讯
热点资讯
- 火星电竞当日最高报价48.00元/公斤-火星电竞·(CHINA)官方网站
- 火星电竞·(CHINA)官方网站企业开发了无东谈主机处理平台和数据处理平台-火星电竞·(CHINA)官方网站
- 火星电竞·(CHINA)官方网站 从官方发布的海报可知-火星电竞·(CHINA)官方网站
- 火星电竞游戏第一品牌辅导:TipRanks为平定第三方-火星电竞·(CHINA)官方网站
- 官方跟着“以旧换新”计谋落地-火星电竞·(CHINA)官方网站
- 火星电竞游戏第一品牌也对行业自己冷落了更高的条目-火星电竞·(CHINA)官方网站
- 火星电竞游戏第一品牌原因是在决定刑事职守握有的安分基金股权时-火星电竞·(CHINA)官方网站
- 官方刘亚楼也认真严肃的示意-火星电竞·(CHINA)官方网站
- 官方匡助武里南联三度问鼎泰超-火星电竞·(CHINA)官方网站
- 火星电竞·(CHINA)官方网站一般皆以检朴风手脚念首选-火星电竞·(CHINA)官方网站
- 发布日期:2024-07-11 07:42 点击次数:193
在窗口位置变化历程的早期,系统会发送 WM_WINDOWPOSCHANGING 音问。这个和 WM_WINDOWPOSCHANGED 音问不同火星电竞CHINA,WM_WINDOWPOSCHANGED 音问发生在窗口位置变化之后。
一个要津的分离(除了时辰以外)是,您不错通过处分 WM_WINDOWPOSCHANGING 音问和修改 WINDOWPOS 结构来影响窗口的现象改换。
不才面的例子代码中,咱们不错通过处分 WM_WINDOWPOSCHANGING 音问,完毕逼迫窗口改换大小。
BOOL OnWindowPosChanging(HWND hwnd, WINDOWPOS *pwp){pwp->flags |= SWP_NOSIZE;/* Continue with default handling */return FORWARD_WM_WINDOWPOSCHANGING(hwnd, pwp, DefWindowProc);}HANDLE_MSG(hwnd, WM_WINDOWPOSCHANGING, OnWindowPosChanging);
在引入 WM_WINDOWPOSCHANGING 音问之前,气象必须在其 WM_SIZE 和 WM_MOVE 处分气象中强制实施窗口大小收敛,但由于这些音问是在窗口变化完成后发送的,因此当窗口改换为一个大小时,咱们会发现窗口在会醒目,然后 WM_SIZE 处分气象将其交流为更好的大小。通过截获 WM_WINDOWPOSCHANGING 窗口大小的变化,不错在交流大小之前强制实施收敛,从而幸免醒目。
WM_WINDOWPOSCHANGING 和 WM_WINDOWPOSCHANGED 这敌手足仅仅更通用的 *CHANGING / *CHANGED 方法的一个示例。(其他示例包括 WM_STYLECHANGING / WM_STYLECHANGED 和 LVN_ITEMCHANGING / LVN_ITEMCHANGED。
*CHANGING 一半在变化发生之前发送,手脚一般轨则,您不错改换示知的参数以强制实施某种类型的收敛。从 *CHANGING 示知复返后,将发生本色改换,然后您会收到 *CHANGED 以指引改换已完成。
淌若你显着了这个国法,则不错合伙默契,将悉数此类音问”三军覆灭”。
追念
Windows 客户端建造历程中,淌若处分不妥,则容易发生用户界面醒主义情况。竣工主义者会搜索枯肠斟酌各式作念法摒除醒目,咱们在 拓扑梅尔聪惠办公谈台 (Topomel Box) 的建造阶段就滥用了大皆的时辰,吸收了各式奇淫手段来最大化减少醒目。正所谓:慢工,出细活,咱们仅仅思给您带来最佳的东西。
终末
Raymond Chen的《The Old New Thing》是我超过可爱的博客之一火星电竞CHINA,内部有许多对于Windows的小学问,对于遍及Windows平台建造者来说,如实十分有匡助。本文来自:《Use WM_WINDOWPOSCHANGING to intercept window state changes》