In many cases, the programmer needs to understand what a value means.
It’s about window styles. For him 0x500000C2 means nothing as window
styles. Of course, Spy++ solve this problem, but you must lookup for a
window with that styles. It’s easy, to drag a cursor over the window,
and then windows style can be founded from one of the properties pages.
Spy++ do not recognize the latest styles of some windows. For sample let
take a header control with styles set to 0x500000C2. Spy++ will give you
the styles WS_CHILD | WS_VISIBLE | HDS_HORZ | HDS_BUTTONS | 0xC0. It’s
right. What 0xC0 represent. The 0xC0 style’s sysheader32 control
represent HDS_DRAGDROP | HDS_FULLDRAG. So, I designed a short class for
translate style, extended styles, and class styles to strings. Let’s see
a short snippet code for using this class:
CTranslateWindowStyle tws; // declare a tws member for translation styles tws.SetStyle(pWnd); // prepare a styles of window pWnd for translate CString sStyles = tws.Translate(); // In sStyle will be retrieve the string as window style. tws.SetExStyle(pWnd); CString sExStyles = tws.Translate(); // in sExStyles, will have the extended window style. tws.SetClassStyle(pWnd); CString sClassStyles = tws.Translate(); // in sClassStyles, will have the class window style.
Translate(), public function of CTranslateWindowStyle class, will
translate the latest styles set (by calling one of the following
functions: SetStyle, SetExStyle, SetClassStyle.) as normal, extended,
class window style.
If you have a new window control, you can add your own style. Just see
into the header file of CTranslateWindowStyle class.
Date Posted: 09/29/98