I'm trying to check if a window has a certain style using GetWindowLong(hWnd, GWL_STYLE) but that gives me a LONG type of variable. how would you check for a specific style from that say a const value type 'WS_CAPTION'?
Getting window style
7.8k views Asked by cpx At
2
There are 2 answers
0
On
Most of the window styles WS_ are single-bit values; that is each of them occupies only one bit in dwStyles.
Here dwStyles
can be obtained from: DWORD dwStyles = CWnd::GetStyle();
But some of the WS_ styles, such as WS_CAPTION
, WS_OVERLAPPEDWINDOW
,
WS_POPUPWINDOW
, combine a few single-bit styles.
The test code below is OK for single-bit window styles
but not OK
for combined styles.
DWORD dwSomeStyle = WS_... ;
BOOL bSomeStyleIsPresentForThisWnd;
if (dwStyles & dwSomeStyle)
bSomeStyleIsPresentForThisWnd = TRUE;
else
bSomeStyleIsPresentForThisWnd = FALSE;
use the bitwise & operator to compare with that long type,
example