SetParent 的文档中的“同步 UIState”是啥意思?
Posted
技术标签:
【中文标题】SetParent 的文档中的“同步 UIState”是啥意思?【英文标题】:What does "synchronise the UIState" mean in the docs for SetParent?SetParent 的文档中的“同步 UIState”是什么意思? 【发布时间】:2016-06-05 16:44:53 【问题描述】:user32.dll 的 SetParent
函数的文档指出
当您更改窗口的父级时,您应该同步两个窗口的 UISTATE。有关详细信息,请参阅WM_CHANGEUISTATE 和 WM_UPDATEUISTATE。
我浏览了这些页面,字符序列sync 根本没有出现。我最好的猜测是我打算向新的父窗口发送WM_UPDATEUISTATE
消息,但我不知道要使用什么参数。
UIS_INITIALIZE
那么我就拿注释的第二段来表示消息可能会被丢弃,所以我不相信它会保证父子之间的状态同步.
如果应该是两条消息,一条带有UIS_CLEAR
,另一条带有UIS_SET
,那么我不明白为什么SetParent
文档也没有提到WM_QUERYUISTATE
,所以这个选项没有说服我。
“同步 UISTATE”的正确解释是什么?
【问题讨论】:
【参考方案1】:没关系。您的应用程序将如何工作由您决定。 您可以清除两者,或者采用一种状态并为另一个窗口设置相同的状态,或者您可以查询最后一个输入法鼠标/键盘,如果鼠标则隐藏,如果键盘则显示。
【讨论】:
以上是关于SetParent 的文档中的“同步 UIState”是啥意思?的主要内容,如果未能解决你的问题,请参考以下文章