如果判断一个CWnd的显示状态(显示或隐藏)
如题:我定义了一个 CStatic类型的对象,得到CStatic由CWnd派生而来。
如何得到该 CWnd 是显示还是隐藏状态?
从MSDN上查得一个函数,判断可能是用它获取显示状态,如下:
GetWindowPlacement
Retrieves the show state and the normal (restored), minimized, and maximized positions of a window.
函数原型:
//==========================================================================
CWnd::GetWindowPlacement
BOOL GetWindowPlacement( WINDOWPLACEMENT* lpwndpl ) const;
Return Value
Nonzero if the function is successful; otherwise 0.
查的 WINDOWPLACEMENT 的说明如下:
//======================================================================
The WINDOWPLACEMENT data structure has the following form:
typedef struct tagWINDOWPLACEMENT { /* wndpl */
UINT length;
UINT flags;
UINT showCmd;
POINT ptMinPosition;
POINT ptMaxPosition;
RECT rcNormalPosition;
} WINDOWPLACEMENT;
不用都拷贝过来了,请高手帮忙查看一下MSDN吧。
我认为结构体中的“showCmd”是说明显示状态的。其值可取
SW_HIDE
SW_MINIMIZE
SW_RESTORE
SW_SHOW
SW_SHOWMAXIMIZED
SW_SHOWMINIMIZED
SW_SHOWMINNOACTIVE
SW_SHOWNA
SW_SHOWNOACTIVATE
SW_SHOWNORMAL
为啥判断的时候,showCmd 总是 1?