我正在尝试确定已使用CWnd::ShowWindow()隐藏或启用的窗口控件的可见性。(或者::ShowWindow(hWnd,nCmdShow))
我不能简单地使用:: IsWindowVisible (hWnd),因为控件位于选项卡表上,选项卡表本身可能会被切换,从而导致IsWindowVisible返回FALSE。
有没有办法获得SW_SHOW/HIDE (或其他)窗口状态,或者我是否需要使用ShowWindow()的返回值并相应地重置?
编辑:由于控件被启用(或禁用)以显示,但当前可能不可见,因为切换到选项卡,我认为它的SW_SHOW状态将保持不变,即使窗口本身并未实际切换。如果我的期望不切实际,那也没问题。
所以我真的在寻找‘这个窗口/控件可以显示吗?’
发布于 2009-09-16 11:24:23
使用GetWindowPlacement。它填充具有字段showCmd的WINDOWPLACEMENT结构。
showCmd
指定窗口的当前显示状态。此成员可以是下列值之一。
发布于 2009-09-16 11:26:23
调用GetWindowLong( handle, GWL_STYLE),检查返回值是否存在WS_VISIBLE样式。
发布于 2009-09-16 11:23:16
我会使用GetWindowPlacement,但是我不确定我是否理解了你想要什么。它填充一个WINDOWPLACEMENT结构,然后使用showCmd成员。
https://stackoverflow.com/questions/1432336
复制相似问题