ReactOS Fundraising Campaign 2012
 
€ 4,410 / € 30,000

Information | Donate

Home | Info | Community | Development | myReactOS | Contact Us

  1. Home
  2. Community
  3. Development
  4. myReactOS
  5. Fundraiser 2012

  1. Main Page
  2. Alphabetical List
  3. Data Structures
  4. Directories
  5. File List
  6. Data Fields
  7. Globals
  8. Related Pages

ReactOS Development > Doxygen

commctrl.h
Go to the documentation of this file.
00001 
00006 #ifndef _INC_COMMCTRL
00007 #define _INC_COMMCTRL
00008 
00009 #include <_mingw_unicode.h>
00010 
00011 #ifndef _WINRESRC_
00012 #ifndef _WIN32_IE
00013 #define _WIN32_IE 0x0501
00014 #else
00015 /* FIXME: This really must be 0x0501 !!! */
00016 #if (_WIN32_IE < 0x0500)
00017 #error _WIN32_IE setting conflicts
00018 #endif
00019 #endif
00020 #endif
00021 
00022 #ifndef _HRESULT_DEFINED
00023 #define _HRESULT_DEFINED
00024 typedef LONG HRESULT;
00025 #endif
00026 
00027 #ifndef NOUSER
00028 #ifndef WINCOMMCTRLAPI
00029 #ifndef _COMCTL32_
00030 #define WINCOMMCTRLAPI DECLSPEC_IMPORT
00031 #else
00032 #define WINCOMMCTRLAPI
00033 #endif
00034 #endif
00035 
00036 #ifdef __cplusplus
00037 extern "C" {
00038 #endif
00039 
00040 #include <prsht.h>
00041 
00042 #ifndef SNDMSG
00043 #ifdef __cplusplus
00044 #define SNDMSG ::SendMessage
00045 #else
00046 #define SNDMSG SendMessage
00047 #endif
00048 #endif
00049 
00050   WINCOMMCTRLAPI void WINAPI InitCommonControls(void);
00051 
00052   typedef struct tagINITCOMMONCONTROLSEX {
00053     DWORD dwSize;
00054     DWORD dwICC;
00055   } INITCOMMONCONTROLSEX,*LPINITCOMMONCONTROLSEX;
00056 #define ICC_LISTVIEW_CLASSES 0x1
00057 #define ICC_TREEVIEW_CLASSES 0x2
00058 #define ICC_BAR_CLASSES 0x4
00059 #define ICC_TAB_CLASSES 0x8
00060 #define ICC_UPDOWN_CLASS 0x10
00061 #define ICC_PROGRESS_CLASS 0x20
00062 #define ICC_HOTKEY_CLASS 0x40
00063 #define ICC_ANIMATE_CLASS 0x80
00064 #define ICC_WIN95_CLASSES 0xff
00065 #define ICC_DATE_CLASSES 0x100
00066 #define ICC_USEREX_CLASSES 0x200
00067 #define ICC_COOL_CLASSES 0x400
00068 #define ICC_INTERNET_CLASSES 0x800
00069 #define ICC_PAGESCROLLER_CLASS 0x1000
00070 #define ICC_NATIVEFNTCTL_CLASS 0x2000
00071 #define ICC_STANDARD_CLASSES 0x4000
00072 #define ICC_LINK_CLASS 0x8000
00073   WINCOMMCTRLAPI WINBOOL WINAPI InitCommonControlsEx(const INITCOMMONCONTROLSEX *);
00074 
00075 #define ODT_HEADER 100
00076 #define ODT_TAB 101
00077 #define ODT_LISTVIEW 102
00078 
00079 #define LVM_FIRST 0x1000
00080 #define TV_FIRST 0x1100
00081 #define HDM_FIRST 0x1200
00082 #define TCM_FIRST 0x1300
00083 
00084 #define PGM_FIRST 0x1400
00085 #define ECM_FIRST 0x1500
00086 #define BCM_FIRST 0x1600
00087 #define CBM_FIRST 0x1700
00088 #define CCM_FIRST 0x2000
00089 #define CCM_LAST (CCM_FIRST+0x200)
00090 #define CCM_SETBKCOLOR (CCM_FIRST+1)
00091 #define CCM_SETCOLORSCHEME (CCM_FIRST+2)
00092 #define CCM_GETCOLORSCHEME (CCM_FIRST+3)
00093 #define CCM_GETDROPTARGET (CCM_FIRST+4)
00094 #define CCM_SETUNICODEFORMAT (CCM_FIRST+5)
00095 #define CCM_GETUNICODEFORMAT (CCM_FIRST+6)
00096 
00097   typedef struct tagCOLORSCHEME {
00098     DWORD dwSize;
00099     COLORREF clrBtnHighlight;
00100     COLORREF clrBtnShadow;
00101   } COLORSCHEME,*LPCOLORSCHEME;
00102 
00103 #define COMCTL32_VERSION 6
00104 
00105 #define CCM_SETVERSION (CCM_FIRST+0x7)
00106 #define CCM_GETVERSION (CCM_FIRST+0x8)
00107 #define CCM_SETNOTIFYWINDOW (CCM_FIRST+0x9)
00108 #define CCM_SETWINDOWTHEME (CCM_FIRST+0xb)
00109 #define CCM_DPISCALE (CCM_FIRST+0xc)
00110 
00111 #define INFOTIPSIZE 1024
00112 
00113 #define HANDLE_WM_NOTIFY(hwnd,wParam,lParam,fn) (fn)((hwnd),(int)(wParam),(NMHDR *)(lParam))
00114 #define FORWARD_WM_NOTIFY(hwnd,idFrom,pnmhdr,fn) (LRESULT)(fn)((hwnd),WM_NOTIFY,(WPARAM)(int)(idFrom),(LPARAM)(NMHDR *)(pnmhdr))
00115 
00116 #define NM_OUTOFMEMORY (NM_FIRST-1)
00117 #define NM_CLICK (NM_FIRST-2)
00118 #define NM_DBLCLK (NM_FIRST-3)
00119 #define NM_RETURN (NM_FIRST-4)
00120 #define NM_RCLICK (NM_FIRST-5)
00121 #define NM_RDBLCLK (NM_FIRST-6)
00122 #define NM_SETFOCUS (NM_FIRST-7)
00123 #define NM_KILLFOCUS (NM_FIRST-8)
00124 #define NM_CUSTOMDRAW (NM_FIRST-12)
00125 #define NM_HOVER (NM_FIRST-13)
00126 #define NM_NCHITTEST (NM_FIRST-14)
00127 #define NM_KEYDOWN (NM_FIRST-15)
00128 #define NM_RELEASEDCAPTURE (NM_FIRST-16)
00129 #define NM_SETCURSOR (NM_FIRST-17)
00130 #define NM_CHAR (NM_FIRST-18)
00131 #define NM_TOOLTIPSCREATED (NM_FIRST-19)
00132 #define NM_LDOWN (NM_FIRST-20)
00133 #define NM_RDOWN (NM_FIRST-21)
00134 #define NM_THEMECHANGED (NM_FIRST-22)
00135 
00136 #ifndef CCSIZEOF_STRUCT
00137 #define CCSIZEOF_STRUCT(structname,member) (((int)((LPBYTE)(&((structname*)0)->member) - ((LPBYTE)((structname*)0))))+sizeof(((structname*)0)->member))
00138 #endif
00139 
00140   typedef struct tagNMTOOLTIPSCREATED {
00141     NMHDR hdr;
00142     HWND hwndToolTips;
00143   } NMTOOLTIPSCREATED,*LPNMTOOLTIPSCREATED;
00144 
00145   typedef struct tagNMMOUSE {
00146     NMHDR hdr;
00147     DWORD_PTR dwItemSpec;
00148     DWORD_PTR dwItemData;
00149     POINT pt;
00150     LPARAM dwHitInfo;
00151   } NMMOUSE,*LPNMMOUSE;
00152 
00153   typedef NMMOUSE NMCLICK;
00154   typedef LPNMMOUSE LPNMCLICK;
00155 
00156   typedef struct tagNMOBJECTNOTIFY {
00157     NMHDR hdr;
00158     int iItem;
00159 #ifdef __IID_DEFINED__
00160     const IID *piid;
00161 #else
00162     const void *piid;
00163 #endif
00164     void *pObject;
00165     HRESULT hResult;
00166     DWORD dwFlags;
00167   } NMOBJECTNOTIFY,*LPNMOBJECTNOTIFY;
00168 
00169   typedef struct tagNMKEY {
00170     NMHDR hdr;
00171     UINT nVKey;
00172     UINT uFlags;
00173   } NMKEY,*LPNMKEY;
00174 
00175   typedef struct tagNMCHAR {
00176     NMHDR hdr;
00177     UINT ch;
00178     DWORD dwItemPrev;
00179     DWORD dwItemNext;
00180   } NMCHAR,*LPNMCHAR;
00181 
00182 #define NM_FIRST (0U- 0U)
00183 #define NM_LAST (0U- 99U)
00184 
00185 #define LVN_FIRST (0U-100U)
00186 #define LVN_LAST (0U-199U)
00187 
00188 #define HDN_FIRST (0U-300U)
00189 #define HDN_LAST (0U-399U)
00190 
00191 #define TVN_FIRST (0U-400U)
00192 #define TVN_LAST (0U-499U)
00193 
00194 #define TTN_FIRST (0U-520U)
00195 #define TTN_LAST (0U-549U)
00196 
00197 #define TCN_FIRST (0U-550U)
00198 #define TCN_LAST (0U-580U)
00199 
00200 #ifndef CDN_FIRST
00201 #define CDN_FIRST (0U-601U)
00202 #define CDN_LAST (0U-699U)
00203 #endif
00204 
00205 #define TBN_FIRST (0U-700U)
00206 #define TBN_LAST (0U-720U)
00207 
00208 #define UDN_FIRST (0U-721)
00209 #define UDN_LAST (0U-740)
00210 
00211 #define MCN_FIRST (0U-750U)
00212 #define MCN_LAST (0U-759U)
00213 #define DTN_FIRST (0U-760U)
00214 #define DTN_LAST (0U-799U)
00215 #define CBEN_FIRST (0U-800U)
00216 #define CBEN_LAST (0U-830U)
00217 #define RBN_FIRST (0U-831U)
00218 #define RBN_LAST (0U-859U)
00219 
00220 #define IPN_FIRST (0U-860U)
00221 #define IPN_LAST (0U-879U)
00222 #define SBN_FIRST (0U-880U)
00223 #define SBN_LAST (0U-899U)
00224 #define PGN_FIRST (0U-900U)
00225 #define PGN_LAST (0U-950U)
00226 
00227 #ifndef WMN_FIRST
00228 #define WMN_FIRST (0U-1000U)
00229 #define WMN_LAST (0U-1200U)
00230 #endif
00231 
00232 #define BCN_FIRST (0U-1250U)
00233 #define BCN_LAST (0U-1350U)
00234 
00235 #define MSGF_COMMCTRL_BEGINDRAG 0x4200
00236 #define MSGF_COMMCTRL_SIZEHEADER 0x4201
00237 #define MSGF_COMMCTRL_DRAGSELECT 0x4202
00238 #define MSGF_COMMCTRL_TOOLBARCUST 0x4203
00239 
00240 #define CDRF_DODEFAULT 0x0
00241 #define CDRF_NEWFONT 0x2
00242 #define CDRF_SKIPDEFAULT 0x4
00243 
00244 #define CDRF_NOTIFYPOSTPAINT 0x10
00245 #define CDRF_NOTIFYITEMDRAW 0x20
00246 #define CDRF_NOTIFYSUBITEMDRAW 0x20
00247 #define CDRF_NOTIFYPOSTERASE 0x40
00248 
00249 #define CDDS_PREPAINT 0x1
00250 #define CDDS_POSTPAINT 0x2
00251 #define CDDS_PREERASE 0x3
00252 #define CDDS_POSTERASE 0x4
00253 #define CDDS_ITEM 0x10000
00254 #define CDDS_ITEMPREPAINT (CDDS_ITEM | CDDS_PREPAINT)
00255 #define CDDS_ITEMPOSTPAINT (CDDS_ITEM | CDDS_POSTPAINT)
00256 #define CDDS_ITEMPREERASE (CDDS_ITEM | CDDS_PREERASE)
00257 #define CDDS_ITEMPOSTERASE (CDDS_ITEM | CDDS_POSTERASE)
00258 #define CDDS_SUBITEM 0x20000
00259 
00260 #define CDIS_SELECTED 0x1
00261 #define CDIS_GRAYED 0x2
00262 #define CDIS_DISABLED 0x4
00263 #define CDIS_CHECKED 0x8
00264 #define CDIS_FOCUS 0x10
00265 #define CDIS_DEFAULT 0x20
00266 #define CDIS_HOT 0x40
00267 #define CDIS_MARKED 0x80
00268 #define CDIS_INDETERMINATE 0x100
00269 #define CDIS_SHOWKEYBOARDCUES 0x200
00270 
00271   typedef struct tagNMCUSTOMDRAWINFO {
00272     NMHDR hdr;
00273     DWORD dwDrawStage;
00274     HDC hdc;
00275     RECT rc;
00276     DWORD_PTR dwItemSpec;
00277     UINT uItemState;
00278     LPARAM lItemlParam;
00279   } NMCUSTOMDRAW,*LPNMCUSTOMDRAW;
00280 
00281   typedef struct tagNMTTCUSTOMDRAW {
00282     NMCUSTOMDRAW nmcd;
00283     UINT uDrawFlags;
00284   } NMTTCUSTOMDRAW,*LPNMTTCUSTOMDRAW;
00285 
00286 #ifndef NOIMAGEAPIS
00287 
00288 #define CLR_NONE 0xffffffffL
00289 #define CLR_DEFAULT 0xFF000000L
00290 
00291 #ifndef HIMAGELIST
00292   struct _IMAGELIST;
00293   typedef struct _IMAGELIST *HIMAGELIST;
00294 #endif
00295 
00296 #ifndef IMAGELISTDRAWPARAMS
00297   typedef struct _IMAGELISTDRAWPARAMS {
00298     DWORD cbSize;
00299     HIMAGELIST himl;
00300     int i;
00301     HDC hdcDst;
00302     int x;
00303     int y;
00304     int cx;
00305     int cy;
00306     int xBitmap;
00307     int yBitmap;
00308     COLORREF rgbBk;
00309     COLORREF rgbFg;
00310     UINT fStyle;
00311     DWORD dwRop;
00312     DWORD fState;
00313     DWORD Frame;
00314     COLORREF crEffect;
00315   } IMAGELISTDRAWPARAMS,*LPIMAGELISTDRAWPARAMS;
00316 
00317 #define IMAGELISTDRAWPARAMS_V3_SIZE CCSIZEOF_STRUCT(IMAGELISTDRAWPARAMS,dwRop)
00318 #endif
00319 
00320 #define ILC_MASK 0x1
00321 #define ILC_COLOR 0x0
00322 #define ILC_COLORDDB 0xfe
00323 #define ILC_COLOR4 0x4
00324 #define ILC_COLOR8 0x8
00325 #define ILC_COLOR16 0x10
00326 #define ILC_COLOR24 0x18
00327 #define ILC_COLOR32 0x20
00328 #define ILC_PALETTE 0x800
00329 #define ILC_MIRROR 0x2000
00330 #define ILC_PERITEMMIRROR 0x8000
00331 
00332   WINCOMMCTRLAPI HIMAGELIST WINAPI ImageList_Create(int cx,int cy,UINT flags,int cInitial,int cGrow);
00333   WINCOMMCTRLAPI WINBOOL WINAPI ImageList_Destroy(HIMAGELIST himl);
00334   WINCOMMCTRLAPI int WINAPI ImageList_GetImageCount(HIMAGELIST himl);
00335   WINCOMMCTRLAPI WINBOOL WINAPI ImageList_SetImageCount(HIMAGELIST himl,UINT uNewCount);
00336   WINCOMMCTRLAPI int WINAPI ImageList_Add(HIMAGELIST himl,HBITMAP hbmImage,HBITMAP hbmMask);
00337   WINCOMMCTRLAPI int WINAPI ImageList_ReplaceIcon(HIMAGELIST himl,int i,HICON hicon);
00338   WINCOMMCTRLAPI COLORREF WINAPI ImageList_SetBkColor(HIMAGELIST himl,COLORREF clrBk);
00339   WINCOMMCTRLAPI COLORREF WINAPI ImageList_GetBkColor(HIMAGELIST himl);
00340   WINCOMMCTRLAPI WINBOOL WINAPI ImageList_SetOverlayImage(HIMAGELIST himl,int iImage,int iOverlay);
00341   WINCOMMCTRLAPI HRESULT WINAPI HIMAGELIST_QueryInterface(HIMAGELIST,REFIID,void **);
00342 #define ImageList_AddIcon(himl,hicon) ImageList_ReplaceIcon(himl,-1,hicon)
00343 
00344 #define ILD_NORMAL 0x0
00345 #define ILD_TRANSPARENT 0x1
00346 #define ILD_MASK 0x10
00347 #define ILD_IMAGE 0x20
00348 #define ILD_ROP 0x40
00349 #define ILD_BLEND25 0x2
00350 #define ILD_BLEND50 0x4
00351 #define ILD_OVERLAYMASK 0xf00
00352 #define INDEXTOOVERLAYMASK(i) ((i) << 8)
00353 #define ILD_PRESERVEALPHA 0x1000
00354 #define ILD_SCALE 0x2000
00355 #define ILD_DPISCALE 0x4000
00356 
00357 #define ILD_SELECTED ILD_BLEND50
00358 #define ILD_FOCUS ILD_BLEND25
00359 #define ILD_BLEND ILD_BLEND50
00360 #define CLR_HILIGHT CLR_DEFAULT
00361 
00362 #define ILS_NORMAL 0x0
00363 #define ILS_GLOW 0x1
00364 #define ILS_SHADOW 0x2
00365 #define ILS_SATURATE 0x4
00366 #define ILS_ALPHA 0x8
00367 
00368   WINCOMMCTRLAPI WINBOOL WINAPI ImageList_Draw(HIMAGELIST himl,int i,HDC hdcDst,int x,int y,UINT fStyle);
00369   WINCOMMCTRLAPI WINBOOL WINAPI ImageList_Replace(HIMAGELIST himl,int i,HBITMAP hbmImage,HBITMAP hbmMask);
00370   WINCOMMCTRLAPI int WINAPI ImageList_AddMasked(HIMAGELIST himl,HBITMAP hbmImage,COLORREF crMask);
00371   WINCOMMCTRLAPI WINBOOL WINAPI ImageList_DrawEx(HIMAGELIST himl,int i,HDC hdcDst,int x,int y,int dx,int dy,COLORREF rgbBk,COLORREF rgbFg,UINT fStyle);
00372   WINCOMMCTRLAPI WINBOOL WINAPI ImageList_DrawIndirect(IMAGELISTDRAWPARAMS *pimldp);
00373   WINCOMMCTRLAPI WINBOOL WINAPI ImageList_Remove(HIMAGELIST himl,int i);
00374   WINCOMMCTRLAPI HICON WINAPI ImageList_GetIcon(HIMAGELIST himl,int i,UINT flags);
00375   WINCOMMCTRLAPI HIMAGELIST WINAPI ImageList_LoadImageA(HINSTANCE hi,LPCSTR lpbmp,int cx,int cGrow,COLORREF crMask,UINT uType,UINT uFlags);
00376   WINCOMMCTRLAPI HIMAGELIST WINAPI ImageList_LoadImageW(HINSTANCE hi,LPCWSTR lpbmp,int cx,int cGrow,COLORREF crMask,UINT uType,UINT uFlags);
00377 
00378 #define ImageList_LoadImage __MINGW_NAME_AW(ImageList_LoadImage)
00379 
00380 #define ILCF_MOVE 0x0
00381 #define ILCF_SWAP 0x1
00382   WINCOMMCTRLAPI WINBOOL WINAPI ImageList_Copy(HIMAGELIST himlDst,int iDst,HIMAGELIST himlSrc,int iSrc,UINT uFlags);
00383   WINCOMMCTRLAPI WINBOOL WINAPI ImageList_BeginDrag(HIMAGELIST himlTrack,int iTrack,int dxHotspot,int dyHotspot);
00384   WINCOMMCTRLAPI void WINAPI ImageList_EndDrag(void);
00385   WINCOMMCTRLAPI WINBOOL WINAPI ImageList_DragEnter(HWND hwndLock,int x,int y);
00386   WINCOMMCTRLAPI WINBOOL WINAPI ImageList_DragLeave(HWND hwndLock);
00387   WINCOMMCTRLAPI WINBOOL WINAPI ImageList_DragMove(int x,int y);
00388   WINCOMMCTRLAPI WINBOOL WINAPI ImageList_SetDragCursorImage(HIMAGELIST himlDrag,int iDrag,int dxHotspot,int dyHotspot);
00389   WINCOMMCTRLAPI WINBOOL WINAPI ImageList_DragShowNolock(WINBOOL fShow);
00390   WINCOMMCTRLAPI HIMAGELIST WINAPI ImageList_GetDragImage(POINT *ppt,POINT *pptHotspot);
00391 #define ImageList_RemoveAll(himl) ImageList_Remove(himl,-1)
00392 #define ImageList_ExtractIcon(hi,himl,i) ImageList_GetIcon(himl,i,0)
00393 #define ImageList_LoadBitmap(hi,lpbmp,cx,cGrow,crMask) ImageList_LoadImage(hi,lpbmp,cx,cGrow,crMask,IMAGE_BITMAP,0)
00394 
00395 #ifdef __IStream_INTERFACE_DEFINED__
00396   WINCOMMCTRLAPI HIMAGELIST WINAPI ImageList_Read(LPSTREAM pstm);
00397   WINCOMMCTRLAPI WINBOOL WINAPI ImageList_Write(HIMAGELIST himl,LPSTREAM pstm);
00398 #define ILP_NORMAL 0
00399 #define ILP_DOWNLEVEL 1
00400   WINCOMMCTRLAPI HRESULT WINAPI ImageList_ReadEx(DWORD dwFlags,LPSTREAM pstm,REFIID riid,PVOID *ppv);
00401   WINCOMMCTRLAPI HRESULT WINAPI ImageList_WriteEx(HIMAGELIST himl,DWORD dwFlags,LPSTREAM pstm);
00402 #endif
00403 
00404 #ifndef IMAGEINFO
00405   typedef struct _IMAGEINFO {
00406     HBITMAP hbmImage;
00407     HBITMAP hbmMask;
00408     int Unused1;
00409     int Unused2;
00410     RECT rcImage;
00411   } IMAGEINFO,*LPIMAGEINFO;
00412 #endif
00413 
00414   WINCOMMCTRLAPI WINBOOL WINAPI ImageList_GetIconSize(HIMAGELIST himl,int *cx,int *cy);
00415   WINCOMMCTRLAPI WINBOOL WINAPI ImageList_SetIconSize(HIMAGELIST himl,int cx,int cy);
00416   WINCOMMCTRLAPI WINBOOL WINAPI ImageList_GetImageInfo(HIMAGELIST himl,int i,IMAGEINFO *pImageInfo);
00417   WINCOMMCTRLAPI HIMAGELIST WINAPI ImageList_Merge(HIMAGELIST himl1,int i1,HIMAGELIST himl2,int i2,int dx,int dy);
00418   WINCOMMCTRLAPI HIMAGELIST WINAPI ImageList_Duplicate(HIMAGELIST himl);
00419 #endif
00420 
00421 #ifndef NOHEADER
00422 
00423 #define WC_HEADERA "SysHeader32"
00424 #define WC_HEADERW L"SysHeader32"
00425 
00426 #define WC_HEADER __MINGW_NAME_AW(WC_HEADER)
00427 
00428 #define HDS_HORZ 0x0
00429 #define HDS_BUTTONS 0x2
00430 #define HDS_HOTTRACK 0x4
00431 #define HDS_HIDDEN 0x8
00432 #define HDS_DRAGDROP 0x40
00433 #define HDS_FULLDRAG 0x80
00434 #define HDS_FILTERBAR 0x100
00435 #define HDS_FLAT 0x200
00436 #if (_WIN32_WINNT >= 0x0600)
00437 #define HDS_CHECKBOXES 0x400
00438 #define HDS_NOSIZING 0x800
00439 #define HDS_OVERFLOW 0x1000
00440 #endif
00441 
00442 #define HDFT_ISSTRING 0x0
00443 #define HDFT_ISNUMBER 0x1
00444 
00445 #define HDFT_HASNOVALUE 0x8000
00446 
00447 #define HD_TEXTFILTER __MINGW_NAME_AW(HD_TEXTFILTER)
00448 #define HDTEXTFILTER __MINGW_NAME_AW(HD_TEXTFILTER)
00449 #define LPHD_TEXTFILTER __MINGW_NAME_AW(LPHD_TEXTFILTER)
00450 #define LPHDTEXTFILTER __MINGW_NAME_AW(LPHD_TEXTFILTER)
00451 
00452   typedef struct _HD_TEXTFILTERA {
00453     LPSTR pszText;
00454     INT cchTextMax;
00455   } HD_TEXTFILTERA,*LPHD_TEXTFILTERA;
00456 
00457   typedef struct _HD_TEXTFILTERW {
00458     LPWSTR pszText;
00459     INT cchTextMax;
00460   } HD_TEXTFILTERW,*LPHD_TEXTFILTERW;
00461 
00462 #define HD_ITEMA HDITEMA
00463 #define HD_ITEMW HDITEMW
00464 #define HD_ITEM HDITEM
00465 
00466   typedef struct _HD_ITEMA {
00467     UINT mask;
00468     int cxy;
00469     LPSTR pszText;
00470     HBITMAP hbm;
00471     int cchTextMax;
00472     int fmt;
00473     LPARAM lParam;
00474     int iImage;
00475     int iOrder;
00476     UINT type;
00477     void  *pvFilter;
00478   } HDITEMA,*LPHDITEMA;
00479 
00480 #define HDITEMA_V1_SIZE CCSIZEOF_STRUCT(HDITEMA,lParam)
00481 #define HDITEMW_V1_SIZE CCSIZEOF_STRUCT(HDITEMW,lParam)
00482 
00483   typedef struct _HD_ITEMW {
00484     UINT mask;
00485     int cxy;
00486     LPWSTR pszText;
00487     HBITMAP hbm;
00488     int cchTextMax;
00489     int fmt;
00490     LPARAM lParam;
00491     int iImage;
00492     int iOrder;
00493     UINT type;
00494     void *pvFilter;
00495   } HDITEMW,*LPHDITEMW;
00496 
00497 #define HDITEM __MINGW_NAME_AW(HDITEM)
00498 #define LPHDITEM __MINGW_NAME_AW(LPHDITEM)
00499 
00500 #define HDITEM_V1_SIZE __MINGW_NAME_AW_EXT(HDITEM,_V1_SIZE)
00501 
00502 #define HDI_WIDTH 0x1
00503 #define HDI_HEIGHT HDI_WIDTH
00504 #define HDI_TEXT 0x2
00505 #define HDI_FORMAT 0x4
00506 #define HDI_LPARAM 0x8
00507 #define HDI_BITMAP 0x10
00508 #define HDI_IMAGE 0x20
00509 #define HDI_DI_SETITEM 0x40
00510 #define HDI_ORDER 0x80
00511 #define HDI_FILTER 0x100
00512 
00513 #define HDF_LEFT 0x0
00514 #define HDF_RIGHT 0x1
00515 #define HDF_CENTER 0x2
00516 #define HDF_JUSTIFYMASK 0x3
00517 #define HDF_RTLREADING 0x4
00518 
00519 #define HDF_OWNERDRAW 0x8000
00520 #define HDF_STRING 0x4000
00521 #define HDF_BITMAP 0x2000
00522 #define HDF_BITMAP_ON_RIGHT 0x1000
00523 #define HDF_IMAGE 0x800
00524 #define HDF_SORTUP 0x400
00525 #define HDF_SORTDOWN 0x200
00526 #if (_WIN32_WINNT >= 0x0600)
00527 #define HDF_CHECKBOX 0x40
00528 #define HDF_CHECKED 0x80
00529 #define HDF_FIXEDWIDTH 0x100
00530 #define HDF_SPLITBUTTON 0x1000000
00531 #endif
00532 
00533 #define HDM_GETITEMCOUNT (HDM_FIRST+0)
00534 #define Header_GetItemCount(hwndHD) (int)SNDMSG((hwndHD),HDM_GETITEMCOUNT,0,0L)
00535 
00536 #define HDM_INSERTITEMA (HDM_FIRST+1)
00537 #define HDM_INSERTITEMW (HDM_FIRST+10)
00538 
00539 #define HDM_INSERTITEM __MINGW_NAME_AW(HDM_INSERTITEM)
00540 
00541 #define Header_InsertItem(hwndHD,i,phdi) (int)SNDMSG((hwndHD),HDM_INSERTITEM,(WPARAM)(int)(i),(LPARAM)(const HD_ITEM *)(phdi))
00542 
00543 #define HDM_DELETEITEM (HDM_FIRST+2)
00544 #define Header_DeleteItem(hwndHD,i) (WINBOOL)SNDMSG((hwndHD),HDM_DELETEITEM,(WPARAM)(int)(i),0L)
00545 
00546 #define HDM_GETITEMA (HDM_FIRST+3)
00547 #define HDM_GETITEMW (HDM_FIRST+11)
00548 
00549 #define HDM_GETITEM __MINGW_NAME_AW(HDM_GETITEM)
00550 
00551 #define Header_GetItem(hwndHD,i,phdi) (WINBOOL)SNDMSG((hwndHD),HDM_GETITEM,(WPARAM)(int)(i),(LPARAM)(HD_ITEM *)(phdi))
00552 
00553 #define HDM_SETITEMA (HDM_FIRST+4)
00554 #define HDM_SETITEMW (HDM_FIRST+12)
00555 
00556 #define HDM_SETITEM __MINGW_NAME_AW(HDM_SETITEM)
00557 
00558 #define Header_SetItem(hwndHD,i,phdi) (WINBOOL)SNDMSG((hwndHD),HDM_SETITEM,(WPARAM)(int)(i),(LPARAM)(const HD_ITEM *)(phdi))
00559 
00560 #define HD_LAYOUT HDLAYOUT
00561 
00562   typedef struct _HD_LAYOUT {
00563     RECT *prc;
00564     WINDOWPOS *pwpos;
00565   } HDLAYOUT,*LPHDLAYOUT;
00566 
00567 #define HDM_LAYOUT (HDM_FIRST+5)
00568 #define Header_Layout(hwndHD,playout) (WINBOOL)SNDMSG((hwndHD),HDM_LAYOUT,0,(LPARAM)(HD_LAYOUT *)(playout))
00569 
00570 #define HHT_NOWHERE 0x1
00571 #define HHT_ONHEADER 0x2
00572 #define HHT_ONDIVIDER 0x4
00573 #define HHT_ONDIVOPEN 0x8
00574 #define HHT_ONFILTER 0x10
00575 #define HHT_ONFILTERBUTTON 0x20
00576 #define HHT_ABOVE 0x100
00577 #define HHT_BELOW 0x200
00578 #define HHT_TORIGHT 0x400
00579 #define HHT_TOLEFT 0x800
00580 
00581 #define HD_HITTESTINFO HDHITTESTINFO
00582 
00583   typedef struct _HD_HITTESTINFO {
00584     POINT pt;
00585     UINT flags;
00586     int iItem;
00587   } HDHITTESTINFO,*LPHDHITTESTINFO;
00588 
00589 #define HDM_HITTEST (HDM_FIRST+6)
00590 
00591 #define HDM_GETITEMRECT (HDM_FIRST+7)
00592 #define Header_GetItemRect(hwnd,iItem,lprc) (WINBOOL)SNDMSG((hwnd),HDM_GETITEMRECT,(WPARAM)(iItem),(LPARAM)(lprc))
00593 
00594 #define HDM_SETIMAGELIST (HDM_FIRST+8)
00595 #define Header_SetImageList(hwnd,himl) (HIMAGELIST)SNDMSG((hwnd),HDM_SETIMAGELIST,0,(LPARAM)(himl))
00596 
00597 #define HDM_GETIMAGELIST (HDM_FIRST+9)
00598 #define Header_GetImageList(hwnd) (HIMAGELIST)SNDMSG((hwnd),HDM_GETIMAGELIST,0,0)
00599 
00600 #define HDM_ORDERTOINDEX (HDM_FIRST+15)
00601 #define Header_OrderToIndex(hwnd,i) (int)SNDMSG((hwnd),HDM_ORDERTOINDEX,(WPARAM)(i),0)
00602 
00603 #define HDM_CREATEDRAGIMAGE (HDM_FIRST+16)
00604 #define Header_CreateDragImage(hwnd,i) (HIMAGELIST)SNDMSG((hwnd),HDM_CREATEDRAGIMAGE,(WPARAM)(i),0)
00605 
00606 #define HDM_GETORDERARRAY (HDM_FIRST+17)
00607 #define Header_GetOrderArray(hwnd,iCount,lpi) (WINBOOL)SNDMSG((hwnd),HDM_GETORDERARRAY,(WPARAM)(iCount),(LPARAM)(lpi))
00608 
00609 #define HDM_SETORDERARRAY (HDM_FIRST+18)
00610 #define Header_SetOrderArray(hwnd,iCount,lpi) (WINBOOL)SNDMSG((hwnd),HDM_SETORDERARRAY,(WPARAM)(iCount),(LPARAM)(lpi))
00611 
00612 #define HDM_SETHOTDIVIDER (HDM_FIRST+19)
00613 #define Header_SetHotDivider(hwnd,fPos,dw) (int)SNDMSG((hwnd),HDM_SETHOTDIVIDER,(WPARAM)(fPos),(LPARAM)(dw))
00614 
00615 #define HDM_SETBITMAPMARGIN (HDM_FIRST+20)
00616 #define Header_SetBitmapMargin(hwnd,iWidth) (int)SNDMSG((hwnd),HDM_SETBITMAPMARGIN,(WPARAM)(iWidth),0)
00617 
00618 #define HDM_GETBITMAPMARGIN (HDM_FIRST+21)
00619 #define Header_GetBitmapMargin(hwnd) (int)SNDMSG((hwnd),HDM_GETBITMAPMARGIN,0,0)
00620 
00621 #define HDM_SETUNICODEFORMAT CCM_SETUNICODEFORMAT
00622 #define Header_SetUnicodeFormat(hwnd,fUnicode) (WINBOOL)SNDMSG((hwnd),HDM_SETUNICODEFORMAT,(WPARAM)(fUnicode),0)
00623 
00624 #define HDM_GETUNICODEFORMAT CCM_GETUNICODEFORMAT
00625 #define Header_GetUnicodeFormat(hwnd) (WINBOOL)SNDMSG((hwnd),HDM_GETUNICODEFORMAT,0,0)
00626 
00627 #define HDM_SETFILTERCHANGETIMEOUT (HDM_FIRST+22)
00628 #define Header_SetFilterChangeTimeout(hwnd,i) (int)SNDMSG((hwnd),HDM_SETFILTERCHANGETIMEOUT,0,(LPARAM)(i))
00629 
00630 #define HDM_EDITFILTER (HDM_FIRST+23)
00631 #define Header_EditFilter(hwnd,i,fDiscardChanges) (int)SNDMSG((hwnd),HDM_EDITFILTER,(WPARAM)(i),MAKELPARAM(fDiscardChanges,0))
00632 
00633 #define HDM_CLEARFILTER (HDM_FIRST+24)
00634 #define Header_ClearFilter(hwnd,i) (int)SNDMSG((hwnd),HDM_CLEARFILTER,(WPARAM)(i),0)
00635 #define Header_ClearAllFilters(hwnd) (int)SNDMSG((hwnd),HDM_CLEARFILTER,(WPARAM)-1,0)
00636 
00637 #define HDN_ITEMCHANGINGA (HDN_FIRST-0)
00638 #define HDN_ITEMCHANGINGW (HDN_FIRST-20)
00639 #define HDN_ITEMCHANGEDA (HDN_FIRST-1)
00640 #define HDN_ITEMCHANGEDW (HDN_FIRST-21)
00641 #define HDN_ITEMCLICKA (HDN_FIRST-2)
00642 #define HDN_ITEMCLICKW (HDN_FIRST-22)
00643 #define HDN_ITEMDBLCLICKA (HDN_FIRST-3)
00644 #define HDN_ITEMDBLCLICKW (HDN_FIRST-23)
00645 #define HDN_DIVIDERDBLCLICKA (HDN_FIRST-5)
00646 #define HDN_DIVIDERDBLCLICKW (HDN_FIRST-25)
00647 #define HDN_BEGINTRACKA (HDN_FIRST-6)
00648 #define HDN_BEGINTRACKW (HDN_FIRST-26)
00649 #define HDN_ENDTRACKA (HDN_FIRST-7)
00650 #define HDN_ENDTRACKW (HDN_FIRST-27)
00651 #define HDN_TRACKA (HDN_FIRST-8)
00652 #define HDN_TRACKW (HDN_FIRST-28)
00653 #define HDN_GETDISPINFOA (HDN_FIRST-9)
00654 #define HDN_GETDISPINFOW (HDN_FIRST-29)
00655 #define HDN_BEGINDRAG (HDN_FIRST-10)
00656 #define HDN_ENDDRAG (HDN_FIRST-11)
00657 #define HDN_FILTERCHANGE (HDN_FIRST-12)
00658 #define HDN_FILTERBTNCLICK (HDN_FIRST-13)
00659 
00660 #define HDN_ITEMCHANGING __MINGW_NAME_AW(HDN_ITEMCHANGING)
00661 #define HDN_ITEMCHANGED __MINGW_NAME_AW(HDN_ITEMCHANGED)
00662 #define HDN_ITEMCLICK __MINGW_NAME_AW(HDN_ITEMCLICK)
00663 #define HDN_ITEMDBLCLICK __MINGW_NAME_AW(HDN_ITEMDBLCLICK)
00664 #define HDN_DIVIDERDBLCLICK __MINGW_NAME_AW(HDN_DIVIDERDBLCLICK)
00665 #define HDN_BEGINTRACK __MINGW_NAME_AW(HDN_BEGINTRACK)
00666 #define HDN_ENDTRACK __MINGW_NAME_AW(HDN_ENDTRACK)
00667 #define HDN_TRACK __MINGW_NAME_AW(HDN_TRACK)
00668 #define HDN_GETDISPINFO __MINGW_NAME_AW(HDN_GETDISPINFO)
00669 
00670 #define HD_NOTIFYA NMHEADERA
00671 #define HD_NOTIFYW NMHEADERW
00672 #define HD_NOTIFY NMHEADER
00673 
00674   typedef struct tagNMHEADERA {
00675     NMHDR hdr;
00676     int iItem;
00677     int iButton;
00678     HDITEMA *pitem;
00679   } NMHEADERA,*LPNMHEADERA;
00680 
00681   typedef struct tagNMHEADERW {
00682     NMHDR hdr;
00683     int iItem;
00684     int iButton;
00685     HDITEMW *pitem;
00686   } NMHEADERW,*LPNMHEADERW;
00687 
00688 #define NMHEADER __MINGW_NAME_AW(NMHEADER)
00689 #define LPNMHEADER __MINGW_NAME_AW(LPNMHEADER)
00690 
00691   typedef struct tagNMHDDISPINFOW {
00692     NMHDR hdr;
00693     int iItem;
00694     UINT mask;
00695     LPWSTR pszText;
00696     int cchTextMax;
00697     int iImage;
00698     LPARAM lParam;
00699   } NMHDDISPINFOW,*LPNMHDDISPINFOW;
00700 
00701   typedef struct tagNMHDDISPINFOA {
00702     NMHDR hdr;
00703     int iItem;
00704     UINT mask;
00705     LPSTR pszText;
00706     int cchTextMax;
00707     int iImage;
00708     LPARAM lParam;
00709   } NMHDDISPINFOA,*LPNMHDDISPINFOA;
00710 
00711 #define NMHDDISPINFO __MINGW_NAME_AW(NMHDDISPINFO)
00712 #define LPNMHDDISPINFO __MINGW_NAME_AW(LPNMHDDISPINFO)
00713 
00714   typedef struct tagNMHDFILTERBTNCLICK {
00715     NMHDR hdr;
00716     INT iItem;
00717     RECT rc;
00718   } NMHDFILTERBTNCLICK,*LPNMHDFILTERBTNCLICK;
00719 #endif
00720 
00721 #ifndef NOTOOLBAR
00722 
00723 #define TOOLBARCLASSNAMEW L"ToolbarWindow32"
00724 #define TOOLBARCLASSNAMEA "ToolbarWindow32"
00725 
00726 #define TOOLBARCLASSNAME __MINGW_NAME_AW(TOOLBARCLASSNAME)
00727 
00728   typedef struct _TBBUTTON {
00729     int iBitmap;
00730     int idCommand;
00731     BYTE fsState;
00732     BYTE fsStyle;
00733 #ifdef _WIN64
00734     BYTE bReserved[6];
00735 #else
00736     BYTE bReserved[2];
00737 #endif
00738     DWORD_PTR dwData;
00739     INT_PTR iString;
00740   } TBBUTTON,NEAR *PTBBUTTON,*LPTBBUTTON;
00741   typedef const TBBUTTON *LPCTBBUTTON;
00742 
00743   typedef struct _COLORMAP {
00744     COLORREF from;
00745     COLORREF to;
00746   } COLORMAP,*LPCOLORMAP;
00747 
00748   WINCOMMCTRLAPI HWND WINAPI CreateToolbarEx(HWND hwnd,DWORD ws,UINT wID,int nBitmaps,HINSTANCE hBMInst,UINT_PTR wBMID,LPCTBBUTTON lpButtons,int iNumButtons,int dxButton,int dyButton,int dxBitmap,int dyBitmap,UINT uStructSize);
00749   WINCOMMCTRLAPI HBITMAP WINAPI CreateMappedBitmap(HINSTANCE hInstance,INT_PTR idBitmap,UINT wFlags,LPCOLORMAP lpColorMap,int iNumMaps);
00750 
00751 #define CMB_MASKED 0x2
00752 #define TBSTATE_CHECKED 0x1
00753 #define TBSTATE_PRESSED 0x2
00754 #define TBSTATE_ENABLED 0x4
00755 #define TBSTATE_HIDDEN 0x8
00756 #define TBSTATE_INDETERMINATE 0x10
00757 #define TBSTATE_WRAP 0x20
00758 #define TBSTATE_ELLIPSES 0x40
00759 #define TBSTATE_MARKED 0x80
00760 
00761 #define TBSTYLE_BUTTON 0x0
00762 #define TBSTYLE_SEP 0x1
00763 #define TBSTYLE_CHECK 0x2
00764 #define TBSTYLE_GROUP 0x4
00765 #define TBSTYLE_CHECKGROUP (TBSTYLE_GROUP | TBSTYLE_CHECK)
00766 #define TBSTYLE_DROPDOWN 0x8
00767 #define TBSTYLE_AUTOSIZE 0x10
00768 #define TBSTYLE_NOPREFIX 0x20
00769 #define TBSTYLE_TOOLTIPS 0x100
00770 #define TBSTYLE_WRAPABLE 0x200
00771 #define TBSTYLE_ALTDRAG 0x400
00772 #define TBSTYLE_FLAT 0x800
00773 #define TBSTYLE_LIST 0x1000
00774 #define TBSTYLE_CUSTOMERASE 0x2000
00775 #define TBSTYLE_REGISTERDROP 0x4000
00776 #define TBSTYLE_TRANSPARENT 0x8000
00777 #define TBSTYLE_EX_DRAWDDARROWS 0x1
00778 
00779 #define BTNS_BUTTON TBSTYLE_BUTTON
00780 #define BTNS_SEP TBSTYLE_SEP
00781 #define BTNS_CHECK TBSTYLE_CHECK
00782 #define BTNS_GROUP TBSTYLE_GROUP
00783 #define BTNS_CHECKGROUP TBSTYLE_CHECKGROUP
00784 #define BTNS_DROPDOWN TBSTYLE_DROPDOWN
00785 #define BTNS_AUTOSIZE TBSTYLE_AUTOSIZE
00786 #define BTNS_NOPREFIX TBSTYLE_NOPREFIX
00787 #define BTNS_SHOWTEXT 0x40
00788 #define BTNS_WHOLEDROPDOWN 0x80
00789 
00790 #define TBSTYLE_EX_MIXEDBUTTONS 0x8
00791 #define TBSTYLE_EX_HIDECLIPPEDBUTTONS 0x10
00792 #define TBSTYLE_EX_DOUBLEBUFFER 0x80
00793 
00794   typedef struct _NMTBCUSTOMDRAW {
00795     NMCUSTOMDRAW nmcd;
00796     HBRUSH hbrMonoDither;
00797     HBRUSH hbrLines;
00798     HPEN hpenLines;
00799     COLORREF clrText;
00800     COLORREF clrMark;
00801     COLORREF clrTextHighlight;
00802     COLORREF clrBtnFace;
00803     COLORREF clrBtnHighlight;
00804     COLORREF clrHighlightHotTrack;
00805     RECT rcText;
00806     int nStringBkMode;
00807     int nHLStringBkMode;
00808     int iListGap;
00809   } NMTBCUSTOMDRAW,*LPNMTBCUSTOMDRAW;
00810 
00811 #define TBCDRF_NOEDGES 0x10000
00812 #define TBCDRF_HILITEHOTTRACK 0x20000
00813 #define TBCDRF_NOOFFSET 0x40000
00814 #define TBCDRF_NOMARK 0x80000
00815 #define TBCDRF_NOETCHEDEFFECT 0x100000
00816 
00817 #define TBCDRF_BLENDICON 0x200000
00818 #define TBCDRF_NOBACKGROUND 0x400000
00819 
00820 #define TB_ENABLEBUTTON (WM_USER+1)
00821 #define TB_CHECKBUTTON (WM_USER+2)
00822 #define TB_PRESSBUTTON (WM_USER+3)
00823 #define TB_HIDEBUTTON (WM_USER+4)
00824 #define TB_INDETERMINATE (WM_USER+5)
00825 #define TB_MARKBUTTON (WM_USER+6)
00826 #define TB_ISBUTTONENABLED (WM_USER+9)
00827 #define TB_ISBUTTONCHECKED (WM_USER+10)
00828 #define TB_ISBUTTONPRESSED (WM_USER+11)
00829 #define TB_ISBUTTONHIDDEN (WM_USER+12)
00830 #define TB_ISBUTTONINDETERMINATE (WM_USER+13)
00831 #define TB_ISBUTTONHIGHLIGHTED (WM_USER+14)
00832 #define TB_SETSTATE (WM_USER+17)
00833 #define TB_GETSTATE (WM_USER+18)
00834 #define TB_ADDBITMAP (WM_USER+19)
00835 
00836   typedef struct tagTBADDBITMAP {
00837     HINSTANCE hInst;
00838     UINT_PTR nID;
00839   } TBADDBITMAP,*LPTBADDBITMAP;
00840 
00841 #define HINST_COMMCTRL ((HINSTANCE)-1)
00842 #define IDB_STD_SMALL_COLOR 0
00843 #define IDB_STD_LARGE_COLOR 1
00844 #define IDB_VIEW_SMALL_COLOR 4
00845 #define IDB_VIEW_LARGE_COLOR 5
00846 #define IDB_HIST_SMALL_COLOR 8
00847 #define IDB_HIST_LARGE_COLOR 9
00848 
00849 #define STD_CUT 0
00850 #define STD_COPY 1
00851 #define STD_PASTE 2
00852 #define STD_UNDO 3
00853 #define STD_REDOW 4
00854 #define STD_DELETE 5
00855 #define STD_FILENEW 6
00856 #define STD_FILEOPEN 7
00857 #define STD_FILESAVE 8
00858 #define STD_PRINTPRE 9
00859 #define STD_PROPERTIES 10
00860 #define STD_HELP 11
00861 #define STD_FIND 12
00862 #define STD_REPLACE 13
00863 #define STD_PRINT 14
00864 
00865 #define VIEW_LARGEICONS 0
00866 #define VIEW_SMALLICONS 1
00867 #define VIEW_LIST 2
00868 #define VIEW_DETAILS 3
00869 #define VIEW_SORTNAME 4
00870 #define VIEW_SORTSIZE 5
00871 #define VIEW_SORTDATE 6
00872 #define VIEW_SORTTYPE 7
00873 #define VIEW_PARENTFOLDER 8
00874 #define VIEW_NETCONNECT 9
00875 #define VIEW_NETDISCONNECT 10
00876 #define VIEW_NEWFOLDER 11
00877 #define VIEW_VIEWMENU 12
00878 #define HIST_BACK 0
00879 #define HIST_FORWARD 1
00880 #define HIST_FAVORITES 2
00881 #define HIST_ADDTOFAVORITES 3
00882 #define HIST_VIEWTREE 4
00883 
00884 #define TB_ADDBUTTONSA (WM_USER+20)
00885 #define TB_INSERTBUTTONA (WM_USER+21)
00886 #define TB_DELETEBUTTON (WM_USER+22)
00887 #define TB_GETBUTTON (WM_USER+23)
00888 #define TB_BUTTONCOUNT (WM_USER+24)
00889 #define TB_COMMANDTOINDEX (WM_USER+25)
00890 
00891   typedef struct tagTBSAVEPARAMSA {
00892     HKEY hkr;
00893     LPCSTR pszSubKey;
00894     LPCSTR pszValueName;
00895   } TBSAVEPARAMSA,*LPTBSAVEPARAMSA;
00896 
00897   typedef struct tagTBSAVEPARAMSW {
00898     HKEY hkr;
00899     LPCWSTR pszSubKey;
00900     LPCWSTR pszValueName;
00901   } TBSAVEPARAMSW,*LPTBSAVEPARAMW;
00902 
00903 #define TBSAVEPARAMS __MINGW_NAME_AW(TBSAVEPARAMS)
00904 #define LPTBSAVEPARAMS __MINGW_NAME_AW(LPTBSAVEPARAMS)
00905 
00906 #define TB_SAVERESTOREA (WM_USER+26)
00907 #define TB_SAVERESTOREW (WM_USER+76)
00908 #define TB_CUSTOMIZE (WM_USER+27)
00909 #define TB_ADDSTRINGA (WM_USER+28)
00910 #define TB_ADDSTRINGW (WM_USER+77)
00911 #define TB_GETITEMRECT (WM_USER+29)
00912 #define TB_BUTTONSTRUCTSIZE (WM_USER+30)
00913 #define TB_SETBUTTONSIZE (WM_USER+31)
00914 #define TB_SETBITMAPSIZE (WM_USER+32)
00915 #define TB_AUTOSIZE (WM_USER+33)
00916 #define TB_GETTOOLTIPS (WM_USER+35)
00917 #define TB_SETTOOLTIPS (WM_USER+36)
00918 #define TB_SETPARENT (WM_USER+37)
00919 #define TB_SETROWS (WM_USER+39)
00920 #define TB_GETROWS (WM_USER+40)
00921 #define TB_SETCMDID (WM_USER+42)
00922 #define TB_CHANGEBITMAP (WM_USER+43)
00923 #define TB_GETBITMAP (WM_USER+44)
00924 #define TB_GETBUTTONTEXTA (WM_USER+45)
00925 #define TB_GETBUTTONTEXTW (WM_USER+75)
00926 #define TB_REPLACEBITMAP (WM_USER+46)
00927 #define TB_SETINDENT (WM_USER+47)
00928 #define TB_SETIMAGELIST (WM_USER+48)
00929 #define TB_GETIMAGELIST (WM_USER+49)
00930 #define TB_LOADIMAGES (WM_USER+50)
00931 #define TB_GETRECT (WM_USER+51)
00932 #define TB_SETHOTIMAGELIST (WM_USER+52)
00933 #define TB_GETHOTIMAGELIST (WM_USER+53)
00934 #define TB_SETDISABLEDIMAGELIST (WM_USER+54)
00935 #define TB_GETDISABLEDIMAGELIST (WM_USER+55)
00936 #define TB_SETSTYLE (WM_USER+56)
00937 #define TB_GETSTYLE (WM_USER+57)
00938 #define TB_GETBUTTONSIZE (WM_USER+58)
00939 #define TB_SETBUTTONWIDTH (WM_USER+59)
00940 #define TB_SETMAXTEXTROWS (WM_USER+60)
00941 #define TB_GETTEXTROWS (WM_USER+61)
00942 
00943 #define TB_GETBUTTONTEXT __MINGW_NAME_AW(TB_GETBUTTONTEXT)
00944 #define TB_SAVERESTORE __MINGW_NAME_AW(TB_SAVERESTORE)
00945 #define TB_ADDSTRING __MINGW_NAME_AW(TB_ADDSTRING)
00946 
00947 #define TB_GETOBJECT (WM_USER+62)
00948 #define TB_GETHOTITEM (WM_USER+71)
00949 #define TB_SETHOTITEM (WM_USER+72)
00950 #define TB_SETANCHORHIGHLIGHT (WM_USER+73)
00951 #define TB_GETANCHORHIGHLIGHT (WM_USER+74)
00952 #define TB_MAPACCELERATORA (WM_USER+78)
00953 
00954   typedef struct {
00955     int iButton;
00956     DWORD dwFlags;
00957   } TBINSERTMARK,*LPTBINSERTMARK;
00958 #define TBIMHT_AFTER 0x1
00959 #define TBIMHT_BACKGROUND 0x2
00960 
00961 #define TB_GETINSERTMARK (WM_USER+79)
00962 #define TB_SETINSERTMARK (WM_USER+80)
00963 #define TB_INSERTMARKHITTEST (WM_USER+81)
00964 #define TB_MOVEBUTTON (WM_USER+82)
00965 #define TB_GETMAXSIZE (WM_USER+83)
00966 #define TB_SETEXTENDEDSTYLE (WM_USER+84)
00967 #define TB_GETEXTENDEDSTYLE (WM_USER+85)
00968 #define TB_GETPADDING (WM_USER+86)
00969 #define TB_SETPADDING (WM_USER+87)
00970 #define TB_SETINSERTMARKCOLOR (WM_USER+88)
00971 #define TB_GETINSERTMARKCOLOR (WM_USER+89)
00972 
00973 #define TB_SETCOLORSCHEME CCM_SETCOLORSCHEME
00974 #define TB_GETCOLORSCHEME CCM_GETCOLORSCHEME
00975 
00976 #define TB_SETUNICODEFORMAT CCM_SETUNICODEFORMAT
00977 #define TB_GETUNICODEFORMAT CCM_GETUNICODEFORMAT
00978 
00979 #define TB_MAPACCELERATORW (WM_USER+90)
00980 
00981 #define TB_MAPACCELERATOR __MINGW_NAME_AW(TB_MAPACCELERATOR)
00982 
00983   typedef struct {
00984     HINSTANCE hInstOld;
00985     UINT_PTR nIDOld;
00986     HINSTANCE hInstNew;
00987     UINT_PTR nIDNew;
00988     int nButtons;
00989   } TBREPLACEBITMAP,*LPTBREPLACEBITMAP;
00990 
00991 #define TBBF_LARGE 0x1
00992 
00993 #define TB_GETBITMAPFLAGS (WM_USER+41)
00994 
00995 #define TBIF_IMAGE 0x1
00996 #define TBIF_TEXT 0x2
00997 #define TBIF_STATE 0x4
00998 #define TBIF_STYLE 0x8
00999 #define TBIF_LPARAM 0x10
01000 #define TBIF_COMMAND 0x20
01001 #define TBIF_SIZE 0x40
01002 #define TBIF_BYINDEX 0x80000000
01003 
01004   typedef struct {
01005     UINT cbSize;
01006     DWORD dwMask;
01007     int idCommand;
01008     int iImage;
01009     BYTE fsState;
01010     BYTE fsStyle;
01011     WORD cx;
01012     DWORD_PTR lParam;
01013     LPSTR pszText;
01014     int cchText;
01015   } TBBUTTONINFOA,*LPTBBUTTONINFOA;
01016 
01017   typedef struct {
01018     UINT cbSize;
01019     DWORD dwMask;
01020     int idCommand;
01021     int iImage;
01022     BYTE fsState;
01023     BYTE fsStyle;
01024     WORD cx;
01025     DWORD_PTR lParam;
01026     LPWSTR pszText;
01027     int cchText;
01028   } TBBUTTONINFOW,*LPTBBUTTONINFOW;
01029 
01030 #define TBBUTTONINFO __MINGW_NAME_AW(TBBUTTONINFO)
01031 #define LPTBBUTTONINFO __MINGW_NAME_AW(LPTBBUTTONINFO)
01032 
01033 #define TB_GETBUTTONINFOW (WM_USER+63)
01034 #define TB_SETBUTTONINFOW (WM_USER+64)
01035 #define TB_GETBUTTONINFOA (WM_USER+65)
01036 #define TB_SETBUTTONINFOA (WM_USER+66)
01037 
01038 #define TB_GETBUTTONINFO __MINGW_NAME_AW(TB_GETBUTTONINFO)
01039 #define TB_SETBUTTONINFO __MINGW_NAME_AW(TB_SETBUTTONINFO)
01040 
01041 #define TB_INSERTBUTTONW (WM_USER+67)
01042 #define TB_ADDBUTTONSW (WM_USER+68)
01043 
01044 #define TB_HITTEST (WM_USER+69)
01045 
01046 #define TB_INSERTBUTTON __MINGW_NAME_AW(TB_INSERTBUTTON)
01047 #define TB_ADDBUTTONS __MINGW_NAME_AW(TB_ADDBUTTONS)
01048 
01049 #define TB_SETDRAWTEXTFLAGS (WM_USER+70)
01050 
01051 #define TB_GETSTRINGW (WM_USER+91)
01052 #define TB_GETSTRINGA (WM_USER+92)
01053 
01054 #define TB_GETSTRING __MINGW_NAME_AW(TB_GETSTRING)
01055 
01056 #define TB_SETHOTITEM2 (WM_USER+94)
01057 #define TB_SETLISTGAP (WM_USER+96)
01058 #define TB_GETIMAGELISTCOUNT (WM_USER+98)
01059 #define TB_GETIDEALSIZE (WM_USER+99)
01060 #define TB_TRANSLATEACCELERATOR CCM_TRANSLATEACCELERATOR
01061 
01062 #define TBMF_PAD 0x1
01063 #define TBMF_BARPAD 0x2
01064 #define TBMF_BUTTONSPACING 0x4
01065 
01066   typedef struct {
01067     UINT cbSize;
01068     DWORD dwMask;
01069     int cxPad;
01070     int cyPad;
01071     int cxBarPad;
01072     int cyBarPad;
01073     int cxButtonSpacing;
01074     int cyButtonSpacing;
01075   } TBMETRICS,*LPTBMETRICS;
01076 
01077 #define TB_GETMETRICS (WM_USER+101)
01078 #define TB_SETMETRICS (WM_USER+102)
01079 #define TB_SETWINDOWTHEME CCM_SETWINDOWTHEME
01080 
01081 #define TBN_GETBUTTONINFOA (TBN_FIRST-0)
01082 #define TBN_BEGINDRAG (TBN_FIRST-1)
01083 #define TBN_ENDDRAG (TBN_FIRST-2)
01084 #define TBN_BEGINADJUST (TBN_FIRST-3)
01085 #define TBN_ENDADJUST (TBN_FIRST-4)
01086 #define TBN_RESET (TBN_FIRST-5)
01087 #define TBN_QUERYINSERT (TBN_FIRST-6)
01088 #define TBN_QUERYDELETE (TBN_FIRST-7)
01089 #define TBN_TOOLBARCHANGE (TBN_FIRST-8)
01090 #define TBN_CUSTHELP (TBN_FIRST-9)
01091 #define TBN_DROPDOWN (TBN_FIRST - 10)
01092 #define TBN_GETOBJECT (TBN_FIRST - 12)
01093   typedef struct tagNMTBHOTITEM {
01094     NMHDR hdr;
01095     int idOld;
01096     int idNew;
01097     DWORD dwFlags;
01098   } NMTBHOTITEM,*LPNMTBHOTITEM;
01099 
01100 #define HICF_OTHER 0x0
01101 #define HICF_MOUSE 0x1
01102 #define HICF_ARROWKEYS 0x2
01103 #define HICF_ACCELERATOR 0x4
01104 #define HICF_DUPACCEL 0x8
01105 #define HICF_ENTERING 0x10
01106 #define HICF_LEAVING 0x20
01107 #define HICF_RESELECT 0x40
01108 #define HICF_LMOUSE 0x80
01109 #define HICF_TOGGLEDROPDOWN 0x100
01110 
01111 #define TBN_HOTITEMCHANGE (TBN_FIRST - 13)
01112 #define TBN_DRAGOUT (TBN_FIRST - 14)
01113 #define TBN_DELETINGBUTTON (TBN_FIRST - 15)
01114 #define TBN_GETDISPINFOA (TBN_FIRST - 16)
01115 #define TBN_GETDISPINFOW (TBN_FIRST - 17)
01116 #define TBN_GETINFOTIPA (TBN_FIRST - 18)
01117 #define TBN_GETINFOTIPW (TBN_FIRST - 19)
01118 #define TBN_GETBUTTONINFOW (TBN_FIRST - 20)
01119 #define TBN_RESTORE (TBN_FIRST - 21)
01120 #define TBN_SAVE (TBN_FIRST - 22)
01121 #define TBN_INITCUSTOMIZE (TBN_FIRST - 23)
01122 #define TBN_WRAPHOTITEM (TBN_FIRST - 24)
01123 #define TBN_DUPACCELERATOR (TBN_FIRST - 25)
01124 #define TBN_WRAPACCELERATOR (TBN_FIRST - 26)
01125 #define TBN_DRAGOVER (TBN_FIRST - 27)
01126 #define TBN_MAPACCELERATOR (TBN_FIRST - 28)
01127 #define TBNRF_HIDEHELP 0x1
01128 #define TBNRF_ENDCUSTOMIZE 0x2
01129 
01130   typedef struct tagNMTBSAVE {
01131     NMHDR hdr;
01132     DWORD *pData;
01133     DWORD *pCurrent;
01134     UINT cbData;
01135     int iItem;
01136     int cButtons;
01137     TBBUTTON tbButton;
01138   } NMTBSAVE,*LPNMTBSAVE;
01139 
01140   typedef struct tagNMTBRESTORE {
01141     NMHDR hdr;
01142     DWORD *pData;
01143     DWORD *pCurrent;
01144     UINT cbData;
01145     int iItem;
01146     int cButtons;
01147     int cbBytesPerRecord;
01148     TBBUTTON tbButton;
01149   } NMTBRESTORE,*LPNMTBRESTORE;
01150 
01151   typedef struct tagNMTBGETINFOTIPA {
01152     NMHDR hdr;
01153     LPSTR pszText;
01154     int cchTextMax;
01155     int iItem;
01156     LPARAM lParam;
01157   } NMTBGETINFOTIPA,*LPNMTBGETINFOTIPA;
01158 
01159   typedef struct tagNMTBGETINFOTIPW {
01160     NMHDR hdr;
01161     LPWSTR pszText;
01162     int cchTextMax;
01163     int iItem;
01164     LPARAM lParam;
01165   } NMTBGETINFOTIPW,*LPNMTBGETINFOTIPW;
01166 
01167 #define TBN_GETINFOTIP __MINGW_NAME_AW(TBN_GETINFOTIP)
01168 #define NMTBGETINFOTIP __MINGW_NAME_AW(NMTBGETINFOTIP)
01169 #define LPNMTBGETINFOTIP __MINGW_NAME_AW(LPNMTBGETINFOTIP)
01170 
01171 #define TBNF_IMAGE 0x1
01172 #define TBNF_TEXT 0x2
01173 #define TBNF_DI_SETITEM 0x10000000
01174 
01175   typedef struct {
01176     NMHDR hdr;
01177     DWORD dwMask;
01178     int idCommand;
01179     DWORD_PTR lParam;
01180     int iImage;
01181     LPSTR pszText;
01182     int cchText;
01183   } NMTBDISPINFOA,*LPNMTBDISPINFOA;
01184 
01185   typedef struct {
01186     NMHDR hdr;
01187     DWORD dwMask;
01188     int idCommand;
01189     DWORD_PTR lParam;
01190     int iImage;
01191     LPWSTR pszText;
01192     int cchText;
01193   } NMTBDISPINFOW,*LPNMTBDISPINFOW;
01194 
01195 #define TBN_GETDISPINFO __MINGW_NAME_AW(TBN_GETDISPINFO)
01196 #define NMTBDISPINFO __MINGW_NAME_AW(NMTBDISPINFO)
01197 #define LPNMTBDISPINFO __MINGW_NAME_AW(LPNMTBDISPINFO)
01198 
01199 #define TBDDRET_DEFAULT 0
01200 #define TBDDRET_NODEFAULT 1
01201 #define TBDDRET_TREATPRESSED 2
01202 
01203 #define TBN_GETBUTTONINFO __MINGW_NAME_AW(TBN_GETBUTTONINFO)
01204 
01205 #define TBNOTIFYA NMTOOLBARA
01206 #define TBNOTIFYW NMTOOLBARW
01207 #define LPTBNOTIFYA LPNMTOOLBARA
01208 #define LPTBNOTIFYW LPNMTOOLBARW
01209 
01210 #define TBNOTIFY NMTOOLBAR
01211 #define LPTBNOTIFY LPNMTOOLBAR
01212 
01213   typedef struct tagNMTOOLBARA {
01214     NMHDR hdr;
01215     int iItem;
01216     TBBUTTON tbButton;
01217     int cchText;
01218     LPSTR pszText;
01219     RECT rcButton;
01220   } NMTOOLBARA,*LPNMTOOLBARA;
01221 
01222   typedef struct tagNMTOOLBARW {
01223     NMHDR hdr;
01224     int iItem;
01225     TBBUTTON tbButton;
01226     int cchText;
01227     LPWSTR pszText;
01228     RECT rcButton;
01229   } NMTOOLBARW,*LPNMTOOLBARW;
01230 
01231 #define NMTOOLBAR __MINGW_NAME_AW(NMTOOLBAR)
01232 #define LPNMTOOLBAR __MINGW_NAME_AW(LPNMTOOLBAR)
01233 
01234 #endif
01235 
01236 #ifndef NOREBAR
01237 
01238 #define REBARCLASSNAMEW L"ReBarWindow32"
01239 #define REBARCLASSNAMEA "ReBarWindow32"
01240 
01241 #define REBARCLASSNAME __MINGW_NAME_AW(REBARCLASSNAME)
01242 
01243 #define RBIM_IMAGELIST 0x1
01244 
01245 #define RBS_TOOLTIPS 0x100
01246 #define RBS_VARHEIGHT 0x200
01247 #define RBS_BANDBORDERS 0x400
01248 #define RBS_FIXEDORDER 0x800
01249 #define RBS_REGISTERDROP 0x1000
01250 #define RBS_AUTOSIZE 0x2000
01251 #define RBS_VERTICALGRIPPER 0x4000
01252 #define RBS_DBLCLKTOGGLE 0x8000
01253 
01254   typedef struct tagREBARINFO {
01255     UINT cbSize;
01256     UINT fMask;
01257 #ifndef NOIMAGEAPIS
01258     HIMAGELIST himl;
01259 #else
01260     HANDLE himl;
01261 #endif
01262   } REBARINFO,*LPREBARINFO;
01263 
01264 #define RBBS_BREAK 0x1
01265 #define RBBS_FIXEDSIZE 0x2
01266 #define RBBS_CHILDEDGE 0x4
01267 #define RBBS_HIDDEN 0x8
01268 #define RBBS_NOVERT 0x10
01269 #define RBBS_FIXEDBMP 0x20
01270 #define RBBS_VARIABLEHEIGHT 0x40
01271 #define RBBS_GRIPPERALWAYS 0x80
01272 #define RBBS_NOGRIPPER 0x100
01273 #define RBBS_USECHEVRON 0x200
01274 #define RBBS_HIDETITLE 0x400
01275 #define RBBS_TOPALIGN 0x800
01276 
01277 #define RBBIM_STYLE 0x1
01278 #define RBBIM_COLORS 0x2
01279 #define RBBIM_TEXT 0x4
01280 #define RBBIM_IMAGE 0x8
01281 #define RBBIM_CHILD 0x10
01282 #define RBBIM_CHILDSIZE 0x20
01283 #define RBBIM_SIZE 0x40
01284 #define RBBIM_BACKGROUND 0x80
01285 #define RBBIM_ID 0x100
01286 #define RBBIM_IDEALSIZE 0x200
01287 #define RBBIM_LPARAM 0x400
01288 #define RBBIM_HEADERSIZE 0x800
01289 
01290   typedef struct tagREBARBANDINFOA {
01291     UINT cbSize;
01292     UINT fMask;
01293     UINT fStyle;
01294     COLORREF clrFore;
01295     COLORREF clrBack;
01296     LPSTR lpText;
01297     UINT cch;
01298     int iImage;
01299     HWND hwndChild;
01300     UINT cxMinChild;
01301     UINT cyMinChild;
01302     UINT cx;
01303     HBITMAP hbmBack;
01304     UINT wID;
01305     UINT cyChild;
01306     UINT cyMaxChild;
01307     UINT cyIntegral;
01308     UINT cxIdeal;
01309     LPARAM lParam;
01310     UINT cxHeader;
01311   } REBARBANDINFOA,*LPREBARBANDINFOA;
01312   typedef REBARBANDINFOA CONST *LPCREBARBANDINFOA;
01313 
01314 #define REBARBANDINFOA_V3_SIZE CCSIZEOF_STRUCT(REBARBANDINFOA,wID)
01315 #define REBARBANDINFOW_V3_SIZE CCSIZEOF_STRUCT(REBARBANDINFOW,wID)
01316 #define REBARBANDINFOA_V6_SIZE CCSIZEOF_STRUCT(REBARBANDINFOA,cxHeader)
01317 #define REBARBANDINFOW_V6_SIZE CCSIZEOF_STRUCT(REBARBANDINFOW,cxHeader)
01318 
01319   typedef struct tagREBARBANDINFOW {
01320     UINT cbSize;
01321     UINT fMask;
01322     UINT fStyle;
01323     COLORREF clrFore;
01324     COLORREF clrBack;
01325     LPWSTR lpText;
01326     UINT cch;
01327     int iImage;
01328     HWND hwndChild;
01329     UINT cxMinChild;
01330     UINT cyMinChild;
01331     UINT cx;
01332     HBITMAP hbmBack;
01333     UINT wID;
01334     UINT cyChild;
01335     UINT cyMaxChild;
01336     UINT cyIntegral;
01337     UINT cxIdeal;
01338     LPARAM lParam;
01339     UINT cxHeader;
01340   } REBARBANDINFOW,*LPREBARBANDINFOW;
01341 
01342   typedef REBARBANDINFOW CONST *LPCREBARBANDINFOW;
01343 
01344 #define REBARBANDINFO __MINGW_NAME_AW(REBARBANDINFO)
01345 #define LPREBARBANDINFO __MINGW_NAME_AW(LPREBARBANDINFO)
01346 #define LPCREBARBANDINFO __MINGW_NAME_AW(LPCREBARBANDINFO)
01347 
01348 #define REBARBANDINFO_V3_SIZE __MINGW_NAME_AW_EXT(REBARBANDINFO,_V3_SIZE)
01349 
01350 #define RB_INSERTBANDA (WM_USER+1)
01351 #define RB_DELETEBAND (WM_USER+2)
01352 #define RB_GETBARINFO (WM_USER+3)
01353 #define RB_SETBARINFO (WM_USER+4)
01354 #define RB_SETBANDINFOA (WM_USER+6)
01355 #define RB_SETPARENT (WM_USER+7)
01356 #define RB_HITTEST (WM_USER+8)
01357 #define RB_GETRECT (WM_USER+9)
01358 #define RB_INSERTBANDW (WM_USER+10)
01359 #define RB_SETBANDINFOW (WM_USER+11)
01360 #define RB_GETBANDCOUNT (WM_USER+12)
01361 #define RB_GETROWCOUNT (WM_USER+13)
01362 #define RB_GETROWHEIGHT (WM_USER+14)
01363 #define RB_IDTOINDEX (WM_USER+16)
01364 #define RB_GETTOOLTIPS (WM_USER+17)
01365 #define RB_SETTOOLTIPS (WM_USER+18)
01366 #define RB_SETBKCOLOR (WM_USER+19)
01367 #define RB_GETBKCOLOR (WM_USER+20)
01368 #define RB_SETTEXTCOLOR (WM_USER+21)
01369 #define RB_GETTEXTCOLOR (WM_USER+22)
01370 
01371 #define RBSTR_CHANGERECT 0x1
01372 
01373 #define RB_SIZETORECT (WM_USER+23)
01374 #define RB_SETCOLORSCHEME CCM_SETCOLORSCHEME
01375 #define RB_GETCOLORSCHEME CCM_GETCOLORSCHEME
01376 
01377 #define RB_INSERTBAND __MINGW_NAME_AW(RB_INSERTBAND)
01378 #define RB_SETBANDINFO __MINGW_NAME_AW(RB_SETBANDINFO)
01379 
01380 #define RB_BEGINDRAG (WM_USER+24)
01381 #define RB_ENDDRAG (WM_USER+25)
01382 #define RB_DRAGMOVE (WM_USER+26)
01383 #define RB_GETBARHEIGHT (WM_USER+27)
01384 #define RB_GETBANDINFOW (WM_USER+28)
01385 #define RB_GETBANDINFOA (WM_USER+29)
01386 
01387 #define RB_GETBANDINFO __MINGW_NAME_AW(RB_GETBANDINFO)
01388 
01389 #define RB_MINIMIZEBAND (WM_USER+30)
01390 #define RB_MAXIMIZEBAND (WM_USER+31)
01391 #define RB_GETDROPTARGET (CCM_GETDROPTARGET)
01392 #define RB_GETBANDBORDERS (WM_USER+34)
01393 #define RB_SHOWBAND (WM_USER+35)
01394 #define RB_SETPALETTE (WM_USER+37)
01395 #define RB_GETPALETTE (WM_USER+38)
01396 #define RB_MOVEBAND (WM_USER+39)
01397 #define RB_SETUNICODEFORMAT CCM_SETUNICODEFORMAT
01398 #define RB_GETUNICODEFORMAT CCM_GETUNICODEFORMAT
01399 #define RB_GETBANDMARGINS (WM_USER+40)
01400 #define RB_SETWINDOWTHEME CCM_SETWINDOWTHEME
01401 #define RB_PUSHCHEVRON (WM_USER+43)
01402 
01403 #define RBN_HEIGHTCHANGE (RBN_FIRST - 0)
01404 #define RBN_GETOBJECT (RBN_FIRST - 1)
01405 #define RBN_LAYOUTCHANGED (RBN_FIRST - 2)
01406 #define RBN_AUTOSIZE (RBN_FIRST - 3)
01407 #define RBN_BEGINDRAG (RBN_FIRST - 4)
01408 #define RBN_ENDDRAG (RBN_FIRST - 5)
01409 #define RBN_DELETINGBAND (RBN_FIRST - 6)
01410 #define RBN_DELETEDBAND (RBN_FIRST - 7)
01411 #define RBN_CHILDSIZE (RBN_FIRST - 8)
01412 #define RBN_CHEVRONPUSHED (RBN_FIRST - 10)
01413 #define RBN_MINMAX (RBN_FIRST - 21)
01414 #define RBN_AUTOBREAK (RBN_FIRST - 22)
01415 
01416   typedef struct tagNMREBARCHILDSIZE {
01417     NMHDR hdr;
01418     UINT uBand;
01419     UINT wID;
01420     RECT rcChild;
01421     RECT rcBand;
01422   } NMREBARCHILDSIZE,*LPNMREBARCHILDSIZE;
01423 
01424   typedef struct tagNMREBAR {
01425     NMHDR hdr;
01426     DWORD dwMask;
01427     UINT uBand;
01428     UINT fStyle;
01429     UINT wID;
01430     LPARAM lParam;
01431   } NMREBAR,*LPNMREBAR;
01432 
01433 #define RBNM_ID 0x1
01434 #define RBNM_STYLE 0x2
01435 #define RBNM_LPARAM 0x4
01436 
01437   typedef struct tagNMRBAUTOSIZE {
01438     NMHDR hdr;
01439     WINBOOL fChanged;
01440     RECT rcTarget;
01441     RECT rcActual;
01442   } NMRBAUTOSIZE,*LPNMRBAUTOSIZE;
01443 
01444   typedef struct tagNMREBARCHEVRON {
01445     NMHDR hdr;
01446     UINT uBand;
01447     UINT wID;
01448     LPARAM lParam;
01449     RECT rc;
01450     LPARAM lParamNM;
01451   } NMREBARCHEVRON,*LPNMREBARCHEVRON;
01452 
01453 #define RBAB_AUTOSIZE 0x1
01454 #define RBAB_ADDBAND 0x2
01455 
01456   typedef struct tagNMREBARAUTOBREAK {
01457     NMHDR hdr;
01458     UINT uBand;
01459     UINT wID;
01460     LPARAM lParam;
01461     UINT uMsg;
01462     UINT fStyleCurrent;
01463     WINBOOL fAutoBreak;
01464   } NMREBARAUTOBREAK,*LPNMREBARAUTOBREAK;
01465 
01466 #define RBHT_NOWHERE 0x1
01467 #define RBHT_CAPTION 0x2
01468 #define RBHT_CLIENT 0x3
01469 #define RBHT_GRABBER 0x4
01470 #define RBHT_CHEVRON 0x8
01471 
01472   typedef struct _RB_HITTESTINFO {
01473     POINT pt;
01474     UINT flags;
01475     int iBand;
01476   } RBHITTESTINFO,*LPRBHITTESTINFO;
01477 #endif
01478 
01479 #ifndef NOTOOLTIPS
01480 
01481 #define TOOLTIPS_CLASSW L"tooltips_class32"
01482 #define TOOLTIPS_CLASSA "tooltips_class32"
01483 
01484 #define TOOLTIPS_CLASS __MINGW_NAME_AW(TOOLTIPS_CLASS)
01485 
01486 #define LPTOOLINFOA LPTTTOOLINFOA
01487 #define LPTOOLINFOW LPTTTOOLINFOW
01488 #define TOOLINFOA TTTOOLINFOA
01489 #define TOOLINFOW TTTOOLINFOW
01490 
01491 #define LPTOOLINFO LPTTTOOLINFO
01492 #define TOOLINFO TTTOOLINFO
01493 
01494 #define TTTOOLINFOA_V1_SIZE CCSIZEOF_STRUCT(TTTOOLINFOA,lpszText)
01495 #define TTTOOLINFOW_V1_SIZE CCSIZEOF_STRUCT(TTTOOLINFOW,lpszText)
01496 #define TTTOOLINFOA_V2_SIZE CCSIZEOF_STRUCT(TTTOOLINFOA,lParam)
01497 #define TTTOOLINFOW_V2_SIZE CCSIZEOF_STRUCT(TTTOOLINFOW,lParam)
01498 #define TTTOOLINFOA_V3_SIZE CCSIZEOF_STRUCT(TTTOOLINFOA,lpReserved)
01499 #define TTTOOLINFOW_V3_SIZE CCSIZEOF_STRUCT(TTTOOLINFOW,lpReserved)
01500 
01501   typedef struct tagTOOLINFOA {
01502     UINT cbSize;
01503     UINT uFlags;
01504     HWND hwnd;
01505     UINT_PTR uId;
01506     RECT rect;
01507     HINSTANCE hinst;
01508     LPSTR lpszText;
01509     LPARAM lParam;
01510     void *lpReserved;
01511   } TTTOOLINFOA,NEAR *PTOOLINFOA,*LPTTTOOLINFOA;
01512 
01513   typedef struct tagTOOLINFOW {
01514     UINT cbSize;
01515     UINT uFlags;
01516     HWND hwnd;
01517     UINT_PTR uId;
01518     RECT rect;
01519     HINSTANCE hinst;
01520     LPWSTR lpszText;
01521     LPARAM lParam;
01522     void *lpReserved;
01523   } TTTOOLINFOW,NEAR *PTOOLINFOW,*LPTTTOOLINFOW;
01524 
01525 #define TTTOOLINFO __MINGW_NAME_AW(TTTOOLINFO)
01526 #define PTOOLINFO __MINGW_NAME_AW(PTOOLINFO)
01527 #define LPTTTOOLINFO __MINGW_NAME_AW(LPTTTOOLINFO)
01528 
01529 #define TTTOOLINFO_V1_SIZE __MINGW_NAME_AW_EXT(TTTOOLINFO,_V1_SIZE)
01530 
01531 #define TTS_ALWAYSTIP 0x1
01532 #define TTS_NOPREFIX 0x2
01533 #define TTS_NOANIMATE 0x10
01534 #define TTS_NOFADE 0x20
01535 #define TTS_BALLOON 0x40
01536 #define TTS_CLOSE 0x80
01537 
01538 #define TTF_IDISHWND 0x1
01539 #define TTF_CENTERTIP 0x2
01540 #define TTF_RTLREADING 0x4
01541 #define TTF_SUBCLASS 0x10
01542 #define TTF_TRACK 0x20
01543 #define TTF_ABSOLUTE 0x80
01544 #define TTF_TRANSPARENT 0x100
01545 #define TTF_PARSELINKS 0x1000
01546 #define TTF_DI_SETITEM 0x8000
01547 
01548 #define TTDT_AUTOMATIC 0
01549 #define TTDT_RESHOW 1
01550 #define TTDT_AUTOPOP 2
01551 #define TTDT_INITIAL 3
01552 
01553 #define TTI_NONE 0
01554 #define TTI_INFO 1
01555 #define TTI_WARNING 2
01556 #define TTI_ERROR 3
01557 
01558 #define TTM_ACTIVATE (WM_USER+1)
01559 #define TTM_SETDELAYTIME (WM_USER+3)
01560 #define TTM_ADDTOOLA (WM_USER+4)
01561 #define TTM_ADDTOOLW (WM_USER+50)
01562 #define TTM_DELTOOLA (WM_USER+5)
01563 #define TTM_DELTOOLW (WM_USER+51)
01564 #define TTM_NEWTOOLRECTA (WM_USER+6)
01565 #define TTM_NEWTOOLRECTW (WM_USER+52)
01566 #define TTM_RELAYEVENT (WM_USER+7)
01567 
01568 #define TTM_GETTOOLINFOA (WM_USER+8)
01569 #define TTM_GETTOOLINFOW (WM_USER+53)
01570 
01571 #define TTM_SETTOOLINFOA (WM_USER+9)
01572 #define TTM_SETTOOLINFOW (WM_USER+54)
01573 
01574 #define TTM_HITTESTA (WM_USER +10)
01575 #define TTM_HITTESTW (WM_USER +55)
01576 #define TTM_GETTEXTA (WM_USER +11)
01577 #define TTM_GETTEXTW (WM_USER +56)
01578 #define TTM_UPDATETIPTEXTA (WM_USER +12)
01579 #define TTM_UPDATETIPTEXTW (WM_USER +57)
01580 #define TTM_GETTOOLCOUNT (WM_USER +13)
01581 #define TTM_ENUMTOOLSA (WM_USER +14)
01582 #define TTM_ENUMTOOLSW (WM_USER +58)
01583 #define TTM_GETCURRENTTOOLA (WM_USER+15)
01584 #define TTM_GETCURRENTTOOLW (WM_USER+59)
01585 #define TTM_WINDOWFROMPOINT (WM_USER+16)
01586 #define TTM_TRACKACTIVATE (WM_USER+17)
01587 #define TTM_TRACKPOSITION (WM_USER+18)
01588 #define TTM_SETTIPBKCOLOR (WM_USER+19)
01589 #define TTM_SETTIPTEXTCOLOR (WM_USER+20)
01590 #define TTM_GETDELAYTIME (WM_USER+21)
01591 #define TTM_GETTIPBKCOLOR (WM_USER+22)
01592 #define TTM_GETTIPTEXTCOLOR (WM_USER+23)
01593 #define TTM_SETMAXTIPWIDTH (WM_USER+24)
01594 #define TTM_GETMAXTIPWIDTH (WM_USER+25)
01595 #define TTM_SETMARGIN (WM_USER+26)
01596 #define TTM_GETMARGIN (WM_USER+27)
01597 #define TTM_POP (WM_USER+28)
01598 #define TTM_UPDATE (WM_USER+29)
01599 #define TTM_GETBUBBLESIZE (WM_USER+30)
01600 #define TTM_ADJUSTRECT (WM_USER+31)
01601 #define TTM_SETTITLEA (WM_USER+32)
01602 #define TTM_SETTITLEW (WM_USER+33)
01603 
01604 #define TTM_POPUP (WM_USER+34)
01605 #define TTM_GETTITLE (WM_USER+35)
01606   typedef struct _TTGETTITLE {
01607     DWORD dwSize;
01608     UINT uTitleBitmap;
01609     UINT cch;
01610     WCHAR *pszTitle;
01611   } TTGETTITLE,*PTTGETTITLE;
01612 
01613 #define TTM_ADDTOOL __MINGW_NAME_AW(TTM_ADDTOOL)
01614 #define TTM_DELTOOL __MINGW_NAME_AW(TTM_DELTOOL)
01615 #define TTM_NEWTOOLRECT __MINGW_NAME_AW(TTM_NEWTOOLRECT)
01616 #define TTM_GETTOOLINFO __MINGW_NAME_AW(TTM_GETTOOLINFO)
01617 #define TTM_SETTOOLINFO __MINGW_NAME_AW(TTM_SETTOOLINFO)
01618 #define TTM_HITTEST __MINGW_NAME_AW(TTM_HITTEST)
01619 #define TTM_GETTEXT __MINGW_NAME_AW(TTM_GETTEXT)
01620 #define TTM_UPDATETIPTEXT __MINGW_NAME_AW(TTM_UPDATETIPTEXT)
01621 #define TTM_ENUMTOOLS __MINGW_NAME_AW(TTM_ENUMTOOLS)
01622 #define TTM_GETCURRENTTOOL __MINGW_NAME_AW(TTM_GETCURRENTTOOL)
01623 #define TTM_SETTITLE __MINGW_NAME_AW(TTM_SETTITLE)
01624 
01625 #define TTM_SETWINDOWTHEME CCM_SETWINDOWTHEME
01626 
01627 #define LPHITTESTINFOW LPTTHITTESTINFOW
01628 #define LPHITTESTINFOA LPTTHITTESTINFOA
01629 #define LPHITTESTINFO LPTTHITTESTINFO
01630 
01631   typedef struct _TT_HITTESTINFOA {
01632     HWND hwnd;
01633     POINT pt;
01634     TTTOOLINFOA ti;
01635   } TTHITTESTINFOA,*LPTTHITTESTINFOA;
01636 
01637   typedef struct _TT_HITTESTINFOW {
01638     HWND hwnd;
01639     POINT pt;
01640     TTTOOLINFOW ti;
01641   } TTHITTESTINFOW,*LPTTHITTESTINFOW;
01642 
01643 #define TTHITTESTINFO __MINGW_NAME_AW(TTHITTESTINFO)
01644 #define LPTTHITTESTINFO __MINGW_NAME_AW(LPTTHITTESTINFO)
01645 
01646 #define TTN_GETDISPINFOA (TTN_FIRST - 0)
01647 #define TTN_GETDISPINFOW (TTN_FIRST - 10)
01648 #define TTN_SHOW (TTN_FIRST - 1)
01649 #define TTN_POP (TTN_FIRST - 2)
01650 #define TTN_LINKCLICK (TTN_FIRST - 3)
01651 
01652 #define TTN_GETDISPINFO __MINGW_NAME_AW(TTN_GETDISPINFO)
01653 
01654 #define TTN_NEEDTEXT TTN_GETDISPINFO
01655 #define TTN_NEEDTEXTA TTN_GETDISPINFOA
01656 #define TTN_NEEDTEXTW TTN_GETDISPINFOW
01657 
01658 #define TOOLTIPTEXTW NMTTDISPINFOW
01659 #define TOOLTIPTEXTA NMTTDISPINFOA
01660 #define LPTOOLTIPTEXTA LPNMTTDISPINFOA
01661 #define LPTOOLTIPTEXTW LPNMTTDISPINFOW
01662 
01663 #define TOOLTIPTEXT NMTTDISPINFO
01664 #define LPTOOLTIPTEXT LPNMTTDISPINFO
01665 
01666 #define NMTTDISPINFOA_V1_SIZE CCSIZEOF_STRUCT(NMTTDISPINFOA,uFlags)
01667 #define NMTTDISPINFOW_V1_SIZE CCSIZEOF_STRUCT(NMTTDISPINFOW,uFlags)
01668 
01669   typedef struct tagNMTTDISPINFOA {
01670     NMHDR hdr;
01671     LPSTR lpszText;
01672     char szText[80];
01673     HINSTANCE hinst;
01674     UINT uFlags;
01675     LPARAM lParam;
01676   } NMTTDISPINFOA,*LPNMTTDISPINFOA;
01677 
01678   typedef struct tagNMTTDISPINFOW {
01679     NMHDR hdr;
01680     LPWSTR lpszText;
01681     WCHAR szText[80];
01682     HINSTANCE hinst;
01683     UINT uFlags;
01684     LPARAM lParam;
01685   } NMTTDISPINFOW,*LPNMTTDISPINFOW;
01686 
01687 
01688 #define NMTTDISPINFO __MINGW_NAME_AW(NMTTDISPINFO)
01689 #define LPNMTTDISPINFO __MINGW_NAME_AW(LPNMTTDISPINFO)
01690 
01691 #define NMTTDISPINFO_V1_SIZE __MINGW_NAME_AW_EXT(NMTTDISPINFO,_V1_SIZE)
01692 #endif
01693 
01694 #ifndef NOSTATUSBAR
01695 
01696 #define SBARS_SIZEGRIP 0x100
01697 #define SBARS_TOOLTIPS 0x800
01698 #define SBT_TOOLTIPS 0x800
01699 
01700   WINCOMMCTRLAPI void WINAPI DrawStatusTextA(HDC hDC,LPCRECT lprc,LPCSTR pszText,UINT uFlags);
01701   WINCOMMCTRLAPI void WINAPI DrawStatusTextW(HDC hDC,LPCRECT lprc,LPCWSTR pszText,UINT uFlags);
01702 
01703   WINCOMMCTRLAPI HWND WINAPI CreateStatusWindowA(LONG style,LPCSTR lpszText,HWND hwndParent,UINT wID);
01704   WINCOMMCTRLAPI HWND WINAPI CreateStatusWindowW(LONG style,LPCWSTR lpszText,HWND hwndParent,UINT wID);
01705 
01706 #define CreateStatusWindow __MINGW_NAME_AW(CreateStatusWindow)
01707 #define DrawStatusText __MINGW_NAME_AW(DrawStatusText)
01708 
01709 #define STATUSCLASSNAMEW L"msctls_statusbar32"
01710 #define STATUSCLASSNAMEA "msctls_statusbar32"
01711 
01712 #define STATUSCLASSNAME __MINGW_NAME_AW(STATUSCLASSNAME)
01713 
01714 #define SB_SETTEXTA (WM_USER+1)
01715 #define SB_SETTEXTW (WM_USER+11)
01716 #define SB_GETTEXTA (WM_USER+2)
01717 #define SB_GETTEXTW (WM_USER+13)
01718 #define SB_GETTEXTLENGTHA (WM_USER+3)
01719 #define SB_GETTEXTLENGTHW (WM_USER+12)
01720 
01721 #define SB_GETTEXT __MINGW_NAME_AW(SB_GETTEXT)
01722 #define SB_SETTEXT __MINGW_NAME_AW(SB_SETTEXT)
01723 #define SB_GETTEXTLENGTH __MINGW_NAME_AW(SB_GETTEXTLENGTH)
01724 #define SB_SETTIPTEXT __MINGW_NAME_AW(SB_SETTIPTEXT)
01725 #define SB_GETTIPTEXT __MINGW_NAME_AW(SB_GETTIPTEXT)
01726 
01727 #define SB_SETPARTS (WM_USER+4)
01728 #define SB_GETPARTS (WM_USER+6)
01729 #define SB_GETBORDERS (WM_USER+7)
01730 #define SB_SETMINHEIGHT (WM_USER+8)
01731 #define SB_SIMPLE (WM_USER+9)
01732 #define SB_GETRECT (WM_USER+10)
01733 #define SB_ISSIMPLE (WM_USER+14)
01734 #define SB_SETICON (WM_USER+15)
01735 #define SB_SETTIPTEXTA (WM_USER+16)
01736 #define SB_SETTIPTEXTW (WM_USER+17)
01737 #define SB_GETTIPTEXTA (WM_USER+18)
01738 #define SB_GETTIPTEXTW (WM_USER+19)
01739 #define SB_GETICON (WM_USER+20)
01740 #define SB_SETUNICODEFORMAT CCM_SETUNICODEFORMAT
01741 #define SB_GETUNICODEFORMAT CCM_GETUNICODEFORMAT
01742 
01743 #define SBT_OWNERDRAW 0x1000
01744 #define SBT_NOBORDERS 0x100
01745 #define SBT_POPOUT 0x200
01746 #define SBT_RTLREADING 0x400
01747 #define SBT_NOTABPARSING 0x800
01748 
01749 #define SB_SETBKCOLOR CCM_SETBKCOLOR
01750 
01751 #define SBN_SIMPLEMODECHANGE (SBN_FIRST - 0)
01752 
01753 #define SB_SIMPLEID 0xff
01754 #endif
01755 
01756 #ifndef NOMENUHELP
01757 
01758   WINCOMMCTRLAPI void WINAPI MenuHelp(UINT uMsg,WPARAM wParam,LPARAM lParam,HMENU hMainMenu,HINSTANCE hInst,HWND hwndStatus,UINT *lpwIDs);
01759   WINCOMMCTRLAPI WINBOOL WINAPI ShowHideMenuCtl(HWND hWnd,UINT_PTR uFlags,LPINT lpInfo);
01760   WINCOMMCTRLAPI void WINAPI GetEffectiveClientRect(HWND hWnd,LPRECT lprc,const INT *lpInfo);
01761 
01762 #define MINSYSCOMMAND SC_SIZE
01763 #endif
01764 
01765 #ifndef NOTRACKBAR
01766 
01767 #define TRACKBAR_CLASSA "msctls_trackbar32"
01768 #define TRACKBAR_CLASSW L"msctls_trackbar32"
01769 
01770 #define TRACKBAR_CLASS __MINGW_NAME_AW(TRACKBAR_CLASS)
01771 
01772 #define TBS_AUTOTICKS 0x1
01773 #define TBS_VERT 0x2
01774 #define TBS_HORZ 0x0
01775 #define TBS_TOP 0x4
01776 #define TBS_BOTTOM 0x0
01777 #define TBS_LEFT 0x4
01778 #define TBS_RIGHT 0x0
01779 #define TBS_BOTH 0x8
01780 #define TBS_NOTICKS 0x10
01781 #define TBS_ENABLESELRANGE 0x20
01782 #define TBS_FIXEDLENGTH 0x40
01783 #define TBS_NOTHUMB 0x80
01784 #define TBS_TOOLTIPS 0x100
01785 #define TBS_REVERSED 0x200
01786 #define TBS_DOWNISLEFT 0x400
01787 
01788 #define TBM_GETPOS (WM_USER)
01789 #define TBM_GETRANGEMIN (WM_USER+1)
01790 #define TBM_GETRANGEMAX (WM_USER+2)
01791 #define TBM_GETTIC (WM_USER+3)
01792 #define TBM_SETTIC (WM_USER+4)
01793 #define TBM_SETPOS (WM_USER+5)
01794 #define TBM_SETRANGE (WM_USER+6)
01795 #define TBM_SETRANGEMIN (WM_USER+7)
01796 #define TBM_SETRANGEMAX (WM_USER+8)
01797 #define TBM_CLEARTICS (WM_USER+9)
01798 #define TBM_SETSEL (WM_USER+10)
01799 #define TBM_SETSELSTART (WM_USER+11)
01800 #define TBM_SETSELEND (WM_USER+12)
01801 #define TBM_GETPTICS (WM_USER+14)
01802 #define TBM_GETTICPOS (WM_USER+15)
01803 #define TBM_GETNUMTICS (WM_USER+16)
01804 #define TBM_GETSELSTART (WM_USER+17)
01805 #define TBM_GETSELEND (WM_USER+18)
01806 #define TBM_CLEARSEL (WM_USER+19)
01807 #define TBM_SETTICFREQ (WM_USER+20)
01808 #define TBM_SETPAGESIZE (WM_USER+21)
01809 #define TBM_GETPAGESIZE (WM_USER+22)
01810 #define TBM_SETLINESIZE (WM_USER+23)
01811 #define TBM_GETLINESIZE (WM_USER+24)
01812 #define TBM_GETTHUMBRECT (WM_USER+25)
01813 #define TBM_GETCHANNELRECT (WM_USER+26)
01814 #define TBM_SETTHUMBLENGTH (WM_USER+27)
01815 #define TBM_GETTHUMBLENGTH (WM_USER+28)
01816 #define TBM_SETTOOLTIPS (WM_USER+29)
01817 #define TBM_GETTOOLTIPS (WM_USER+30)
01818 #define TBM_SETTIPSIDE (WM_USER+31)
01819 
01820 #define TBTS_TOP 0
01821 #define TBTS_LEFT 1
01822 #define TBTS_BOTTOM 2
01823 #define TBTS_RIGHT 3
01824 
01825 #define TBM_SETBUDDY (WM_USER+32)
01826 #define TBM_GETBUDDY (WM_USER+33)
01827 #define TBM_SETUNICODEFORMAT CCM_SETUNICODEFORMAT
01828 #define TBM_GETUNICODEFORMAT CCM_GETUNICODEFORMAT
01829 
01830 #define TB_LINEUP 0
01831 #define TB_LINEDOWN 1
01832 #define TB_PAGEUP 2
01833 #define TB_PAGEDOWN 3
01834 #define TB_THUMBPOSITION 4
01835 #define TB_THUMBTRACK 5
01836 #define TB_TOP 6
01837 #define TB_BOTTOM 7
01838 #define TB_ENDTRACK 8
01839 
01840 #define TBCD_TICS 0x1
01841 #define TBCD_THUMB 0x2
01842 #define TBCD_CHANNEL 0x3
01843 #endif
01844 
01845 #ifndef NODRAGLIST
01846 
01847   typedef struct tagDRAGLISTINFO {
01848     UINT uNotification;
01849     HWND hWnd;
01850     POINT ptCursor;
01851   } DRAGLISTINFO,*LPDRAGLISTINFO;
01852 
01853 #define DL_BEGINDRAG (WM_USER+133)
01854 #define DL_DRAGGING (WM_USER+134)
01855 #define DL_DROPPED (WM_USER+135)
01856 #define DL_CANCELDRAG (WM_USER+136)
01857 
01858 #define DL_CURSORSET 0
01859 #define DL_STOPCURSOR 1
01860 #define DL_COPYCURSOR 2
01861 #define DL_MOVECURSOR 3
01862 
01863 #define DRAGLISTMSGSTRING TEXT("commctrl_DragListMsg")
01864 
01865   WINCOMMCTRLAPI WINBOOL WINAPI MakeDragList(HWND hLB);
01866   WINCOMMCTRLAPI void WINAPI DrawInsert(HWND handParent,HWND hLB,int nItem);
01867 
01868   WINCOMMCTRLAPI int WINAPI LBItemFromPt(HWND hLB,POINT pt,WINBOOL bAutoScroll);
01869 #endif
01870 
01871 #ifndef NOUPDOWN
01872 
01873 #define UPDOWN_CLASSA "msctls_updown32"
01874 #define UPDOWN_CLASSW L"msctls_updown32"
01875 
01876 #define UPDOWN_CLASS __MINGW_NAME_AW(UPDOWN_CLASS)
01877 
01878   typedef struct _UDACCEL {
01879     UINT nSec;
01880     UINT nInc;
01881   } UDACCEL,*LPUDACCEL;
01882 
01883 #define UD_MAXVAL 0x7fff
01884 #define UD_MINVAL (-UD_MAXVAL)
01885 
01886 #define UDS_WRAP 0x1
01887 #define UDS_SETBUDDYINT 0x2
01888 #define UDS_ALIGNRIGHT 0x4
01889 #define UDS_ALIGNLEFT 0x8
01890 #define UDS_AUTOBUDDY 0x10
01891 #define UDS_ARROWKEYS 0x20
01892 #define UDS_HORZ 0x40
01893 #define UDS_NOTHOUSANDS 0x80
01894 #define UDS_HOTTRACK 0x100
01895 
01896 #define UDM_SETRANGE (WM_USER+101)
01897 #define UDM_GETRANGE (WM_USER+102)
01898 #define UDM_SETPOS (WM_USER+103)
01899 #define UDM_GETPOS (WM_USER+104)
01900 #define UDM_SETBUDDY (WM_USER+105)
01901 #define UDM_GETBUDDY (WM_USER+106)
01902 #define UDM_SETACCEL (WM_USER+107)
01903 #define UDM_GETACCEL (WM_USER+108)
01904 #define UDM_SETBASE (WM_USER+109)
01905 #define UDM_GETBASE (WM_USER+110)
01906 #define UDM_SETRANGE32 (WM_USER+111)
01907 #define UDM_GETRANGE32 (WM_USER+112)
01908 #define UDM_SETUNICODEFORMAT CCM_SETUNICODEFORMAT
01909 #define UDM_GETUNICODEFORMAT CCM_GETUNICODEFORMAT
01910 #define UDM_SETPOS32 (WM_USER+113)
01911 #define UDM_GETPOS32 (WM_USER+114)
01912 
01913   WINCOMMCTRLAPI HWND WINAPI CreateUpDownControl(DWORD dwStyle,int x,int y,int cx,int cy,HWND hParent,int nID,HINSTANCE hInst,HWND hBuddy,int nUpper,int nLower,int nPos);
01914 
01915 #define NM_UPDOWN NMUPDOWN
01916 #define LPNM_UPDOWN LPNMUPDOWN
01917 
01918   typedef struct _NM_UPDOWN {
01919     NMHDR hdr;
01920     int iPos;
01921     int iDelta;
01922   } NMUPDOWN,*LPNMUPDOWN;
01923 
01924 #define UDN_DELTAPOS (UDN_FIRST - 1)
01925 #endif
01926 
01927 #ifndef NOPROGRESS
01928 
01929 #define PROGRESS_CLASSA "msctls_progress32"
01930 #define PROGRESS_CLASSW L"msctls_progress32"
01931 
01932 #define PROGRESS_CLASS __MINGW_NAME_AW(PROGRESS_CLASS)
01933 
01934 #define PBS_SMOOTH 0x1
01935 #define PBS_VERTICAL 0x4
01936 
01937 #define PBM_SETRANGE (WM_USER+1)
01938 #define PBM_SETPOS (WM_USER+2)
01939 #define PBM_DELTAPOS (WM_USER+3)
01940 #define PBM_SETSTEP (WM_USER+4)
01941 #define PBM_STEPIT (WM_USER+5)
01942 #define PBM_SETRANGE32 (WM_USER+6)
01943   typedef struct {
01944     int iLow;
01945     int iHigh;
01946   } PBRANGE,*PPBRANGE;
01947 #define PBM_GETRANGE (WM_USER+7)
01948 #define PBM_GETPOS (WM_USER+8)
01949 #define PBM_SETBARCOLOR (WM_USER+9)
01950 #define PBM_SETBKCOLOR CCM_SETBKCOLOR
01951 
01952 #define PBS_MARQUEE 0x8
01953 #define PBM_SETMARQUEE (WM_USER+10)
01954 
01955 #if (_WIN32_WINNT >= 0x0600)
01956 #define PBM_GETSTEP (WM_USER+13)
01957 #define PBM_GETBKCOLOR (WM_USER+14)
01958 #define PBM_GETBARCOLOR (WM_USER+15)
01959 #define PBM_SETSTATE (WM_USER+16)
01960 #define PBM_GETSTATE (WM_USER+17)
01961 #define PBS_SMOOTHREVERSE 0x10
01962 #define PBST_NORMAL 1
01963 #define PBST_ERROR 2
01964 #define PBST_PAUSED 3
01965 #endif /* (_WIN32_WINNT >= 0x0600) */
01966 
01967 #endif /* !NOPROGRESS */
01968 
01969 
01970 #ifndef NOHOTKEY
01971 
01972 #define HOTKEYF_SHIFT 0x1
01973 #define HOTKEYF_CONTROL 0x2
01974 #define HOTKEYF_ALT 0x4
01975 #define HOTKEYF_EXT 0x8
01976 #define HKCOMB_NONE 0x1
01977 #define HKCOMB_S 0x2
01978 #define HKCOMB_C 0x4
01979 #define HKCOMB_A 0x8
01980 #define HKCOMB_SC 0x10
01981 #define HKCOMB_SA 0x20
01982 #define HKCOMB_CA 0x40
01983 #define HKCOMB_SCA 0x80
01984 
01985 #define HKM_SETHOTKEY (WM_USER+1)
01986 #define HKM_GETHOTKEY (WM_USER+2)
01987 #define HKM_SETRULES (WM_USER+3)
01988 
01989 #define HOTKEY_CLASSA "msctls_hotkey32"
01990 #define HOTKEY_CLASSW L"msctls_hotkey32"
01991 
01992 #define HOTKEY_CLASS __MINGW_NAME_AW(HOTKEY_CLASS)
01993 #endif
01994 
01995 #define CCS_TOP 0x1L
01996 #define CCS_NOMOVEY 0x2L
01997 #define CCS_BOTTOM 0x3L
01998 #define CCS_NORESIZE 0x4L
01999 #define CCS_NOPARENTALIGN 0x8L
02000 #define CCS_ADJUSTABLE 0x20L
02001 #define CCS_NODIVIDER 0x40L
02002 #define CCS_VERT 0x80L
02003 #define CCS_LEFT (CCS_VERT | CCS_TOP)
02004 #define CCS_RIGHT (CCS_VERT | CCS_BOTTOM)
02005 #define CCS_NOMOVEX (CCS_VERT | CCS_NOMOVEY)
02006 
02007 #ifndef NOLISTVIEW
02008 
02009 #define WC_LISTVIEWA "SysListView32"
02010 #define WC_LISTVIEWW L"SysListView32"
02011 
02012 #define WC_LISTVIEW __MINGW_NAME_AW(WC_LISTVIEW)
02013 
02014 #define LVS_ICON 0x0
02015 #define LVS_REPORT 0x1
02016 #define LVS_SMALLICON 0x2
02017 #define LVS_LIST 0x3
02018 #define LVS_TYPEMASK 0x3
02019 #define LVS_SINGLESEL 0x4
02020 #define LVS_SHOWSELALWAYS 0x8
02021 #define LVS_SORTASCENDING 0x10
02022 #define LVS_SORTDESCENDING 0x20
02023 #define LVS_SHAREIMAGELISTS 0x40
02024 #define LVS_NOLABELWRAP 0x80
02025 #define LVS_AUTOARRANGE 0x100
02026 #define LVS_EDITLABELS 0x200
02027 #define LVS_OWNERDATA 0x1000
02028 #define LVS_NOSCROLL 0x2000
02029 
02030 #define LVS_TYPESTYLEMASK 0xfc00
02031 
02032 #define LVS_ALIGNTOP 0x0
02033 #define LVS_ALIGNLEFT 0x800
02034 #define LVS_ALIGNMASK 0xc00
02035 
02036 #define LVS_OWNERDRAWFIXED 0x400
02037 #define LVS_NOCOLUMNHEADER 0x4000
02038 #define LVS_NOSORTHEADER 0x8000
02039 
02040 #define LVM_SETUNICODEFORMAT CCM_SETUNICODEFORMAT
02041 #define ListView_SetUnicodeFormat(hwnd,fUnicode) (WINBOOL)SNDMSG((hwnd),LVM_SETUNICODEFORMAT,(WPARAM)(fUnicode),0)
02042 #define LVM_GETUNICODEFORMAT CCM_GETUNICODEFORMAT
02043 #define ListView_GetUnicodeFormat(hwnd) (WINBOOL)SNDMSG((hwnd),LVM_GETUNICODEFORMAT,0,0)
02044 #define LVM_GETBKCOLOR (LVM_FIRST+0)
02045 #define ListView_GetBkColor(hwnd) (COLORREF)SNDMSG((hwnd),LVM_GETBKCOLOR,0,0L)
02046 #define LVM_SETBKCOLOR (LVM_FIRST+1)
02047 #define ListView_SetBkColor(hwnd,clrBk) (WINBOOL)SNDMSG((hwnd),LVM_SETBKCOLOR,0,(LPARAM)(COLORREF)(clrBk))
02048 #define LVM_GETIMAGELIST (LVM_FIRST+2)
02049 #define ListView_GetImageList(hwnd,iImageList) (HIMAGELIST)SNDMSG((hwnd),LVM_GETIMAGELIST,(WPARAM)(INT)(iImageList),0L)
02050 
02051 #define LVSIL_NORMAL            0
02052 #define LVSIL_SMALL             1
02053 #define LVSIL_STATE             2
02054 #define LVSIL_GROUPHEADER       3
02055 
02056 #define LVM_SETIMAGELIST (LVM_FIRST+3)
02057 #define ListView_SetImageList(hwnd,himl,iImageList) (HIMAGELIST)SNDMSG((hwnd),LVM_SETIMAGELIST,(WPARAM)(iImageList),(LPARAM)(HIMAGELIST)(himl))
02058 
02059 #define LVM_GETITEMCOUNT (LVM_FIRST+4)
02060 #define ListView_GetItemCount(hwnd) (int)SNDMSG((hwnd),LVM_GETITEMCOUNT,0,0L)
02061 
02062 #define LVIF_TEXT 0x1
02063 #define LVIF_IMAGE 0x2
02064 #define LVIF_PARAM 0x4
02065 #define LVIF_STATE 0x8
02066 #define LVIF_INDENT 0x10
02067 #define LVIF_NORECOMPUTE 0x800
02068 #define LVIF_GROUPID 0x100
02069 #define LVIF_COLUMNS 0x200
02070 
02071 #define LVIS_FOCUSED 0x1
02072 #define LVIS_SELECTED 0x2
02073 #define LVIS_CUT 0x4
02074 #define LVIS_DROPHILITED 0x8
02075 #define LVIS_GLOW 0x10
02076 #define LVIS_ACTIVATING 0x20
02077 
02078 #define LVIS_OVERLAYMASK 0xf00
02079 #define LVIS_STATEIMAGEMASK 0xF000
02080 
02081 #define INDEXTOSTATEIMAGEMASK(i) ((i) << 12)
02082 
02083 #define I_INDENTCALLBACK (-1)
02084 #define LV_ITEMA LVITEMA
02085 #define LV_ITEMW LVITEMW
02086 
02087 #define I_GROUPIDCALLBACK (-1)
02088 #define I_GROUPIDNONE (-2)
02089 
02090 #define LV_ITEM LVITEM
02091 
02092 #define LVITEMA_V1_SIZE CCSIZEOF_STRUCT(LVITEMA,lParam)
02093 #define LVITEMW_V1_SIZE CCSIZEOF_STRUCT(LVITEMW,lParam)
02094 
02095   typedef struct tagLVITEMA {
02096     UINT mask;
02097     int iItem;
02098     int iSubItem;
02099     UINT state;
02100     UINT stateMask;
02101     LPSTR pszText;
02102     int cchTextMax;
02103     int iImage;
02104     LPARAM lParam;
02105     int iIndent;
02106     int iGroupId;
02107     UINT cColumns;
02108     PUINT puColumns;
02109   } LVITEMA,*LPLVITEMA;
02110 
02111   typedef struct tagLVITEMW
02112   {
02113     UINT mask;
02114     int iItem;
02115     int iSubItem;
02116     UINT state;
02117     UINT stateMask;
02118     LPWSTR pszText;
02119     int cchTextMax;
02120     int iImage;
02121     LPARAM lParam;
02122     int iIndent;
02123     int iGroupId;
02124     UINT cColumns;
02125     PUINT puColumns;
02126   } LVITEMW,*LPLVITEMW;
02127 
02128 #define LVITEM __MINGW_NAME_AW(LVITEM)
02129 #define LPLVITEM __MINGW_NAME_AW(LPLVITEM)
02130 
02131 #define LVITEM_V1_SIZE __MINGW_NAME_AW_EXT(LVITEM,_V1_SIZE)
02132 
02133 #define LPSTR_TEXTCALLBACKW ((LPWSTR)-1L)
02134 #define LPSTR_TEXTCALLBACKA ((LPSTR)-1L)
02135 
02136 #define LPSTR_TEXTCALLBACK __MINGW_NAME_AW(LPSTR_TEXTCALLBACK)
02137 
02138 #define I_IMAGECALLBACK (-1)
02139 #define I_IMAGENONE (-2)
02140 #define I_COLUMNSCALLBACK ((UINT)-1)
02141 
02142 #define LVM_GETITEMA (LVM_FIRST+5)
02143 #define LVM_GETITEMW (LVM_FIRST+75)
02144 
02145 #define LVM_GETITEM __MINGW_NAME_AW(LVM_GETITEM)
02146 
02147 #define ListView_GetItem(hwnd,pitem) (WINBOOL)SNDMSG((hwnd),LVM_GETITEM,0,(LPARAM)(LV_ITEM *)(pitem))
02148 
02149 #define LVM_SETITEMA (LVM_FIRST+6)
02150 #define LVM_SETITEMW (LVM_FIRST+76)
02151 
02152 #define LVM_SETITEM __MINGW_NAME_AW(LVM_SETITEM)
02153 
02154 #define ListView_SetItem(hwnd,pitem) (WINBOOL)SNDMSG((hwnd),LVM_SETITEM,0,(LPARAM)(const LV_ITEM *)(pitem))
02155 
02156 #define LVM_INSERTITEMA (LVM_FIRST+7)
02157 #define LVM_INSERTITEMW (LVM_FIRST+77)
02158 
02159 #define LVM_INSERTITEM __MINGW_NAME_AW(LVM_INSERTITEM)
02160 
02161 #define ListView_InsertItem(hwnd,pitem) (int)SNDMSG((hwnd),LVM_INSERTITEM,0,(LPARAM)(const LV_ITEM *)(pitem))
02162 
02163 #define LVM_DELETEITEM (LVM_FIRST+8)
02164 #define ListView_DeleteItem(hwnd,i) (WINBOOL)SNDMSG((hwnd),LVM_DELETEITEM,(WPARAM)(int)(i),0L)
02165 
02166 #define LVM_DELETEALLITEMS (LVM_FIRST+9)
02167 #define ListView_DeleteAllItems(hwnd) (WINBOOL)SNDMSG((hwnd),LVM_DELETEALLITEMS,0,0L)
02168 
02169 #define LVM_GETCALLBACKMASK (LVM_FIRST+10)
02170 #define ListView_GetCallbackMask(hwnd) (WINBOOL)SNDMSG((hwnd),LVM_GETCALLBACKMASK,0,0)
02171 
02172 #define LVM_SETCALLBACKMASK (LVM_FIRST+11)
02173 #define ListView_SetCallbackMask(hwnd,mask) (WINBOOL)SNDMSG((hwnd),LVM_SETCALLBACKMASK,(WPARAM)(UINT)(mask),0)
02174 
02175 #define LVNI_ALL 0x0
02176 #define LVNI_FOCUSED 0x1
02177 #define LVNI_SELECTED 0x2
02178 #define LVNI_CUT 0x4
02179 #define LVNI_DROPHILITED 0x8
02180 
02181 #define LVNI_ABOVE 0x100
02182 #define LVNI_BELOW 0x200
02183 #define LVNI_TOLEFT 0x400
02184 #define LVNI_TORIGHT 0x800
02185 
02186 #define LVM_GETNEXTITEM (LVM_FIRST+12)
02187 #define ListView_GetNextItem(hwnd,i,flags) (int)SNDMSG((hwnd),LVM_GETNEXTITEM,(WPARAM)(int)(i),MAKELPARAM((flags),0))
02188 
02189 #define LVFI_PARAM              0x0001
02190 #define LVFI_STRING             0x0002
02191 #define LVFI_SUBSTRING          0x0004
02192 #define LVFI_PARTIAL            0x0008
02193 #define LVFI_WRAP               0x0020
02194 #define LVFI_NEARESTXY          0x0040
02195 
02196 #define LV_FINDINFOA LVFINDINFOA
02197 #define LV_FINDINFOW LVFINDINFOW
02198 #define LV_FINDINFO LVFINDINFO
02199 
02200   typedef struct tagLVFINDINFOA {
02201     UINT flags;
02202     LPCSTR psz;
02203     LPARAM lParam;
02204     POINT pt;
02205     UINT vkDirection;
02206   } LVFINDINFOA,*LPFINDINFOA;
02207 
02208   typedef struct tagLVFINDINFOW {
02209     UINT flags;
02210     LPCWSTR psz;
02211     LPARAM lParam;
02212     POINT pt;
02213     UINT vkDirection;
02214   } LVFINDINFOW,*LPFINDINFOW;
02215 
02216 #define LVFINDINFO __MINGW_NAME_AW(LVFINDINFO)
02217 
02218 #define LVM_FINDITEMA (LVM_FIRST+13)
02219 #define LVM_FINDITEMW (LVM_FIRST+83)
02220 
02221 #define LVM_FINDITEM __MINGW_NAME_AW(LVM_FINDITEM)
02222 
02223 #define ListView_FindItem(hwnd,iStart,plvfi) (int)SNDMSG((hwnd),LVM_FINDITEM,(WPARAM)(int)(iStart),(LPARAM)(const LV_FINDINFO *)(plvfi))
02224 
02225 #define LVIR_BOUNDS 0
02226 #define LVIR_ICON 1
02227 #define LVIR_LABEL 2
02228 #define LVIR_SELECTBOUNDS 3
02229 
02230 #define LVM_GETITEMRECT (LVM_FIRST+14)
02231 #define ListView_GetItemRect(hwnd,i,prc,code) (WINBOOL)SNDMSG((hwnd),LVM_GETITEMRECT,(WPARAM)(int)(i),((prc) ? (((RECT *)(prc))->left = (code),(LPARAM)(RECT *)(prc)) : (LPARAM)(RECT *)NULL))
02232 
02233 #define LVM_SETITEMPOSITION (LVM_FIRST+15)
02234 #define ListView_SetItemPosition(hwndLV,i,x,y) (WINBOOL)SNDMSG((hwndLV),LVM_SETITEMPOSITION,(WPARAM)(int)(i),MAKELPARAM((x),(y)))
02235 
02236 #define LVM_GETITEMPOSITION (LVM_FIRST+16)
02237 #define ListView_GetItemPosition(hwndLV,i,ppt) (WINBOOL)SNDMSG((hwndLV),LVM_GETITEMPOSITION,(WPARAM)(int)(i),(LPARAM)(POINT *)(ppt))
02238 
02239 #define LVM_GETSTRINGWIDTHA (LVM_FIRST+17)
02240 #define LVM_GETSTRINGWIDTHW (LVM_FIRST+87)
02241 
02242 #define LVM_GETSTRINGWIDTH __MINGW_NAME_AW(LVM_GETSTRINGWIDTH)
02243 
02244 #define ListView_GetStringWidth(hwndLV,psz) (int)SNDMSG((hwndLV),LVM_GETSTRINGWIDTH,0,(LPARAM)(LPCTSTR)(psz))
02245 
02246 #define LVHT_NOWHERE 0x1
02247 #define LVHT_ONITEMICON 0x2
02248 #define LVHT_ONITEMLABEL 0x4
02249 #define LVHT_ONITEMSTATEICON 0x8
02250 #define LVHT_ONITEM (LVHT_ONITEMICON | LVHT_ONITEMLABEL | LVHT_ONITEMSTATEICON)
02251 
02252 #define LVHT_ABOVE 0x8
02253 #define LVHT_BELOW 0x10
02254 #define LVHT_TORIGHT 0x20
02255 #define LVHT_TOLEFT 0x40
02256 
02257 #define LV_HITTESTINFO LVHITTESTINFO
02258 
02259 #define LVHITTESTINFO_V1_SIZE CCSIZEOF_STRUCT(LVHITTESTINFO,iItem)
02260 
02261   typedef struct tagLVHITTESTINFO {
02262     POINT pt;
02263     UINT flags;
02264     int iItem;
02265     int iSubItem;
02266   } LVHITTESTINFO,*LPLVHITTESTINFO;
02267 
02268 #define LVM_HITTEST (LVM_FIRST+18)
02269 #define ListView_HitTest(hwndLV,pinfo) (int)SNDMSG((hwndLV),LVM_HITTEST,0,(LPARAM)(LV_HITTESTINFO *)(pinfo))
02270 
02271 #define LVM_ENSUREVISIBLE (LVM_FIRST+19)
02272 #define ListView_EnsureVisible(hwndLV,i,fPartialOK) (WINBOOL)SNDMSG((hwndLV),LVM_ENSUREVISIBLE,(WPARAM)(int)(i),MAKELPARAM((fPartialOK),0))
02273 
02274 #define LVM_SCROLL (LVM_FIRST+20)
02275 #define ListView_Scroll(hwndLV,dx,dy) (WINBOOL)SNDMSG((hwndLV),LVM_SCROLL,(WPARAM)(int)(dx),(LPARAM)(int)(dy))
02276 
02277 #define LVM_REDRAWITEMS (LVM_FIRST+21)
02278 #define ListView_RedrawItems(hwndLV,iFirst,iLast) (WINBOOL)SNDMSG((hwndLV),LVM_REDRAWITEMS,(WPARAM)(int)(iFirst),(LPARAM)(int)(iLast))
02279 
02280 #define LVA_DEFAULT 0x0
02281 #define LVA_ALIGNLEFT 0x1
02282 #define LVA_ALIGNTOP 0x2
02283 #define LVA_SNAPTOGRID 0x5
02284 
02285 #define LVM_ARRANGE (LVM_FIRST+22)
02286 #define ListView_Arrange(hwndLV,code) (WINBOOL)SNDMSG((hwndLV),LVM_ARRANGE,(WPARAM)(UINT)(code),0L)
02287 
02288 #define LVM_EDITLABELA (LVM_FIRST+23)
02289 #define LVM_EDITLABELW (LVM_FIRST+118)
02290 
02291 #define LVM_EDITLABEL __MINGW_NAME_AW(LVM_EDITLABEL)
02292 
02293 #define ListView_EditLabel(hwndLV,i) (HWND)SNDMSG((hwndLV),LVM_EDITLABEL,(WPARAM)(int)(i),0L)
02294 
02295 #define LVM_GETEDITCONTROL (LVM_FIRST+24)
02296 #define ListView_GetEditControl(hwndLV) (HWND)SNDMSG((hwndLV),LVM_GETEDITCONTROL,0,0L)
02297 
02298 #define LV_COLUMNA LVCOLUMNA
02299 #define LV_COLUMNW LVCOLUMNW
02300 #define LV_COLUMN LVCOLUMN
02301 
02302 #define LVCOLUMNA_V1_SIZE CCSIZEOF_STRUCT(LVCOLUMNA,iSubItem)
02303 #define LVCOLUMNW_V1_SIZE CCSIZEOF_STRUCT(LVCOLUMNW,iSubItem)
02304 
02305   typedef struct tagLVCOLUMNA {
02306     UINT mask;
02307     int fmt;
02308     int cx;
02309     LPSTR pszText;
02310     int cchTextMax;
02311     int iSubItem;
02312     int iImage;
02313     int iOrder;
02314   } LVCOLUMNA,*LPLVCOLUMNA;
02315 
02316   typedef struct tagLVCOLUMNW {
02317     UINT mask;
02318     int fmt;
02319     int cx;
02320     LPWSTR pszText;
02321     int cchTextMax;
02322     int iSubItem;
02323 # if (_WIN32_IE >= 0x0300)
02324     int iImage;
02325     int iOrder;
02326 # endif
02327 # if (_WIN32_WINNT >= 0x0600)
02328     int cxMin;
02329     int cxDefault;
02330     int cxIdeal;
02331 # endif
02332   } LVCOLUMNW,*LPLVCOLUMNW;
02333 
02334 #define LVCOLUMN __MINGW_NAME_AW(LVCOLUMN)
02335 #define LPLVCOLUMN __MINGW_NAME_AW(LPLVCOLUMN)
02336 
02337 #define LVCOLUMN_V1_SIZE __MINGW_NAME_AW_EXT(LVCOLUMN,_V1_SIZE)
02338 
02339 #define LVCF_FMT 0x1
02340 #define LVCF_WIDTH 0x2
02341 #define LVCF_TEXT 0x4
02342 #define LVCF_SUBITEM 0x8
02343 #define LVCF_IMAGE 0x10
02344 #define LVCF_ORDER 0x20
02345 #if (_WIN32_WINNT >= 0x0600)
02346 #define LVCF_MINWIDTH 0x40
02347 #define LVCF_DEFAULTWIDTH 0x80
02348 #define LVCF_IDEALWIDTH 0x100
02349 #endif /* (_WIN32_WINNT >= 0x0600) */
02350 
02351 #define LVCFMT_LEFT 0x0
02352 #define LVCFMT_RIGHT 0x1
02353 #define LVCFMT_CENTER 0x2
02354 #define LVCFMT_JUSTIFYMASK 0x3
02355 #define LVCFMT_IMAGE 0x800
02356 #define LVCFMT_BITMAP_ON_RIGHT 0x1000
02357 #define LVCFMT_COL_HAS_IMAGES 0x8000
02358 #if (_WIN32_WINNT >= 0x0600)
02359 #define LVCFMT_FIXED_WIDTH 0x100
02360 #define LVCFMT_NO_DPI_SCALE 0x40000
02361 #define LVCFMT_FIXED_RATIO 0x80000
02362 #define LVCFMT_LINE_BREAK 0x100000
02363 #define LVCFMT_FILL 0x200000
02364 #define LVCFMT_WRAP 0x400000
02365 #define LVCFMT_NO_TITLE 0x800000
02366 #define LVCFMT_SPLITBUTTON 0x1000000
02367 #define LVCFMT_TILE_PLACEMENTMASK (LVCFMT_LINE_BREAK|LVCFMT_FILL)
02368 #endif /* (_WIN32_WINNT >= 0x0600) */
02369 
02370 #define LVM_GETCOLUMNA (LVM_FIRST+25)
02371 #define LVM_GETCOLUMNW (LVM_FIRST+95)
02372 
02373 #define LVM_GETCOLUMN __MINGW_NAME_AW(LVM_GETCOLUMN)
02374 
02375 #define ListView_GetColumn(hwnd,iCol,pcol) (WINBOOL)SNDMSG((hwnd),LVM_GETCOLUMN,(WPARAM)(int)(iCol),(LPARAM)(LV_COLUMN *)(pcol))
02376 
02377 #define LVM_SETCOLUMNA (LVM_FIRST+26)
02378 #define LVM_SETCOLUMNW (LVM_FIRST+96)
02379 
02380 #define LVM_SETCOLUMN __MINGW_NAME_AW(LVM_SETCOLUMN)
02381 
02382 #define ListView_SetColumn(hwnd,iCol,pcol) (WINBOOL)SNDMSG((hwnd),LVM_SETCOLUMN,(WPARAM)(int)(iCol),(LPARAM)(const LV_COLUMN *)(pcol))
02383 
02384 #define LVM_INSERTCOLUMNA (LVM_FIRST+27)
02385 #define LVM_INSERTCOLUMNW (LVM_FIRST+97)
02386 
02387 #define LVM_INSERTCOLUMN __MINGW_NAME_AW(LVM_INSERTCOLUMN)
02388 
02389 #define ListView_InsertColumn(hwnd,iCol,pcol) (int)SNDMSG((hwnd),LVM_INSERTCOLUMN,(WPARAM)(int)(iCol),(LPARAM)(const LV_COLUMN *)(pcol))
02390 
02391 #define LVM_DELETECOLUMN (LVM_FIRST+28)
02392 #define ListView_DeleteColumn(hwnd,iCol) (WINBOOL)SNDMSG((hwnd),LVM_DELETECOLUMN,(WPARAM)(int)(iCol),0)
02393 
02394 #define LVM_GETCOLUMNWIDTH (LVM_FIRST+29)
02395 #define ListView_GetColumnWidth(hwnd,iCol) (int)SNDMSG((hwnd),LVM_GETCOLUMNWIDTH,(WPARAM)(int)(iCol),0)
02396 
02397 #define LVSCW_AUTOSIZE -1
02398 #define LVSCW_AUTOSIZE_USEHEADER -2
02399 #define LVM_SETCOLUMNWIDTH (LVM_FIRST+30)
02400 
02401 #define ListView_SetColumnWidth(hwnd,iCol,cx) (WINBOOL)SNDMSG((hwnd),LVM_SETCOLUMNWIDTH,(WPARAM)(int)(iCol),MAKELPARAM((cx),0))
02402 
02403 #define LVM_GETHEADER (LVM_FIRST+31)
02404 #define ListView_GetHeader(hwnd) (HWND)SNDMSG((hwnd),LVM_GETHEADER,0,0L)
02405 #define LVM_CREATEDRAGIMAGE (LVM_FIRST+33)
02406 #define ListView_CreateDragImage(hwnd,i,lpptUpLeft) (HIMAGELIST)SNDMSG((hwnd),LVM_CREATEDRAGIMAGE,(WPARAM)(int)(i),(LPARAM)(LPPOINT)(lpptUpLeft))
02407 #define LVM_GETVIEWRECT (LVM_FIRST+34)
02408 #define ListView_GetViewRect(hwnd,prc) (WINBOOL)SNDMSG((hwnd),LVM_GETVIEWRECT,0,(LPARAM)(RECT *)(prc))
02409 #define LVM_GETTEXTCOLOR (LVM_FIRST+35)
02410 #define ListView_GetTextColor(hwnd) (COLORREF)SNDMSG((hwnd),LVM_GETTEXTCOLOR,0,0L)
02411 #define LVM_SETTEXTCOLOR (LVM_FIRST+36)
02412 #define ListView_SetTextColor(hwnd,clrText) (WINBOOL)SNDMSG((hwnd),LVM_SETTEXTCOLOR,0,(LPARAM)(COLORREF)(clrText))
02413 #define LVM_GETTEXTBKCOLOR (LVM_FIRST+37)
02414 #define ListView_GetTextBkColor(hwnd) (COLORREF)SNDMSG((hwnd),LVM_GETTEXTBKCOLOR,0,0L)
02415 #define LVM_SETTEXTBKCOLOR (LVM_FIRST+38)
02416 #define ListView_SetTextBkColor(hwnd,clrTextBk) (WINBOOL)SNDMSG((hwnd),LVM_SETTEXTBKCOLOR,0,(LPARAM)(COLORREF)(clrTextBk))
02417 #define LVM_GETTOPINDEX (LVM_FIRST+39)
02418 #define ListView_GetTopIndex(hwndLV) (int)SNDMSG((hwndLV),LVM_GETTOPINDEX,0,0)
02419 #define LVM_GETCOUNTPERPAGE (LVM_FIRST+40)
02420 #define ListView_GetCountPerPage(hwndLV) (int)SNDMSG((hwndLV),LVM_GETCOUNTPERPAGE,0,0)
02421 #define LVM_GETORIGIN (LVM_FIRST+41)
02422 #define ListView_GetOrigin(hwndLV,ppt) (WINBOOL)SNDMSG((hwndLV),LVM_GETORIGIN,(WPARAM)0,(LPARAM)(POINT *)(ppt))
02423 #define LVM_UPDATE (LVM_FIRST+42)
02424 #define ListView_Update(hwndLV,i) (WINBOOL)SNDMSG((hwndLV),LVM_UPDATE,(WPARAM)(i),0L)
02425 #define LVM_SETITEMSTATE (LVM_FIRST+43)
02426 #define ListView_SetItemState(hwndLV,i,data,mask) { LV_ITEM _ms_lvi; _ms_lvi.stateMask = mask; _ms_lvi.state = data; SNDMSG((hwndLV),LVM_SETITEMSTATE,(WPARAM)(i),(LPARAM)(LV_ITEM *)&_ms_lvi);}
02427 #define ListView_SetCheckState(hwndLV,i,fCheck) ListView_SetItemState(hwndLV,i,INDEXTOSTATEIMAGEMASK((fCheck)?2:1),LVIS_STATEIMAGEMASK)
02428 #define LVM_GETITEMSTATE (LVM_FIRST+44)
02429 #define ListView_GetItemState(hwndLV,i,mask) (UINT)SNDMSG((hwndLV),LVM_GETITEMSTATE,(WPARAM)(i),(LPARAM)(mask))
02430 #define ListView_GetCheckState(hwndLV,i) ((((UINT)(SNDMSG((hwndLV),LVM_GETITEMSTATE,(WPARAM)(i),LVIS_STATEIMAGEMASK))) >> 12) -1)
02431 
02432 #define LVM_GETITEMTEXTA (LVM_FIRST+45)
02433 #define LVM_GETITEMTEXTW (LVM_FIRST+115)
02434 
02435 #define LVM_GETITEMTEXT __MINGW_NAME_AW(LVM_GETITEMTEXT)
02436 
02437 #define ListView_GetItemText(hwndLV,i,iSubItem_,pszText_,cchTextMax_) { LV_ITEM _ms_lvi; _ms_lvi.iSubItem = iSubItem_; _ms_lvi.cchTextMax = cchTextMax_; _ms_lvi.pszText = pszText_; SNDMSG((hwndLV),LVM_GETITEMTEXT,(WPARAM)(i),(LPARAM)(LV_ITEM *)&_ms_lvi);}
02438 
02439 #define LVM_SETITEMTEXTA (LVM_FIRST+46)
02440 #define LVM_SETITEMTEXTW (LVM_FIRST+116)
02441 
02442 #define LVM_SETITEMTEXT __MINGW_NAME_AW(LVM_SETITEMTEXT)
02443 
02444 #define ListView_SetItemText(hwndLV,i,iSubItem_,pszText_) { LV_ITEM _ms_lvi; _ms_lvi.iSubItem = iSubItem_; _ms_lvi.pszText = pszText_; SNDMSG((hwndLV),LVM_SETITEMTEXT,(WPARAM)(i),(LPARAM)(LV_ITEM *)&_ms_lvi);}
02445 
02446 #define LVSICF_NOINVALIDATEALL 0x1
02447 #define LVSICF_NOSCROLL 0x2
02448 
02449 #define LVM_SETITEMCOUNT (LVM_FIRST+47)
02450 #define ListView_SetItemCount(hwndLV,cItems) SNDMSG((hwndLV),LVM_SETITEMCOUNT,(WPARAM)(cItems),0)
02451 #define ListView_SetItemCountEx(hwndLV,cItems,dwFlags) SNDMSG((hwndLV),LVM_SETITEMCOUNT,(WPARAM)(cItems),(LPARAM)(dwFlags))
02452 
02453   typedef int (CALLBACK *PFNLVCOMPARE)(LPARAM,LPARAM,LPARAM);
02454 
02455 #define LVM_SORTITEMS (LVM_FIRST+48)
02456 #define ListView_SortItems(hwndLV,_pfnCompare,_lPrm) (WINBOOL)SNDMSG((hwndLV),LVM_SORTITEMS,(WPARAM)(LPARAM)(_lPrm),(LPARAM)(PFNLVCOMPARE)(_pfnCompare))
02457 
02458 #define LVM_SETITEMPOSITION32 (LVM_FIRST+49)
02459 #define ListView_SetItemPosition32(hwndLV,i,x0,y0) { POINT ptNewPos; ptNewPos.x = x0; ptNewPos.y = y0; SNDMSG((hwndLV),LVM_SETITEMPOSITION32,(WPARAM)(int)(i),(LPARAM)&ptNewPos); }
02460 
02461 #define LVM_GETSELECTEDCOUNT (LVM_FIRST+50)
02462 #define ListView_GetSelectedCount(hwndLV) (UINT)SNDMSG((hwndLV),LVM_GETSELECTEDCOUNT,0,0L)
02463 
02464 #define LVM_GETITEMSPACING (LVM_FIRST+51)
02465 #define ListView_GetItemSpacing(hwndLV,fSmall) (DWORD)SNDMSG((hwndLV),LVM_GETITEMSPACING,fSmall,0L)
02466 
02467 #define LVM_GETISEARCHSTRINGA (LVM_FIRST+52)
02468 #define LVM_GETISEARCHSTRINGW (LVM_FIRST+117)
02469 
02470 #define LVM_GETISEARCHSTRING __MINGW_NAME_AW(LVM_GETISEARCHSTRING)
02471 
02472 #define ListView_GetISearchString(hwndLV,lpsz) (WINBOOL)SNDMSG((hwndLV),LVM_GETISEARCHSTRING,0,(LPARAM)(LPTSTR)(lpsz))
02473 
02474 #define LVM_SETICONSPACING (LVM_FIRST+53)
02475 
02476 #define ListView_SetIconSpacing(hwndLV,cx,cy) (DWORD)SNDMSG((hwndLV),LVM_SETICONSPACING,0,MAKELONG(cx,cy))
02477 #define LVM_SETEXTENDEDLISTVIEWSTYLE (LVM_FIRST+54)
02478 #define ListView_SetExtendedListViewStyle(hwndLV,dw) (DWORD)SNDMSG((hwndLV),LVM_SETEXTENDEDLISTVIEWSTYLE,0,dw)
02479 #define ListView_SetExtendedListViewStyleEx(hwndLV,dwMask,dw) (DWORD)SNDMSG((hwndLV),LVM_SETEXTENDEDLISTVIEWSTYLE,dwMask,dw)
02480 #define LVM_GETEXTENDEDLISTVIEWSTYLE (LVM_FIRST+55)
02481 #define ListView_GetExtendedListViewStyle(hwndLV) (DWORD)SNDMSG((hwndLV),LVM_GETEXTENDEDLISTVIEWSTYLE,0,0)
02482 #define LVS_EX_GRIDLINES 0x1
02483 #define LVS_EX_SUBITEMIMAGES 0x2
02484 #define LVS_EX_CHECKBOXES 0x4
02485 #define LVS_EX_TRACKSELECT 0x8
02486 #define LVS_EX_HEADERDRAGDROP 0x10
02487 #define LVS_EX_FULLROWSELECT 0x20
02488 #define LVS_EX_ONECLICKACTIVATE 0x40
02489 #define LVS_EX_TWOCLICKACTIVATE 0x80
02490 #define LVS_EX_FLATSB 0x100
02491 #define LVS_EX_REGIONAL 0x200
02492 #define LVS_EX_INFOTIP 0x400
02493 #define LVS_EX_UNDERLINEHOT 0x800
02494 #define LVS_EX_UNDERLINECOLD 0x1000
02495 #define LVS_EX_MULTIWORKAREAS 0x2000
02496 #define LVS_EX_LABELTIP 0x4000
02497 #define LVS_EX_BORDERSELECT 0x8000
02498 #define LVS_EX_DOUBLEBUFFER 0x10000
02499 #define LVS_EX_HIDELABELS 0x20000
02500 #define LVS_EX_SINGLEROW 0x40000
02501 #define LVS_EX_SNAPTOGRID 0x80000
02502 #define LVS_EX_SIMPLESELECT 0x100000
02503 #if _WIN32_WINNT >= 0x0600
02504 #define LVS_EX_JUSTIFYCOLUMNS 0x200000
02505 #define LVS_EX_TRANSPARENTBKGND 0x400000
02506 #define LVS_EX_TRANSPARENTSHADOWTEXT 0x800000
02507 #define LVS_EX_AUTOAUTOARRANGE 0x1000000
02508 #define LVS_EX_HEADERINALLVIEWS 0x2000000
02509 #define LVS_EX_AUTOCHECKSELECT 0x8000000
02510 #define LVS_EX_AUTOSIZECOLUMNS 0x10000000
02511 #define LVS_EX_COLUMNSNAPPOINTS 0x40000000
02512 #define LVS_EX_COLUMNOVERFLOW 0x80000000
02513 #endif
02514 
02515 #define LVM_GETSUBITEMRECT (LVM_FIRST+56)
02516 #define ListView_GetSubItemRect(hwnd,iItem,iSubItem,code,prc) (WINBOOL)SNDMSG((hwnd),LVM_GETSUBITEMRECT,(WPARAM)(int)(iItem),((prc) ? ((((LPRECT)(prc))->top = iSubItem),(((LPRECT)(prc))->left = code),(LPARAM)(prc)) : (LPARAM)(LPRECT)NULL))
02517 #define LVM_SUBITEMHITTEST (LVM_FIRST+57)
02518 #define ListView_SubItemHitTest(hwnd,plvhti) (int)SNDMSG((hwnd),LVM_SUBITEMHITTEST,0,(LPARAM)(LPLVHITTESTINFO)(plvhti))
02519 #define LVM_SETCOLUMNORDERARRAY (LVM_FIRST+58)
02520 #define ListView_SetColumnOrderArray(hwnd,iCount,pi) (WINBOOL)SNDMSG((hwnd),LVM_SETCOLUMNORDERARRAY,(WPARAM)(iCount),(LPARAM)(LPINT)(pi))
02521 #define LVM_GETCOLUMNORDERARRAY (LVM_FIRST+59)
02522 #define ListView_GetColumnOrderArray(hwnd,iCount,pi) (WINBOOL)SNDMSG((hwnd),LVM_GETCOLUMNORDERARRAY,(WPARAM)(iCount),(LPARAM)(LPINT)(pi))
02523 #define LVM_SETHOTITEM (LVM_FIRST+60)
02524 #define ListView_SetHotItem(hwnd,i) (int)SNDMSG((hwnd),LVM_SETHOTITEM,(WPARAM)(i),0)
02525 #define LVM_GETHOTITEM (LVM_FIRST+61)
02526 #define ListView_GetHotItem(hwnd) (int)SNDMSG((hwnd),LVM_GETHOTITEM,0,0)
02527 #define LVM_SETHOTCURSOR (LVM_FIRST+62)
02528 #define ListView_SetHotCursor(hwnd,hcur) (HCURSOR)SNDMSG((hwnd),LVM_SETHOTCURSOR,0,(LPARAM)(hcur))
02529 #define LVM_GETHOTCURSOR (LVM_FIRST+63)
02530 #define ListView_GetHotCursor(hwnd) (HCURSOR)SNDMSG((hwnd),LVM_GETHOTCURSOR,0,0)
02531 #define LVM_APPROXIMATEVIEWRECT (LVM_FIRST+64)
02532 #define ListView_ApproximateViewRect(hwnd,iWidth,iHeight,iCount) (DWORD)SNDMSG((hwnd),LVM_APPROXIMATEVIEWRECT,iCount,MAKELPARAM(iWidth,iHeight))
02533 
02534 #define LV_MAX_WORKAREAS 16
02535 #define LVM_SETWORKAREAS (LVM_FIRST+65)
02536 #define ListView_SetWorkAreas(hwnd,nWorkAreas,prc) (WINBOOL)SNDMSG((hwnd),LVM_SETWORKAREAS,(WPARAM)(int)(nWorkAreas),(LPARAM)(RECT *)(prc))
02537 #define LVM_GETWORKAREAS (LVM_FIRST+70)
02538 #define ListView_GetWorkAreas(hwnd,nWorkAreas,prc) (WINBOOL)SNDMSG((hwnd),LVM_GETWORKAREAS,(WPARAM)(int)(nWorkAreas),(LPARAM)(RECT *)(prc))
02539 #define LVM_GETNUMBEROFWORKAREAS (LVM_FIRST+73)
02540 #define ListView_GetNumberOfWorkAreas(hwnd,pnWorkAreas) (WINBOOL)SNDMSG((hwnd),LVM_GETNUMBEROFWORKAREAS,0,(LPARAM)(UINT *)(pnWorkAreas))
02541 #define LVM_GETSELECTIONMARK (LVM_FIRST+66)
02542 #define ListView_GetSelectionMark(hwnd) (int)SNDMSG((hwnd),LVM_GETSELECTIONMARK,0,0)
02543 #define LVM_SETSELECTIONMARK (LVM_FIRST+67)
02544 #define ListView_SetSelectionMark(hwnd,i) (int)SNDMSG((hwnd),LVM_SETSELECTIONMARK,0,(LPARAM)(i))
02545 #define LVM_SETHOVERTIME (LVM_FIRST+71)
02546 #define ListView_SetHoverTime(hwndLV,dwHoverTimeMs) (DWORD)SNDMSG((hwndLV),LVM_SETHOVERTIME,0,(LPARAM)(dwHoverTimeMs))
02547 #define LVM_GETHOVERTIME (LVM_FIRST+72)
02548 #define ListView_GetHoverTime(hwndLV) (DWORD)SNDMSG((hwndLV),LVM_GETHOVERTIME,0,0)
02549 #define LVM_SETTOOLTIPS (LVM_FIRST+74)
02550 #define ListView_SetToolTips(hwndLV,hwndNewHwnd) (HWND)SNDMSG((hwndLV),LVM_SETTOOLTIPS,(WPARAM)(hwndNewHwnd),0)
02551 #define LVM_GETTOOLTIPS (LVM_FIRST+78)
02552 #define ListView_GetToolTips(hwndLV) (HWND)SNDMSG((hwndLV),LVM_GETTOOLTIPS,0,0)
02553 #define LVM_SORTITEMSEX (LVM_FIRST+81)
02554 #define ListView_SortItemsEx(hwndLV,_pfnCompare,_lPrm) (WINBOOL)SNDMSG((hwndLV),LVM_SORTITEMSEX,(WPARAM)(LPARAM)(_lPrm),(LPARAM)(PFNLVCOMPARE)(_pfnCompare))
02555 
02556   typedef struct tagLVBKIMAGEA {
02557     ULONG ulFlags;
02558     HBITMAP hbm;
02559     LPSTR pszImage;
02560     UINT cchImageMax;
02561     int xOffsetPercent;
02562     int yOffsetPercent;
02563   } LVBKIMAGEA,*LPLVBKIMAGEA;
02564 
02565   typedef struct tagLVBKIMAGEW {
02566     ULONG ulFlags;
02567     HBITMAP hbm;
02568     LPWSTR pszImage;
02569     UINT cchImageMax;
02570     int xOffsetPercent;
02571     int yOffsetPercent;
02572   } LVBKIMAGEW,*LPLVBKIMAGEW;
02573 
02574 #define LVBKIF_SOURCE_NONE 0x0
02575 #define LVBKIF_SOURCE_HBITMAP 0x1
02576 #define LVBKIF_SOURCE_URL 0x2
02577 #define LVBKIF_SOURCE_MASK 0x3
02578 #define LVBKIF_STYLE_NORMAL 0x0
02579 #define LVBKIF_STYLE_TILE 0x10
02580 #define LVBKIF_STYLE_MASK 0x10
02581 #define LVBKIF_FLAG_TILEOFFSET 0x100
02582 #define LVBKIF_TYPE_WATERMARK 0x10000000
02583 
02584 #define LVM_SETBKIMAGEA (LVM_FIRST+68)
02585 #define LVM_SETBKIMAGEW (LVM_FIRST+138)
02586 #define LVM_GETBKIMAGEA (LVM_FIRST+69)
02587 #define LVM_GETBKIMAGEW (LVM_FIRST+139)
02588 
02589 #define LVM_SETSELECTEDCOLUMN (LVM_FIRST+140)
02590 #define ListView_SetSelectedColumn(hwnd,iCol) SNDMSG((hwnd),LVM_SETSELECTEDCOLUMN,(WPARAM)iCol,0)
02591 #define LVM_SETTILEWIDTH (LVM_FIRST+141)
02592 #define ListView_SetTileWidth(hwnd,cpWidth) SNDMSG((hwnd),LVM_SETTILEWIDTH,(WPARAM)cpWidth,0)
02593 #define LV_VIEW_ICON 0x0
02594 #define LV_VIEW_DETAILS 0x1
02595 #define LV_VIEW_SMALLICON 0x2
02596 #define LV_VIEW_LIST 0x3
02597 #define LV_VIEW_TILE 0x4
02598 #define LV_VIEW_MAX 0x4
02599 #define LVM_SETVIEW (LVM_FIRST+142)
02600 #define ListView_SetView(hwnd,iView) (DWORD)SNDMSG((hwnd),LVM_SETVIEW,(WPARAM)(DWORD)iView,0)
02601 #define LVM_GETVIEW (LVM_FIRST+143)
02602 #define ListView_GetView(hwnd) (DWORD)SNDMSG((hwnd),LVM_GETVIEW,0,0)
02603 #define LVGF_NONE 0x0
02604 #define LVGF_HEADER 0x1
02605 #define LVGF_FOOTER 0x2
02606 #define LVGF_STATE 0x4
02607 #define LVGF_ALIGN 0x8
02608 #define LVGF_GROUPID 0x10
02609 
02610 #define LVGS_NORMAL 0x0
02611 #define LVGS_COLLAPSED 0x1
02612 #define LVGS_HIDDEN 0x2
02613 
02614 #define LVGA_HEADER_LEFT 0x1
02615 #define LVGA_HEADER_CENTER 0x2
02616 #define LVGA_HEADER_RIGHT 0x4
02617 #define LVGA_FOOTER_LEFT 0x8
02618 #define LVGA_FOOTER_CENTER 0x10
02619 #define LVGA_FOOTER_RIGHT 0x20
02620 
02621   typedef struct tagLVGROUP {
02622     UINT cbSize;
02623     UINT mask;
02624     LPWSTR pszHeader;
02625     int cchHeader;
02626     LPWSTR pszFooter;
02627     int cchFooter;
02628     int iGroupId;
02629     UINT stateMask;
02630     UINT state;
02631     UINT uAlign;
02632   } LVGROUP,*PLVGROUP;
02633 
02634 #define LVM_INSERTGROUP (LVM_FIRST+145)
02635 #define ListView_InsertGroup(hwnd,index,pgrp) SNDMSG((hwnd),LVM_INSERTGROUP,(WPARAM)index,(LPARAM)pgrp)
02636 #define LVM_SETGROUPINFO (LVM_FIRST+147)
02637 #define ListView_SetGroupInfo(hwnd,iGroupId,pgrp) SNDMSG((hwnd),LVM_SETGROUPINFO,(WPARAM)iGroupId,(LPARAM)pgrp)
02638 #define LVM_GETGROUPINFO (LVM_FIRST+149)
02639 #define ListView_GetGroupInfo(hwnd,iGroupId,pgrp) SNDMSG((hwnd),LVM_GETGROUPINFO,(WPARAM)iGroupId,(LPARAM)pgrp)
02640 #define LVM_REMOVEGROUP (LVM_FIRST+150)
02641 #define ListView_RemoveGroup(hwnd,iGroupId) SNDMSG((hwnd),LVM_REMOVEGROUP,(WPARAM)iGroupId,0)
02642 #define LVM_MOVEGROUP (LVM_FIRST+151)
02643 #define ListView_MoveGroup(hwnd,iGroupId,toIndex) SNDMSG((hwnd),LVM_MOVEGROUP,(WPARAM)iGroupId,(LPARAM)toIndex)
02644 #define LVM_MOVEITEMTOGROUP (LVM_FIRST+154)
02645 #define ListView_MoveItemToGroup(hwnd,idItemFrom,idGroupTo) SNDMSG((hwnd),LVM_MOVEITEMTOGROUP,(WPARAM)idItemFrom,(LPARAM)idGroupTo)
02646 #define LVGMF_NONE 0x0
02647 #define LVGMF_BORDERSIZE 0x1
02648 #define LVGMF_BORDERCOLOR 0x2
02649 #define LVGMF_TEXTCOLOR 0x4
02650 
02651   typedef struct tagLVGROUPMETRICS {
02652     UINT cbSize;
02653     UINT mask;
02654     UINT Left;
02655     UINT Top;
02656     UINT Right;
02657     UINT Bottom;
02658     COLORREF crLeft;
02659     COLORREF crTop;
02660     COLORREF crRight;
02661     COLORREF crBottom;
02662     COLORREF crHeader;
02663     COLORREF crFooter;
02664   } LVGROUPMETRICS,*PLVGROUPMETRICS;
02665 
02666 #define LVM_SETGROUPMETRICS (LVM_FIRST+155)
02667 #define ListView_SetGroupMetrics(hwnd,pGroupMetrics) SNDMSG((hwnd),LVM_SETGROUPMETRICS,0,(LPARAM)pGroupMetrics)
02668 #define LVM_GETGROUPMETRICS (LVM_FIRST+156)
02669 #define ListView_GetGroupMetrics(hwnd,pGroupMetrics) SNDMSG((hwnd),LVM_GETGROUPMETRICS,0,(LPARAM)pGroupMetrics)
02670 #define LVM_ENABLEGROUPVIEW (LVM_FIRST+157)
02671 #define ListView_EnableGroupView(hwnd,fEnable) SNDMSG((hwnd),LVM_ENABLEGROUPVIEW,(WPARAM)fEnable,0)
02672 
02673   typedef int (CALLBACK *PFNLVGROUPCOMPARE)(int,int,void *);
02674 
02675 #define LVM_SORTGROUPS (LVM_FIRST+158)
02676 #define ListView_SortGroups(hwnd,_pfnGroupCompate,_plv) SNDMSG((hwnd),LVM_SORTGROUPS,(WPARAM)_pfnGroupCompate,(LPARAM)_plv)
02677 
02678   typedef struct tagLVINSERTGROUPSORTED {
02679     PFNLVGROUPCOMPARE pfnGroupCompare;
02680     void *pvData;
02681     LVGROUP lvGroup;
02682   } LVINSERTGROUPSORTED,*PLVINSERTGROUPSORTED;
02683 
02684 #define LVM_INSERTGROUPSORTED (LVM_FIRST+159)
02685 #define ListView_InsertGroupSorted(hwnd,structInsert) SNDMSG((hwnd),LVM_INSERTGROUPSORTED,(WPARAM)structInsert,0)
02686 #define LVM_REMOVEALLGROUPS (LVM_FIRST+160)
02687 #define ListView_RemoveAllGroups(hwnd) SNDMSG((hwnd),LVM_REMOVEALLGROUPS,0,0)
02688 #define LVM_HASGROUP (LVM_FIRST+161)
02689 #define ListView_HasGroup(hwnd,dwGroupId) SNDMSG((hwnd),LVM_HASGROUP,dwGroupId,0)
02690 
02691 #define LVTVIF_AUTOSIZE 0x0
02692 #define LVTVIF_FIXEDWIDTH 0x1
02693 #define LVTVIF_FIXEDHEIGHT 0x2
02694 #define LVTVIF_FIXEDSIZE 0x3
02695 
02696 #define LVTVIM_TILESIZE 0x1
02697 #define LVTVIM_COLUMNS 0x2
02698 #define LVTVIM_LABELMARGIN 0x4
02699 
02700   typedef struct tagLVTILEVIEWINFO {
02701     UINT cbSize;
02702     DWORD dwMask;
02703     DWORD dwFlags;
02704     SIZE sizeTile;
02705     int cLines;
02706     RECT rcLabelMargin;
02707   } LVTILEVIEWINFO,*PLVTILEVIEWINFO;
02708 
02709   typedef struct tagLVTILEINFO {
02710     UINT cbSize;
02711     int iItem;
02712     UINT cColumns;
02713     PUINT puColumns;
02714   } LVTILEINFO,*PLVTILEINFO;
02715 
02716 #define LVM_SETTILEVIEWINFO (LVM_FIRST+162)
02717 #define ListView_SetTileViewInfo(hwnd,ptvi) SNDMSG((hwnd),LVM_SETTILEVIEWINFO,0,(LPARAM)ptvi)
02718 #define LVM_GETTILEVIEWINFO (LVM_FIRST+163)
02719 #define ListView_GetTileViewInfo(hwnd,ptvi) SNDMSG((hwnd),LVM_GETTILEVIEWINFO,0,(LPARAM)ptvi)
02720 #define LVM_SETTILEINFO (LVM_FIRST+164)
02721 #define ListView_SetTileInfo(hwnd,pti) SNDMSG((hwnd),LVM_SETTILEINFO,0,(LPARAM)pti)
02722 #define LVM_GETTILEINFO (LVM_FIRST+165)
02723 #define ListView_GetTileInfo(hwnd,pti) SNDMSG((hwnd),LVM_GETTILEINFO,0,(LPARAM)pti)
02724 
02725   typedef struct {
02726     UINT cbSize;
02727     DWORD dwFlags;
02728     int iItem;
02729     DWORD dwReserved;
02730   } LVINSERTMARK,*LPLVINSERTMARK;
02731 
02732 #define LVIM_AFTER 0x1
02733 
02734 #define LVM_SETINSERTMARK (LVM_FIRST+166)
02735 #define ListView_SetInsertMark(hwnd,lvim) (WINBOOL)SNDMSG((hwnd),LVM_SETINSERTMARK,(WPARAM) 0,(LPARAM) (lvim))
02736 #define LVM_GETINSERTMARK (LVM_FIRST+167)
02737 #define ListView_GetInsertMark(hwnd,lvim) (WINBOOL)SNDMSG((hwnd),LVM_GETINSERTMARK,(WPARAM) 0,(LPARAM) (lvim))
02738 #define LVM_INSERTMARKHITTEST (LVM_FIRST+168)
02739 #define ListView_InsertMarkHitTest(hwnd,point,lvim) (int)SNDMSG((hwnd),LVM_INSERTMARKHITTEST,(WPARAM)(LPPOINT)(point),(LPARAM)(LPLVINSERTMARK)(lvim))
02740 #define LVM_GETINSERTMARKRECT (LVM_FIRST+169)
02741 #define ListView_GetInsertMarkRect(hwnd,rc) (int)SNDMSG((hwnd),LVM_GETINSERTMARKRECT,(WPARAM)0,(LPARAM)(LPRECT)(rc))
02742 #define LVM_SETINSERTMARKCOLOR (LVM_FIRST+170)
02743 #define ListView_SetInsertMarkColor(hwnd,color) (COLORREF)SNDMSG((hwnd),LVM_SETINSERTMARKCOLOR,(WPARAM)0,(LPARAM)(COLORREF)(color))
02744 #define LVM_GETINSERTMARKCOLOR (LVM_FIRST+171)
02745 #define ListView_GetInsertMarkColor(hwnd) (COLORREF)SNDMSG((hwnd),LVM_GETINSERTMARKCOLOR,(WPARAM)0,(LPARAM)0)
02746 
02747   typedef struct tagLVSETINFOTIP {
02748     UINT cbSize;
02749     DWORD dwFlags;
02750     LPWSTR pszText;
02751     int iItem;
02752     int iSubItem;
02753   } LVSETINFOTIP,*PLVSETINFOTIP;
02754 
02755 #define LVM_SETINFOTIP (LVM_FIRST+173)
02756 #define ListView_SetInfoTip(hwndLV,plvInfoTip) (WINBOOL)SNDMSG((hwndLV),LVM_SETINFOTIP,(WPARAM)0,(LPARAM)plvInfoTip)
02757 #define LVM_GETSELECTEDCOLUMN (LVM_FIRST+174)
02758 #define ListView_GetSelectedColumn(hwnd) (UINT)SNDMSG((hwnd),LVM_GETSELECTEDCOLUMN,0,0)
02759 #define LVM_ISGROUPVIEWENABLED (LVM_FIRST+175)
02760 #define ListView_IsGroupViewEnabled(hwnd) (WINBOOL)SNDMSG((hwnd),LVM_ISGROUPVIEWENABLED,0,0)
02761 #define LVM_GETOUTLINECOLOR (LVM_FIRST+176)
02762 #define ListView_GetOutlineColor(hwnd) (COLORREF)SNDMSG((hwnd),LVM_GETOUTLINECOLOR,0,0)
02763 #define LVM_SETOUTLINECOLOR (LVM_FIRST+177)
02764 #define ListView_SetOutlineColor(hwnd,color) (COLORREF)SNDMSG((hwnd),LVM_SETOUTLINECOLOR,(WPARAM)0,(LPARAM)(COLORREF)(color))
02765 #define LVM_CANCELEDITLABEL (LVM_FIRST+179)
02766 #define ListView_CancelEditLabel(hwnd) (VOID)SNDMSG((hwnd),LVM_CANCELEDITLABEL,(WPARAM)0,(LPARAM)0)
02767 #define LVM_MAPINDEXTOID (LVM_FIRST+180)
02768 #define ListView_MapIndexToID(hwnd,index) (UINT)SNDMSG((hwnd),LVM_MAPINDEXTOID,(WPARAM)index,(LPARAM)0)
02769 #define LVM_MAPIDTOINDEX (LVM_FIRST+181)
02770 #define ListView_MapIDToIndex(hwnd,id) (UINT)SNDMSG((hwnd),LVM_MAPIDTOINDEX,(WPARAM)id,(LPARAM)0)
02771 #define LVM_ISITEMVISIBLE (LVM_FIRST+182)
02772 #define ListView_IsItemVisible(hwnd,index) (UINT)SNDMSG((hwnd),LVM_ISITEMVISIBLE,(WPARAM)(index),(LPARAM)0)
02773 
02774 #define LVBKIMAGE __MINGW_NAME_AW(LVBKIMAGE)
02775 #define LPLVBKIMAGE __MINGW_NAME_AW(LPLVBKIMAGE)
02776 #define LVM_SETBKIMAGE __MINGW_NAME_AW(LVM_SETBKIMAGE)
02777 #define LVM_GETBKIMAGE __MINGW_NAME_AW(LVM_GETBKIMAGE)
02778 
02779 #define ListView_SetBkImage(hwnd,plvbki) (WINBOOL)SNDMSG((hwnd),LVM_SETBKIMAGE,0,(LPARAM)(plvbki))
02780 #define ListView_GetBkImage(hwnd,plvbki) (WINBOOL)SNDMSG((hwnd),LVM_GETBKIMAGE,0,(LPARAM)(plvbki))
02781 
02782 #define LPNM_LISTVIEW LPNMLISTVIEW
02783 #define NM_LISTVIEW NMLISTVIEW
02784 
02785   typedef struct tagNMLISTVIEW {
02786     NMHDR hdr;
02787     int iItem;
02788     int iSubItem;
02789     UINT uNewState;
02790     UINT uOldState;
02791     UINT uChanged;
02792     POINT ptAction;
02793     LPARAM lParam;
02794   } NMLISTVIEW,*LPNMLISTVIEW;
02795 
02796   typedef struct tagNMITEMACTIVATE {
02797     NMHDR hdr;
02798     int iItem;
02799     int iSubItem;
02800     UINT uNewState;
02801     UINT uOldState;
02802     UINT uChanged;
02803     POINT ptAction;
02804     LPARAM lParam;
02805     UINT uKeyFlags;
02806   } NMITEMACTIVATE,*LPNMITEMACTIVATE;
02807 
02808 #define LVKF_ALT 0x1
02809 #define LVKF_CONTROL 0x2
02810 #define LVKF_SHIFT 0x4
02811 
02812 #define NMLVCUSTOMDRAW_V3_SIZE CCSIZEOF_STRUCT(NMLVCUSTOMDRW,clrTextBk)
02813 
02814   typedef struct tagNMLVCUSTOMDRAW {
02815     NMCUSTOMDRAW nmcd;
02816     COLORREF clrText;
02817     COLORREF clrTextBk;
02818     int iSubItem;
02819     DWORD dwItemType;
02820     COLORREF clrFace;
02821     int iIconEffect;
02822     int iIconPhase;
02823     int iPartId;
02824     int iStateId;
02825     RECT rcText;
02826     UINT uAlign;
02827   } NMLVCUSTOMDRAW,*LPNMLVCUSTOMDRAW;
02828 
02829 #define LVCDI_ITEM 0x0
02830 #define LVCDI_GROUP 0x1
02831 
02832 #define LVCDRF_NOSELECT 0x10000
02833 #define LVCDRF_NOGROUPFRAME 0x20000
02834 
02835   typedef struct tagNMLVCACHEHINT {
02836     NMHDR hdr;
02837     int iFrom;
02838     int iTo;
02839   } NMLVCACHEHINT,*LPNMLVCACHEHINT;
02840 
02841 #define LPNM_CACHEHINT LPNMLVCACHEHINT
02842 #define PNM_CACHEHINT LPNMLVCACHEHINT
02843 #define NM_CACHEHINT NMLVCACHEHINT
02844 
02845   typedef struct tagNMLVFINDITEMA {
02846     NMHDR hdr;
02847     int iStart;
02848     LVFINDINFOA lvfi;
02849   } NMLVFINDITEMA,*LPNMLVFINDITEMA;
02850 
02851   typedef struct tagNMLVFINDITEMW {
02852     NMHDR hdr;
02853     int iStart;
02854     LVFINDINFOW lvfi;
02855   } NMLVFINDITEMW,*LPNMLVFINDITEMW;
02856 
02857 #define PNM_FINDITEMA LPNMLVFINDITEMA
02858 #define LPNM_FINDITEMA LPNMLVFINDITEMA
02859 #define NM_FINDITEMA NMLVFINDITEMA
02860 
02861 #define PNM_FINDITEMW LPNMLVFINDITEMW
02862 #define LPNM_FINDITEMW LPNMLVFINDITEMW
02863 #define NM_FINDITEMW NMLVFINDITEMW
02864 
02865 #define PNM_FINDITEM __MINGW_NAME_AW(PNM_FINDITEM)
02866 #define LPNM_FINDITEM __MINGW_NAME_AW(LPNM_FINDITEM)
02867 #define NM_FINDITEM __MINGW_NAME_AW(NM_FINDITEM)
02868 #define NMLVFINDITEM __MINGW_NAME_AW(NMLVFINDITEM)
02869 #define LPNMLVFINDITEM __MINGW_NAME_AW(LPNMLVFINDITEM)
02870 
02871   typedef struct tagNMLVODSTATECHANGE {
02872     NMHDR hdr;
02873     int iFrom;
02874     int iTo;
02875     UINT uNewState;
02876     UINT uOldState;
02877   } NMLVODSTATECHANGE,*LPNMLVODSTATECHANGE;
02878 
02879 #define PNM_ODSTATECHANGE LPNMLVODSTATECHANGE
02880 #define LPNM_ODSTATECHANGE LPNMLVODSTATECHANGE
02881 #define NM_ODSTATECHANGE NMLVODSTATECHANGE
02882 
02883 #define LVN_ITEMCHANGING (LVN_FIRST-0)
02884 #define LVN_ITEMCHANGED (LVN_FIRST-1)
02885 #define LVN_INSERTITEM (LVN_FIRST-2)
02886 #define LVN_DELETEITEM (LVN_FIRST-3)
02887 #define LVN_DELETEALLITEMS (LVN_FIRST-4)
02888 #define LVN_BEGINLABELEDITA (LVN_FIRST-5)
02889 #define LVN_BEGINLABELEDITW (LVN_FIRST-75)
02890 #define LVN_ENDLABELEDITA (LVN_FIRST-6)
02891 #define LVN_ENDLABELEDITW (LVN_FIRST-76)
02892 #define LVN_COLUMNCLICK (LVN_FIRST-8)
02893 #define LVN_BEGINDRAG (LVN_FIRST-9)
02894 #define LVN_BEGINRDRAG (LVN_FIRST-11)
02895 
02896 #define LVN_ODCACHEHINT (LVN_FIRST-13)
02897 #define LVN_ODFINDITEMA (LVN_FIRST-52)
02898 #define LVN_ODFINDITEMW (LVN_FIRST-79)
02899 
02900 #define LVN_ITEMACTIVATE (LVN_FIRST-14)
02901 #define LVN_ODSTATECHANGED (LVN_FIRST-15)
02902 
02903 #define LVN_ODFINDITEM __MINGW_NAME_AW(LVN_ODFINDITEM)
02904 
02905 #define LVN_HOTTRACK (LVN_FIRST-21)
02906 #define LVN_GETDISPINFOA (LVN_FIRST-50)
02907 #define LVN_GETDISPINFOW (LVN_FIRST-77)
02908 #define LVN_SETDISPINFOA (LVN_FIRST-51)
02909 #define LVN_SETDISPINFOW (LVN_FIRST-78)
02910 
02911 #define LVN_BEGINLABELEDIT __MINGW_NAME_AW(LVN_BEGINLABELEDIT)
02912 #define LVN_ENDLABELEDIT __MINGW_NAME_AW(LVN_ENDLABELEDIT)
02913 #define LVN_GETDISPINFO __MINGW_NAME_AW(LVN_GETDISPINFO)
02914 #define LVN_SETDISPINFO __MINGW_NAME_AW(LVN_SETDISPINFO)
02915 
02916 #define LVIF_DI_SETITEM 0x1000
02917 
02918 #define LV_DISPINFOA NMLVDISPINFOA
02919 #define LV_DISPINFOW NMLVDISPINFOW
02920 #define LV_DISPINFO NMLVDISPINFO
02921 
02922   typedef struct tagLVDISPINFO {
02923     NMHDR hdr;
02924     LVITEMA item;
02925   } NMLVDISPINFOA,*LPNMLVDISPINFOA;
02926 
02927   typedef struct tagLVDISPINFOW {
02928     NMHDR hdr;
02929     LVITEMW item;
02930   } NMLVDISPINFOW,*LPNMLVDISPINFOW;
02931 
02932 #define NMLVDISPINFO __MINGW_NAME_AW(NMLVDISPINFO)
02933 
02934 #define LVN_KEYDOWN (LVN_FIRST-55)
02935 
02936 #define LV_KEYDOWN NMLVKEYDOWN
02937 
02938 #include <pshpack1.h>
02939 
02940   typedef struct tagLVKEYDOWN {
02941     NMHDR hdr;
02942     WORD wVKey;
02943     UINT flags;
02944   } NMLVKEYDOWN,*LPNMLVKEYDOWN;
02945 
02946 #include <poppack.h>
02947 
02948 #define LVN_MARQUEEBEGIN (LVN_FIRST-56)
02949 
02950   typedef struct tagNMLVGETINFOTIPA {
02951     NMHDR hdr;
02952     DWORD dwFlags;
02953     LPSTR pszText;
02954     int cchTextMax;
02955     int iItem;
02956     int iSubItem;
02957     LPARAM lParam;
02958   } NMLVGETINFOTIPA,*LPNMLVGETINFOTIPA;
02959 
02960   typedef struct tagNMLVGETINFOTIPW {
02961     NMHDR hdr;
02962     DWORD dwFlags;
02963     LPWSTR pszText;
02964     int cchTextMax;
02965     int iItem;
02966     int iSubItem;
02967     LPARAM lParam;
02968   } NMLVGETINFOTIPW,*LPNMLVGETINFOTIPW;
02969 
02970 #define LVGIT_UNFOLDED 0x1
02971 
02972 #define LVN_GETINFOTIPA (LVN_FIRST-57)
02973 #define LVN_GETINFOTIPW (LVN_FIRST-58)
02974 
02975 #define LVN_GETINFOTIP __MINGW_NAME_AW(LVN_GETINFOTIP)
02976 #define NMLVGETINFOTIP __MINGW_NAME_AW(NMLVGETINFOTIP)
02977 #define LPNMLVGETINFOTIP __MINGW_NAME_AW(LPNMLVGETINFOTIP)
02978 
02979   typedef struct tagNMLVSCROLL {
02980     NMHDR hdr;
02981     int dx;
02982     int dy;
02983   } NMLVSCROLL,*LPNMLVSCROLL;
02984 
02985 #define LVN_BEGINSCROLL (LVN_FIRST-80)
02986 #define LVN_ENDSCROLL (LVN_FIRST-81)
02987 #endif
02988 
02989 #ifndef NOTREEVIEW
02990 
02991 #define WC_TREEVIEWA "SysTreeView32"
02992 #define WC_TREEVIEWW L"SysTreeView32"
02993 
02994 #define WC_TREEVIEW __MINGW_NAME_AW(WC_TREEVIEW)
02995 
02996 #define TVS_HASBUTTONS 0x1
02997 #define TVS_HASLINES 0x2
02998 #define TVS_LINESATROOT 0x4
02999 #define TVS_EDITLABELS 0x8
03000 #define TVS_DISABLEDRAGDROP 0x10
03001 #define TVS_SHOWSELALWAYS 0x20
03002 #define TVS_RTLREADING 0x40
03003 #define TVS_NOTOOLTIPS 0x80
03004 #define TVS_CHECKBOXES 0x100
03005 #define TVS_TRACKSELECT 0x200
03006 #define TVS_SINGLEEXPAND 0x400
03007 #define TVS_INFOTIP 0x800
03008 #define TVS_FULLROWSELECT 0x1000
03009 #define TVS_NOSCROLL 0x2000
03010 #define TVS_NONEVENHEIGHT 0x4000
03011 #define TVS_NOHSCROLL 0x8000
03012 
03013   typedef struct _TREEITEM *HTREEITEM;
03014 
03015 #define TVIF_TEXT 0x1
03016 #define TVIF_IMAGE 0x2
03017 #define TVIF_PARAM 0x4
03018 #define TVIF_STATE 0x8
03019 #define TVIF_HANDLE 0x10
03020 #define TVIF_SELECTEDIMAGE 0x20
03021 #define TVIF_CHILDREN 0x40
03022 #if(_WIN32_IE >= 0x0400)
03023 #define TVIF_INTEGRAL 0x80
03024 #endif
03025 #if(_WIN32_IE >= 0x0600)
03026 #define TVIF_STATEEX 0x100
03027 #endif
03028 #define TVIF_EXPANDEDIMAGE 0x200
03029 #define TVIS_SELECTED 0x2
03030 #define TVIS_CUT 0x4
03031 #define TVIS_DROPHILITED 0x8
03032 #define TVIS_BOLD 0x10
03033 #define TVIS_EXPANDED 0x20
03034 #define TVIS_EXPANDEDONCE 0x40
03035 #define TVIS_EXPANDPARTIAL 0x80
03036 #define TVIS_OVERLAYMASK 0xf00
03037 #define TVIS_STATEIMAGEMASK 0xF000
03038 #define TVIS_USERMASK 0xF000
03039 
03040 #define I_CHILDRENCALLBACK (-1)
03041 
03042 #define LPTV_ITEMW LPTVITEMW
03043 #define LPTV_ITEMA LPTVITEMA
03044 #define TV_ITEMW TVITEMW
03045 #define TV_ITEMA TVITEMA
03046 #define LPTV_ITEM LPTVITEM
03047 #define TV_ITEM TVITEM
03048 
03049   typedef struct tagTVITEMA {
03050     UINT mask;
03051     HTREEITEM hItem;
03052     UINT state;
03053     UINT stateMask;
03054     LPSTR pszText;
03055     int cchTextMax;
03056     int iImage;
03057     int iSelectedImage;
03058     int cChildren;
03059     LPARAM lParam;
03060   } TVITEMA,*LPTVITEMA;
03061 
03062   typedef struct tagTVITEMW {
03063     UINT mask;
03064     HTREEITEM hItem;
03065     UINT state;
03066     UINT stateMask;
03067     LPWSTR pszText;
03068     int cchTextMax;
03069     int iImage;
03070     int iSelectedImage;
03071     int cChildren;
03072     LPARAM lParam;
03073   } TVITEMW,*LPTVITEMW;
03074 
03075   typedef struct tagTVITEMEXA {
03076     UINT mask;
03077     HTREEITEM hItem;
03078     UINT state;
03079     UINT stateMask;
03080     LPSTR pszText;
03081     int cchTextMax;
03082     int iImage;
03083     int iSelectedImage;
03084     int cChildren;
03085     LPARAM lParam;
03086     int iIntegral;
03087     UINT uStateEx;        /* _WIN32_IE >= 0x600 */
03088     HWND hwnd;            /* _WIN32_IE >= 0x600 */
03089     int iExpandedImage;   /* _WIN32_IE >= 0x600 */
03090   } TVITEMEXA, *LPTVITEMEXA;
03091 
03092   typedef struct tagTVITEMEXW {
03093     UINT mask;
03094     HTREEITEM hItem;
03095     UINT state;
03096     UINT stateMask;
03097     LPWSTR pszText;
03098     int cchTextMax;
03099     int iImage;
03100     int iSelectedImage;
03101     int cChildren;
03102     LPARAM lParam;
03103     int iIntegral;
03104     UINT uStateEx;        /* _WIN32_IE >= 0x600 */
03105     HWND hwnd;            /* _WIN32_IE >= 0x600 */
03106     int iExpandedImage;   /* _WIN32_IE >= 0x600 */
03107   } TVITEMEXW, *LPTVITEMEXW;
03108 
03109   __MINGW_TYPEDEF_AW(TVITEMEX)
03110   __MINGW_TYPEDEF_AW(LPTVITEMEX)
03111 
03112 #define TVITEM __MINGW_NAME_AW(TVITEM)
03113 #define LPTVITEM __MINGW_NAME_AW(LPTVITEM)
03114 
03115 #define TVI_ROOT ((HTREEITEM)(ULONG_PTR)-0x10000)
03116 #define TVI_FIRST ((HTREEITEM)(ULONG_PTR)-0xffff)
03117 #define TVI_LAST ((HTREEITEM)(ULONG_PTR)-0xfffe)
03118 #define TVI_SORT ((HTREEITEM)(ULONG_PTR)-0xfffd)
03119 
03120 #define LPTV_INSERTSTRUCTA LPTVINSERTSTRUCTA
03121 #define LPTV_INSERTSTRUCTW LPTVINSERTSTRUCTW
03122 #define TV_INSERTSTRUCTA TVINSERTSTRUCTA
03123 #define TV_INSERTSTRUCTW TVINSERTSTRUCTW
03124 #define TV_INSERTSTRUCT TVINSERTSTRUCT
03125 #define LPTV_INSERTSTRUCT LPTVINSERTSTRUCT
03126 
03127 #define TVINSERTSTRUCTA_V1_SIZE CCSIZEOF_STRUCT(TVINSERTSTRUCTA,item)
03128 #define TVINSERTSTRUCTW_V1_SIZE CCSIZEOF_STRUCT(TVINSERTSTRUCTW,item)
03129 
03130   typedef struct tagTVINSERTSTRUCTA {
03131     HTREEITEM hParent;
03132     HTREEITEM hInsertAfter;
03133     __C89_NAMELESS union {
03134       TVITEMEXA itemex;
03135       TV_ITEMA item;
03136     } DUMMYUNIONNAME;
03137   } TVINSERTSTRUCTA,*LPTVINSERTSTRUCTA;
03138 
03139   typedef struct tagTVINSERTSTRUCTW {
03140     HTREEITEM hParent;
03141     HTREEITEM hInsertAfter;
03142     __C89_NAMELESS union {
03143       TVITEMEXW itemex;
03144       TV_ITEMW item;
03145     } DUMMYUNIONNAME;
03146   } TVINSERTSTRUCTW,*LPTVINSERTSTRUCTW;
03147 
03148 
03149 #define TVINSERTSTRUCT __MINGW_NAME_AW(TVINSERTSTRUCT)
03150 #define LPTVINSERTSTRUCT __MINGW_NAME_AW(LPTVINSERTSTRUCT)
03151 
03152 #define TVINSERTSTRUCT_V1_SIZE __MINGW_NAME_AW_EXT(TVINSERTSTRUCT,_V1_SIZE)
03153 
03154 #define TVM_INSERTITEMA (TV_FIRST+0)
03155 #define TVM_INSERTITEMW (TV_FIRST+50)
03156 
03157 #define TVM_INSERTITEM __MINGW_NAME_AW(TVM_INSERTITEM)
03158 
03159 #define TreeView_InsertItem(hwnd,lpis) (HTREEITEM)SNDMSG((hwnd),TVM_INSERTITEM,0,(LPARAM)(LPTV_INSERTSTRUCT)(lpis))
03160 
03161 #define TVM_DELETEITEM (TV_FIRST+1)
03162 #define TreeView_DeleteItem(hwnd,hitem) (WINBOOL)SNDMSG((hwnd),TVM_DELETEITEM,0,(LPARAM)(HTREEITEM)(hitem))
03163 
03164 #define TreeView_DeleteAllItems(hwnd) (WINBOOL)SNDMSG((hwnd),TVM_DELETEITEM,0,(LPARAM)TVI_ROOT)
03165 
03166 #define TVM_EXPAND (TV_FIRST+2)
03167 #define TreeView_Expand(hwnd,hitem,code) (WINBOOL)SNDMSG((hwnd),TVM_EXPAND,(WPARAM)(code),(LPARAM)(HTREEITEM)(hitem))
03168 
03169 #define TVE_COLLAPSE 0x1
03170 #define TVE_EXPAND 0x2
03171 #define TVE_TOGGLE 0x3
03172 #define TVE_EXPANDPARTIAL 0x4000
03173 #define TVE_COLLAPSERESET 0x8000
03174 
03175 #define TVM_GETITEMRECT (TV_FIRST+4)
03176 #define TreeView_GetItemRect(hwnd,hitem,prc,code) (*(HTREEITEM *)prc = (hitem),(WINBOOL)SNDMSG((hwnd),TVM_GETITEMRECT,(WPARAM)(code),(LPARAM)(RECT *)(prc)))
03177 
03178 #define TVM_GETCOUNT (TV_FIRST+5)
03179 #define TreeView_GetCount(hwnd) (UINT)SNDMSG((hwnd),TVM_GETCOUNT,0,0)
03180 
03181 #define TVM_GETINDENT (TV_FIRST+6)
03182 #define TreeView_GetIndent(hwnd) (UINT)SNDMSG((hwnd),TVM_GETINDENT,0,0)
03183 
03184 #define TVM_SETINDENT (TV_FIRST+7)
03185 #define TreeView_SetIndent(hwnd,indent) (WINBOOL)SNDMSG((hwnd),TVM_SETINDENT,(WPARAM)(indent),0)
03186 
03187 #define TVM_GETIMAGELIST (TV_FIRST+8)
03188 #define TreeView_GetImageList(hwnd,iImage) (HIMAGELIST)SNDMSG((hwnd),TVM_GETIMAGELIST,iImage,0)
03189 
03190 #define TVSIL_NORMAL 0
03191 #define TVSIL_STATE 2
03192 
03193 #define TVM_SETIMAGELIST (TV_FIRST+9)
03194 #define TreeView_SetImageList(hwnd,himl,iImage) (HIMAGELIST)SNDMSG((hwnd),TVM_SETIMAGELIST,iImage,(LPARAM)(HIMAGELIST)(himl))
03195 
03196 #define TVM_GETNEXTITEM (TV_FIRST+10)
03197 #define TreeView_GetNextItem(hwnd,hitem,code) (HTREEITEM)SNDMSG((hwnd),TVM_GETNEXTITEM,(WPARAM)(code),(LPARAM)(HTREEITEM)(hitem))
03198 
03199 #define TVGN_ROOT 0x0
03200 #define TVGN_NEXT 0x1
03201 #define TVGN_PREVIOUS 0x2
03202 #define TVGN_PARENT 0x3
03203 #define TVGN_CHILD 0x4
03204 #define TVGN_FIRSTVISIBLE 0x5
03205 #define TVGN_NEXTVISIBLE 0x6
03206 #define TVGN_PREVIOUSVISIBLE 0x7
03207 #define TVGN_DROPHILITE 0x8
03208 #define TVGN_CARET 0x9
03209 #define TVGN_LASTVISIBLE 0xa
03210 
03211 #define TVSI_NOSINGLEEXPAND 0x8000
03212 
03213 #define TreeView_GetChild(hwnd,hitem) TreeView_GetNextItem(hwnd,hitem,TVGN_CHILD)
03214 #define TreeView_GetNextSibling(hwnd,hitem) TreeView_GetNextItem(hwnd,hitem,TVGN_NEXT)
03215 #define TreeView_GetPrevSibling(hwnd,hitem) TreeView_GetNextItem(hwnd,hitem,TVGN_PREVIOUS)
03216 #define TreeView_GetParent(hwnd,hitem) TreeView_GetNextItem(hwnd,hitem,TVGN_PARENT)
03217 #define TreeView_GetFirstVisible(hwnd) TreeView_GetNextItem(hwnd,NULL,TVGN_FIRSTVISIBLE)
03218 #define TreeView_GetNextVisible(hwnd,hitem) TreeView_GetNextItem(hwnd,hitem,TVGN_NEXTVISIBLE)
03219 #define TreeView_GetPrevVisible(hwnd,hitem) TreeView_GetNextItem(hwnd,hitem,TVGN_PREVIOUSVISIBLE)
03220 #define TreeView_GetSelection(hwnd) TreeView_GetNextItem(hwnd,NULL,TVGN_CARET)
03221 #define TreeView_GetDropHilight(hwnd) TreeView_GetNextItem(hwnd,NULL,TVGN_DROPHILITE)
03222 #define TreeView_GetRoot(hwnd) TreeView_GetNextItem(hwnd,NULL,TVGN_ROOT)
03223 #define TreeView_GetLastVisible(hwnd) TreeView_GetNextItem(hwnd,NULL,TVGN_LASTVISIBLE)
03224 
03225 #define TVM_SELECTITEM (TV_FIRST+11)
03226 #define TreeView_Select(hwnd,hitem,code) (WINBOOL)SNDMSG((hwnd),TVM_SELECTITEM,(WPARAM)(code),(LPARAM)(HTREEITEM)(hitem))
03227 
03228 #define TreeView_SelectItem(hwnd,hitem) TreeView_Select(hwnd,hitem,TVGN_CARET)
03229 #define TreeView_SelectDropTarget(hwnd,hitem) TreeView_Select(hwnd,hitem,TVGN_DROPHILITE)
03230 #define TreeView_SelectSetFirstVisible(hwnd,hitem) TreeView_Select(hwnd,hitem,TVGN_FIRSTVISIBLE)
03231 
03232 #define TVM_GETITEMA (TV_FIRST+12)
03233 #define TVM_GETITEMW (TV_FIRST+62)
03234 
03235 #define TVM_GETITEM __MINGW_NAME_AW(TVM_GETITEM)
03236 
03237 #define TreeView_GetItem(hwnd,pitem) (WINBOOL)SNDMSG((hwnd),TVM_GETITEM,0,(LPARAM)(TV_ITEM *)(pitem))
03238 
03239 #define TVM_SETITEMA (TV_FIRST+13)
03240 #define TVM_SETITEMW (TV_FIRST+63)
03241 
03242 #define TVM_SETITEM __MINGW_NAME_AW(TVM_SETITEM)
03243 
03244 #define TreeView_SetItem(hwnd,pitem) (WINBOOL)SNDMSG((hwnd),TVM_SETITEM,0,(LPARAM)(const TV_ITEM *)(pitem))
03245 
03246 #define TVM_EDITLABELA (TV_FIRST+14)
03247 #define TVM_EDITLABELW (TV_FIRST+65)
03248 
03249 #define TVM_EDITLABEL __MINGW_NAME_AW(TVM_EDITLABEL)
03250 
03251 #define TreeView_EditLabel(hwnd,hitem) (HWND)SNDMSG((hwnd),TVM_EDITLABEL,0,(LPARAM)(HTREEITEM)(hitem))
03252 
03253 #define TVM_GETEDITCONTROL (TV_FIRST+15)
03254 #define TreeView_GetEditControl(hwnd) (HWND)SNDMSG((hwnd),TVM_GETEDITCONTROL,0,0)
03255 
03256 #define TVM_GETVISIBLECOUNT (TV_FIRST+16)
03257 #define TreeView_GetVisibleCount(hwnd) (UINT)SNDMSG((hwnd),TVM_GETVISIBLECOUNT,0,0)
03258 
03259 #define TVM_HITTEST (TV_FIRST+17)
03260 #define TreeView_HitTest(hwnd,lpht) (HTREEITEM)SNDMSG((hwnd),TVM_HITTEST,0,(LPARAM)(LPTV_HITTESTINFO)(lpht))
03261 
03262 #define LPTV_HITTESTINFO LPTVHITTESTINFO
03263 #define TV_HITTESTINFO TVHITTESTINFO
03264 
03265   typedef struct tagTVHITTESTINFO {
03266     POINT pt;
03267     UINT flags;
03268     HTREEITEM hItem;
03269   } TVHITTESTINFO,*LPTVHITTESTINFO;
03270 
03271 #define TVHT_NOWHERE 0x1
03272 #define TVHT_ONITEMICON 0x2
03273 #define TVHT_ONITEMLABEL 0x4
03274 #define TVHT_ONITEM (TVHT_ONITEMICON | TVHT_ONITEMLABEL | TVHT_ONITEMSTATEICON)
03275 #define TVHT_ONITEMINDENT 0x8
03276 #define TVHT_ONITEMBUTTON 0x10
03277 #define TVHT_ONITEMRIGHT 0x20
03278 #define TVHT_ONITEMSTATEICON 0x40
03279 
03280 #define TVHT_ABOVE 0x100
03281 #define TVHT_BELOW 0x200
03282 #define TVHT_TORIGHT 0x400
03283 #define TVHT_TOLEFT 0x800
03284 
03285 #define TVM_CREATEDRAGIMAGE (TV_FIRST+18)
03286 #define TreeView_CreateDragImage(hwnd,hitem) (HIMAGELIST)SNDMSG((hwnd),TVM_CREATEDRAGIMAGE,0,(LPARAM)(HTREEITEM)(hitem))
03287 
03288 #define TVM_SORTCHILDREN (TV_FIRST+19)
03289 #define TreeView_SortChildren(hwnd,hitem,recurse) (WINBOOL)SNDMSG((hwnd),TVM_SORTCHILDREN,(WPARAM)(recurse),(LPARAM)(HTREEITEM)(hitem))
03290 
03291 #define TVM_ENSUREVISIBLE (TV_FIRST+20)
03292 #define TreeView_EnsureVisible(hwnd,hitem) (WINBOOL)SNDMSG((hwnd),TVM_ENSUREVISIBLE,0,(LPARAM)(HTREEITEM)(hitem))
03293 
03294 #define TVM_SORTCHILDRENCB (TV_FIRST+21)
03295 #define TreeView_SortChildrenCB(hwnd,psort,recurse) (WINBOOL)SNDMSG((hwnd),TVM_SORTCHILDRENCB,(WPARAM)(recurse),(LPARAM)(LPTV_SORTCB)(psort))
03296 
03297 #define TVM_ENDEDITLABELNOW (TV_FIRST+22)
03298 #define TreeView_EndEditLabelNow(hwnd,fCancel) (WINBOOL)SNDMSG((hwnd),TVM_ENDEDITLABELNOW,(WPARAM)(fCancel),0)
03299 
03300 #define TVM_GETISEARCHSTRINGA (TV_FIRST+23)
03301 #define TVM_GETISEARCHSTRINGW (TV_FIRST+64)
03302 
03303 #define TVM_GETISEARCHSTRING __MINGW_NAME_AW(TVM_GETISEARCHSTRING)
03304 
03305 #define TVM_SETTOOLTIPS (TV_FIRST+24)
03306 #define TreeView_SetToolTips(hwnd,hwndTT) (HWND)SNDMSG((hwnd),TVM_SETTOOLTIPS,(WPARAM)(hwndTT),0)
03307 #define TVM_GETTOOLTIPS (TV_FIRST+25)
03308 #define TreeView_GetToolTips(hwnd) (HWND)SNDMSG((hwnd),TVM_GETTOOLTIPS,0,0)
03309 #define TreeView_GetISearchString(hwndTV,lpsz) (WINBOOL)SNDMSG((hwndTV),TVM_GETISEARCHSTRING,0,(LPARAM)(LPTSTR)(lpsz))
03310 
03311 #define TVM_SETINSERTMARK (TV_FIRST+26)
03312 #define TreeView_SetInsertMark(hwnd,hItem,fAfter) (WINBOOL)SNDMSG((hwnd),TVM_SETINSERTMARK,(WPARAM) (fAfter),(LPARAM) (hItem))
03313 #define TVM_SETUNICODEFORMAT CCM_SETUNICODEFORMAT
03314 #define TreeView_SetUnicodeFormat(hwnd,fUnicode) (WINBOOL)SNDMSG((hwnd),TVM_SETUNICODEFORMAT,(WPARAM)(fUnicode),0)
03315 #define TVM_GETUNICODEFORMAT CCM_GETUNICODEFORMAT
03316 #define TreeView_GetUnicodeFormat(hwnd) (WINBOOL)SNDMSG((hwnd),TVM_GETUNICODEFORMAT,0,0)
03317 
03318 #define TVM_SETITEMHEIGHT (TV_FIRST+27)
03319 #define TreeView_SetItemHeight(hwnd,iHeight) (int)SNDMSG((hwnd),TVM_SETITEMHEIGHT,(WPARAM)(iHeight),0)
03320 #define TVM_GETITEMHEIGHT (TV_FIRST+28)
03321 #define TreeView_GetItemHeight(hwnd) (int)SNDMSG((hwnd),TVM_GETITEMHEIGHT,0,0)
03322 #define TVM_SETBKCOLOR (TV_FIRST+29)
03323 #define TreeView_SetBkColor(hwnd,clr) (COLORREF)SNDMSG((hwnd),TVM_SETBKCOLOR,0,(LPARAM)(clr))
03324 #define TVM_SETTEXTCOLOR (TV_FIRST+30)
03325 #define TreeView_SetTextColor(hwnd,clr) (COLORREF)SNDMSG((hwnd),TVM_SETTEXTCOLOR,0,(LPARAM)(clr))
03326 #define TVM_GETBKCOLOR (TV_FIRST+31)
03327 #define TreeView_GetBkColor(hwnd) (COLORREF)SNDMSG((hwnd),TVM_GETBKCOLOR,0,0)
03328 #define TVM_GETTEXTCOLOR (TV_FIRST+32)
03329 #define TreeView_GetTextColor(hwnd) (COLORREF)SNDMSG((hwnd),TVM_GETTEXTCOLOR,0,0)
03330 #define TVM_SETSCROLLTIME (TV_FIRST+33)
03331 #define TreeView_SetScrollTime(hwnd,uTime) (UINT)SNDMSG((hwnd),TVM_SETSCROLLTIME,uTime,0)
03332 #define TVM_GETSCROLLTIME (TV_FIRST+34)
03333 #define TreeView_GetScrollTime(hwnd) (UINT)SNDMSG((hwnd),TVM_GETSCROLLTIME,0,0)
03334 #define TVM_SETINSERTMARKCOLOR (TV_FIRST+37)
03335 #define TreeView_SetInsertMarkColor(hwnd,clr) (COLORREF)SNDMSG((hwnd),TVM_SETINSERTMARKCOLOR,0,(LPARAM)(clr))
03336 #define TVM_GETINSERTMARKCOLOR (TV_FIRST+38)
03337 #define TreeView_GetInsertMarkColor(hwnd) (COLORREF)SNDMSG((hwnd),TVM_GETINSERTMARKCOLOR,0,0)
03338 
03339 #define TreeView_SetItemState(hwndTV,hti,data,_mask) { TVITEM _ms_TVi; _ms_TVi.mask = TVIF_STATE; _ms_TVi.hItem = hti; _ms_TVi.stateMask = _mask; _ms_TVi.state = data; SNDMSG((hwndTV),TVM_SETITEM,0,(LPARAM)(TV_ITEM *)&_ms_TVi);}
03340 #define TreeView_SetCheckState(hwndTV,hti,fCheck) TreeView_SetItemState(hwndTV,hti,INDEXTOSTATEIMAGEMASK((fCheck)?2:1),TVIS_STATEIMAGEMASK)
03341 #define TVM_GETITEMSTATE (TV_FIRST+39)
03342 #define TreeView_GetItemState(hwndTV,hti,mask) (UINT)SNDMSG((hwndTV),TVM_GETITEMSTATE,(WPARAM)(hti),(LPARAM)(mask))
03343 #define TreeView_GetCheckState(hwndTV,hti) ((((UINT)(SNDMSG((hwndTV),TVM_GETITEMSTATE,(WPARAM)(hti),TVIS_STATEIMAGEMASK))) >> 12) -1)
03344 #define TVM_SETLINECOLOR (TV_FIRST+40)
03345 #define TreeView_SetLineColor(hwnd,clr) (COLORREF)SNDMSG((hwnd),TVM_SETLINECOLOR,0,(LPARAM)(clr))
03346 #define TVM_GETLINECOLOR (TV_FIRST+41)
03347 #define TreeView_GetLineColor(hwnd) (COLORREF)SNDMSG((hwnd),TVM_GETLINECOLOR,0,0)
03348 
03349 #define TVM_MAPACCIDTOHTREEITEM (TV_FIRST+42)
03350 #define TreeView_MapAccIDToHTREEITEM(hwnd,id) (HTREEITEM)SNDMSG((hwnd),TVM_MAPACCIDTOHTREEITEM,id,0)
03351 
03352 #define TVM_MAPHTREEITEMTOACCID (TV_FIRST+43)
03353 #define TreeView_MapHTREEITEMToAccID(hwnd,htreeitem) (UINT)SNDMSG((hwnd),TVM_MAPHTREEITEMTOACCID,(WPARAM)htreeitem,0)
03354 
03355   typedef int (CALLBACK *PFNTVCOMPARE)(LPARAM lParam1,LPARAM lParam2,LPARAM lParamSort);
03356 
03357 #define LPTV_SORTCB LPTVSORTCB
03358 #define TV_SORTCB TVSORTCB
03359 
03360   typedef struct tagTVSORTCB {
03361     HTREEITEM hParent;
03362     PFNTVCOMPARE lpfnCompare;
03363     LPARAM lParam;
03364   } TVSORTCB,*LPTVSORTCB;
03365 
03366 #define LPNM_TREEVIEWA LPNMTREEVIEWA
03367 #define LPNM_TREEVIEWW LPNMTREEVIEWW
03368 #define NM_TREEVIEWW NMTREEVIEWW
03369 #define NM_TREEVIEWA NMTREEVIEWA
03370 #define LPNM_TREEVIEW LPNMTREEVIEW
03371 #define NM_TREEVIEW NMTREEVIEW
03372 
03373   typedef struct tagNMTREEVIEWA {
03374     NMHDR hdr;
03375     UINT action;
03376     TVITEMA itemOld;
03377     TVITEMA itemNew;
03378     POINT ptDrag;
03379   } NMTREEVIEWA,*LPNMTREEVIEWA;
03380 
03381   typedef struct tagNMTREEVIEWW {
03382     NMHDR hdr;
03383     UINT action;
03384     TVITEMW itemOld;
03385     TVITEMW itemNew;
03386     POINT ptDrag;
03387   } NMTREEVIEWW,*LPNMTREEVIEWW;
03388 
03389 #define NMTREEVIEW __MINGW_NAME_AW(NMTREEVIEW)
03390 #define LPNMTREEVIEW __MINGW_NAME_AW(LPNMTREEVIEW)
03391 
03392 #define TVN_SELCHANGINGA (TVN_FIRST-1)
03393 #define TVN_SELCHANGINGW (TVN_FIRST-50)
03394 #define TVN_SELCHANGEDA (TVN_FIRST-2)
03395 #define TVN_SELCHANGEDW (TVN_FIRST-51)
03396 
03397 #define TVC_UNKNOWN 0x0
03398 #define TVC_BYMOUSE 0x1
03399 #define TVC_BYKEYBOARD 0x2
03400 
03401 #define TVN_GETDISPINFOA (TVN_FIRST-3)
03402 #define TVN_GETDISPINFOW (TVN_FIRST-52)
03403 #define TVN_SETDISPINFOA (TVN_FIRST-4)
03404 #define TVN_SETDISPINFOW (TVN_FIRST-53)
03405 
03406 #define TVIF_DI_SETITEM 0x1000
03407 
03408 #define TV_DISPINFOA NMTVDISPINFOA
03409 #define TV_DISPINFOW NMTVDISPINFOW
03410 #define TV_DISPINFO NMTVDISPINFO
03411 
03412   typedef struct tagTVDISPINFOA {
03413     NMHDR hdr;
03414     TVITEMA item;
03415   } NMTVDISPINFOA,*LPNMTVDISPINFOA;
03416 
03417   typedef struct tagTVDISPINFOW {
03418     NMHDR hdr;
03419     TVITEMW item;
03420   } NMTVDISPINFOW,*LPNMTVDISPINFOW;
03421 
03422 #define NMTVDISPINFO __MINGW_NAME_AW(NMTVDISPINFO)
03423 #define LPNMTVDISPINFO __MINGW_NAME_AW(LPNMTVDISPINFO)
03424 
03425 #if (_WIN32_IE >= 0x0600)
03426 
03427 typedef struct tagTVDISPINFOEXA {
03428     NMHDR hdr;
03429     TVITEMEXA item;
03430 } NMTVDISPINFOEXA, *LPNMTVDISPINFOEXA;
03431 
03432 typedef struct tagTVDISPINFOEXW {
03433     NMHDR hdr;
03434     TVITEMEXW item;
03435 } NMTVDISPINFOEXW, *LPNMTVDISPINFOEXW;
03436 
03437 #define NMTVDISPINFOEX   __MINGW_NAME_AW(NMTVDISPINFOEX)
03438 #define LPNMTVDISPINFOEX __MINGW_NAME_AW(LPNMTVDISPINFOEX)
03439 
03440 #define TV_DISPINFOEXA NMTVDISPINFOEXA
03441 #define TV_DISPINFOEXW NMTVDISPINFOEXW
03442 #define TV_DISPINFOEX  NMTVDISPINFOEX
03443 
03444 #endif /* (_WIN32_IE >= 0x0600) */
03445 
03446 #define TVN_ITEMEXPANDINGA (TVN_FIRST-5)
03447 #define TVN_ITEMEXPANDINGW (TVN_FIRST-54)
03448 #define TVN_ITEMEXPANDEDA (TVN_FIRST-6)
03449 #define TVN_ITEMEXPANDEDW (TVN_FIRST-55)
03450 #define TVN_BEGINDRAGA (TVN_FIRST-7)
03451 #define TVN_BEGINDRAGW (TVN_FIRST-56)
03452 #define TVN_BEGINRDRAGA (TVN_FIRST-8)
03453 #define TVN_BEGINRDRAGW (TVN_FIRST-57)
03454 #define TVN_DELETEITEMA (TVN_FIRST-9)
03455 #define TVN_DELETEITEMW (TVN_FIRST-58)
03456 #define TVN_BEGINLABELEDITA (TVN_FIRST-10)
03457 #define TVN_BEGINLABELEDITW (TVN_FIRST-59)
03458 #define TVN_ENDLABELEDITA (TVN_FIRST-11)
03459 #define TVN_ENDLABELEDITW (TVN_FIRST-60)
03460 #define TVN_KEYDOWN (TVN_FIRST-12)
03461 #define TVN_GETINFOTIPA (TVN_FIRST-13)
03462 #define TVN_GETINFOTIPW (TVN_FIRST-14)
03463 #define TVN_SINGLEEXPAND (TVN_FIRST-15)
03464 
03465 #define TVNRET_DEFAULT 0
03466 #define TVNRET_SKIPOLD 1
03467 #define TVNRET_SKIPNEW 2
03468 
03469 #define TV_KEYDOWN NMTVKEYDOWN
03470 
03471 #include <pshpack1.h>
03472 
03473   typedef struct tagTVKEYDOWN {
03474     NMHDR hdr;
03475     WORD wVKey;
03476     UINT flags;
03477   } NMTVKEYDOWN,*LPNMTVKEYDOWN;
03478 
03479 #include <poppack.h>
03480 
03481 #define TVN_SELCHANGING __MINGW_NAME_AW(TVN_SELCHANGING)
03482 #define TVN_SELCHANGED __MINGW_NAME_AW(TVN_SELCHANGED)
03483 #define TVN_GETDISPINFO __MINGW_NAME_AW(TVN_GETDISPINFO)
03484 #define TVN_SETDISPINFO __MINGW_NAME_AW(TVN_SETDISPINFO)
03485 #define TVN_ITEMEXPANDING __MINGW_NAME_AW(TVN_ITEMEXPANDING)
03486 #define TVN_ITEMEXPANDED __MINGW_NAME_AW(TVN_ITEMEXPANDED)
03487 #define TVN_BEGINDRAG __MINGW_NAME_AW(TVN_BEGINDRAG)
03488 #define TVN_BEGINRDRAG __MINGW_NAME_AW(TVN_BEGINRDRAG)
03489 #define TVN_DELETEITEM __MINGW_NAME_AW(TVN_DELETEITEM)
03490 #define TVN_BEGINLABELEDIT __MINGW_NAME_AW(TVN_BEGINLABELEDIT)
03491 #define TVN_ENDLABELEDIT __MINGW_NAME_AW(TVN_ENDLABELEDIT)
03492 
03493 #define NMTVCUSTOMDRAW_V3_SIZE CCSIZEOF_STRUCT(NMTVCUSTOMDRAW,clrTextBk)
03494 
03495   typedef struct tagNMTVCUSTOMDRAW {
03496     NMCUSTOMDRAW nmcd;
03497     COLORREF clrText;
03498     COLORREF clrTextBk;
03499     int iLevel;
03500   } NMTVCUSTOMDRAW,*LPNMTVCUSTOMDRAW;
03501 
03502   typedef struct tagNMTVGETINFOTIPA {
03503     NMHDR hdr;
03504     LPSTR pszText;
03505     int cchTextMax;
03506     HTREEITEM hItem;
03507     LPARAM lParam;
03508   } NMTVGETINFOTIPA,*LPNMTVGETINFOTIPA;
03509 
03510   typedef struct tagNMTVGETINFOTIPW {
03511     NMHDR hdr;
03512     LPWSTR pszText;
03513     int cchTextMax;
03514     HTREEITEM hItem;
03515     LPARAM lParam;
03516   } NMTVGETINFOTIPW,*LPNMTVGETINFOTIPW;
03517 
03518 #define TVN_GETINFOTIP __MINGW_NAME_AW(TVN_GETINFOTIP)
03519 #define NMTVGETINFOTIP __MINGW_NAME_AW(NMTVGETINFOTIP)
03520 #define LPNMTVGETINFOTIP __MINGW_NAME_AW(LPNMTVGETINFOTIP)
03521 
03522 #define TVCDRF_NOIMAGES 0x10000
03523 #endif
03524 
03525 #ifndef NOUSEREXCONTROLS
03526 
03527 #define WC_COMBOBOXEXW L"ComboBoxEx32"
03528 #define WC_COMBOBOXEXA "ComboBoxEx32"
03529 
03530 #define WC_COMBOBOXEX __MINGW_NAME_AW(WC_COMBOBOXEX)
03531 
03532 #define CBEIF_TEXT 0x1
03533 #define CBEIF_IMAGE 0x2
03534 #define CBEIF_SELECTEDIMAGE 0x4
03535 #define CBEIF_OVERLAY 0x8
03536 #define CBEIF_INDENT 0x10
03537 #define CBEIF_LPARAM 0x20
03538 
03539 #define CBEIF_DI_SETITEM 0x10000000
03540 
03541   typedef struct tagCOMBOBOXEXITEMA {
03542     UINT mask;
03543     INT_PTR iItem;
03544     LPSTR pszText;
03545     int cchTextMax;
03546     int iImage;
03547     int iSelectedImage;
03548     int iOverlay;
03549     int iIndent;
03550     LPARAM lParam;
03551   } COMBOBOXEXITEMA,*PCOMBOBOXEXITEMA;
03552   typedef COMBOBOXEXITEMA CONST *PCCOMBOEXITEMA;
03553 
03554   typedef struct tagCOMBOBOXEXITEMW
03555   {
03556     UINT mask;
03557     INT_PTR iItem;
03558     LPWSTR pszText;
03559     int cchTextMax;
03560     int iImage;
03561     int iSelectedImage;
03562     int iOverlay;
03563     int iIndent;
03564     LPARAM lParam;
03565   } COMBOBOXEXITEMW,*PCOMBOBOXEXITEMW;
03566   typedef COMBOBOXEXITEMW CONST *PCCOMBOEXITEMW;
03567 
03568 #define COMBOBOXEXITEM __MINGW_NAME_AW(COMBOBOXEXITEM)
03569 #define PCOMBOBOXEXITEM __MINGW_NAME_AW(PCOMBOBOXEXITEM)
03570 #define PCCOMBOBOXEXITEM __MINGW_NAME_AW(PCCOMBOBOXEXITEM)
03571 
03572 #define CBEM_INSERTITEMA (WM_USER+1)
03573 #define CBEM_SETIMAGELIST (WM_USER+2)
03574 #define CBEM_GETIMAGELIST (WM_USER+3)
03575 #define CBEM_GETITEMA (WM_USER+4)
03576 #define CBEM_SETITEMA (WM_USER+5)
03577 #define CBEM_DELETEITEM CB_DELETESTRING
03578 #define CBEM_GETCOMBOCONTROL (WM_USER+6)
03579 #define CBEM_GETEDITCONTROL (WM_USER+7)
03580 #define CBEM_SETEXSTYLE (WM_USER+8)
03581 #define CBEM_SETEXTENDEDSTYLE (WM_USER+14)
03582 #define CBEM_GETEXSTYLE (WM_USER+9)
03583 #define CBEM_GETEXTENDEDSTYLE (WM_USER+9)
03584 #define CBEM_SETUNICODEFORMAT CCM_SETUNICODEFORMAT
03585 #define CBEM_GETUNICODEFORMAT CCM_GETUNICODEFORMAT
03586 #define CBEM_HASEDITCHANGED (WM_USER+10)
03587 #define CBEM_INSERTITEMW (WM_USER+11)
03588 #define CBEM_SETITEMW (WM_USER+12)
03589 #define CBEM_GETITEMW (WM_USER+13)
03590 
03591 #define CBEM_INSERTITEM __MINGW_NAME_AW(CBEM_INSERTITEM)
03592 #define CBEM_SETITEM __MINGW_NAME_AW(CBEM_SETITEM)
03593 #define CBEM_GETITEM __MINGW_NAME_AW(CBEM_GETITEM)
03594 
03595 #define CBEM_SETWINDOWTHEME CCM_SETWINDOWTHEME
03596 
03597 #define CBES_EX_NOEDITIMAGE 0x1
03598 #define CBES_EX_NOEDITIMAGEINDENT 0x2
03599 #define CBES_EX_PATHWORDBREAKPROC 0x4
03600 #define CBES_EX_NOSIZELIMIT 0x8
03601 #define CBES_EX_CASESENSITIVE 0x10
03602 
03603   typedef struct {
03604     NMHDR hdr;
03605     COMBOBOXEXITEMA ceItem;
03606   } NMCOMBOBOXEXA,*PNMCOMBOBOXEXA;
03607 
03608   typedef struct {
03609     NMHDR hdr;
03610     COMBOBOXEXITEMW ceItem;
03611   } NMCOMBOBOXEXW,*PNMCOMBOBOXEXW;
03612 
03613 #define NMCOMBOBOXEX __MINGW_NAME_AW(NMCOMBOBOXEX)
03614 #define PNMCOMBOBOXEX __MINGW_NAME_AW(PNMCOMBOBOXEX)
03615 #define CBEN_GETDISPINFO __MINGW_NAME_AW(CBEN_GETDISPINFO)
03616 
03617 #define CBEN_GETDISPINFOA (CBEN_FIRST - 0)
03618 #define CBEN_INSERTITEM (CBEN_FIRST - 1)
03619 #define CBEN_DELETEITEM (CBEN_FIRST - 2)
03620 #define CBEN_BEGINEDIT (CBEN_FIRST - 4)
03621 #define CBEN_ENDEDITA (CBEN_FIRST - 5)
03622 #define CBEN_ENDEDITW (CBEN_FIRST - 6)
03623 
03624 #define CBEN_GETDISPINFOW (CBEN_FIRST - 7)
03625 
03626 #define CBEN_DRAGBEGINA (CBEN_FIRST - 8)
03627 #define CBEN_DRAGBEGINW (CBEN_FIRST - 9)
03628 
03629 #define CBEN_DRAGBEGIN __MINGW_NAME_AW(CBEN_DRAGBEGIN)
03630 
03631 #define CBEN_ENDEDIT __MINGW_NAME_AW(CBEN_ENDEDIT)
03632 
03633 #define CBENF_KILLFOCUS 1
03634 #define CBENF_RETURN 2
03635 #define CBENF_ESCAPE 3
03636 #define CBENF_DROPDOWN 4
03637 
03638 #define CBEMAXSTRLEN 260
03639 
03640   typedef struct {
03641     NMHDR hdr;
03642     int iItemid;
03643     WCHAR szText[CBEMAXSTRLEN];
03644   }NMCBEDRAGBEGINW,*LPNMCBEDRAGBEGINW,*PNMCBEDRAGBEGINW;
03645 
03646   typedef struct {
03647     NMHDR hdr;
03648     int iItemid;
03649     char szText[CBEMAXSTRLEN];
03650   }NMCBEDRAGBEGINA,*LPNMCBEDRAGBEGINA,*PNMCBEDRAGBEGINA;
03651 
03652 #define NMCBEDRAGBEGIN __MINGW_NAME_AW(NMCBEDRAGBEGIN)
03653 #define LPNMCBEDRAGBEGIN __MINGW_NAME_AW(LPNMCBEDRAGBEGIN)
03654 #define PNMCBEDRAGBEGIN __MINGW_NAME_AW(PNMCBEDRAGBEGIN)
03655 
03656   typedef struct {
03657     NMHDR hdr;
03658     WINBOOL fChanged;
03659     int iNewSelection;
03660     WCHAR szText[CBEMAXSTRLEN];
03661     int iWhy;
03662   } NMCBEENDEDITW,*LPNMCBEENDEDITW,*PNMCBEENDEDITW;
03663 
03664   typedef struct {
03665     NMHDR hdr;
03666     WINBOOL fChanged;
03667     int iNewSelection;
03668     char szText[CBEMAXSTRLEN];
03669     int iWhy;
03670   } NMCBEENDEDITA,*LPNMCBEENDEDITA,*PNMCBEENDEDITA;
03671 
03672 #define NMCBEENDEDIT __MINGW_NAME_AW(NMCBEENDEDIT)
03673 #define LPNMCBEENDEDIT __MINGW_NAME_AW(LPNMCBEENDEDIT)
03674 #define PNMCBEENDEDIT __MINGW_NAME_AW(PNMCBEENDEDIT)
03675 
03676 #endif
03677 
03678 #ifndef NOTABCONTROL
03679 
03680 #define WC_TABCONTROLA "SysTabControl32"
03681 #define WC_TABCONTROLW L"SysTabControl32"
03682 #define WC_TABCONTROL __MINGW_NAME_AW(WC_TABCONTROL)
03683 
03684 #define TCS_SCROLLOPPOSITE 0x1
03685 #define TCS_BOTTOM 0x2
03686 #define TCS_RIGHT 0x2
03687 #define TCS_MULTISELECT 0x4
03688 #define TCS_FLATBUTTONS 0x8
03689 #define TCS_FORCEICONLEFT 0x10
03690 #define TCS_FORCELABELLEFT 0x20
03691 #define TCS_HOTTRACK 0x40
03692 #define TCS_VERTICAL 0x80
03693 #define TCS_TABS 0x0
03694 #define TCS_BUTTONS 0x100
03695 #define TCS_SINGLELINE 0x0
03696 #define TCS_MULTILINE 0x200
03697 #define TCS_RIGHTJUSTIFY 0x0
03698 #define TCS_FIXEDWIDTH 0x400
03699 #define TCS_RAGGEDRIGHT 0x800
03700 #define TCS_FOCUSONBUTTONDOWN 0x1000
03701 #define TCS_OWNERDRAWFIXED 0x2000
03702 #define TCS_TOOLTIPS 0x4000
03703 #define TCS_FOCUSNEVER 0x8000
03704 
03705 #define TCS_EX_FLATSEPARATORS 0x1
03706 #define TCS_EX_REGISTERDROP 0x2
03707 
03708 #define TCM_GETIMAGELIST (TCM_FIRST+2)
03709 #define TabCtrl_GetImageList(hwnd) (HIMAGELIST)SNDMSG((hwnd),TCM_GETIMAGELIST,0,0L)
03710 
03711 #define TCM_SETIMAGELIST (TCM_FIRST+3)
03712 #define TabCtrl_SetImageList(hwnd,himl) (HIMAGELIST)SNDMSG((hwnd),TCM_SETIMAGELIST,0,(LPARAM)(HIMAGELIST)(himl))
03713 
03714 #define TCM_GETITEMCOUNT (TCM_FIRST+4)
03715 #define TabCtrl_GetItemCount(hwnd) (int)SNDMSG((hwnd),TCM_GETITEMCOUNT,0,0L)
03716 
03717 #define TCIF_TEXT 0x1
03718 #define TCIF_IMAGE 0x2
03719 #define TCIF_RTLREADING 0x4
03720 #define TCIF_PARAM 0x8
03721 #define TCIF_STATE 0x10
03722 
03723 #define TCIS_BUTTONPRESSED 0x1
03724 #define TCIS_HIGHLIGHTED 0x2
03725 
03726 #define TC_ITEMHEADERA TCITEMHEADERA
03727 #define TC_ITEMHEADERW TCITEMHEADERW
03728 #define TC_ITEMHEADER TCITEMHEADER
03729 
03730   typedef struct tagTCITEMHEADERA {
03731     UINT mask;
03732     UINT lpReserved1;
03733     UINT lpReserved2;
03734     LPSTR pszText;
03735     int cchTextMax;
03736     int iImage;
03737   } TCITEMHEADERA,*LPTCITEMHEADERA;
03738 
03739   typedef struct tagTCITEMHEADERW {
03740     UINT mask;
03741     UINT lpReserved1;
03742     UINT lpReserved2;
03743     LPWSTR pszText;
03744     int cchTextMax;
03745     int iImage;
03746   } TCITEMHEADERW,*LPTCITEMHEADERW;
03747 
03748 #define TCITEMHEADER __MINGW_NAME_AW(TCITEMHEADER)
03749 #define LPTCITEMHEADER __MINGW_NAME_AW(LPTCITEMHEADER)
03750 
03751 #define TC_ITEMA TCITEMA
03752 #define TC_ITEMW TCITEMW
03753 #define TC_ITEM TCITEM
03754 
03755   typedef struct tagTCITEMA {
03756     UINT mask;
03757     DWORD dwState;
03758     DWORD dwStateMask;
03759     LPSTR pszText;
03760     int cchTextMax;
03761     int iImage;
03762     LPARAM lParam;
03763   } TCITEMA,*LPTCITEMA;
03764 
03765   typedef struct tagTCITEMW {
03766     UINT mask;
03767     DWORD dwState;
03768     DWORD dwStateMask;
03769     LPWSTR pszText;
03770     int cchTextMax;
03771     int iImage;
03772     LPARAM lParam;
03773   } TCITEMW,*LPTCITEMW;
03774 
03775 #define TCITEM __MINGW_NAME_AW(TCITEM)
03776 #define LPTCITEM __MINGW_NAME_AW(LPTCITEM)
03777 
03778 #define TCM_GETITEMA (TCM_FIRST+5)
03779 #define TCM_GETITEMW (TCM_FIRST+60)
03780 
03781 #define TCM_GETITEM __MINGW_NAME_AW(TCM_GETITEM)
03782 
03783 #define TabCtrl_GetItem(hwnd,iItem,pitem) (WINBOOL)SNDMSG((hwnd),TCM_GETITEM,(WPARAM)(int)(iItem),(LPARAM)(TC_ITEM *)(pitem))
03784 
03785 #define TCM_SETITEMA (TCM_FIRST+6)
03786 #define TCM_SETITEMW (TCM_FIRST+61)
03787 
03788 #define TCM_SETITEM __MINGW_NAME_AW(TCM_SETITEM)
03789 
03790 #define TabCtrl_SetItem(hwnd,iItem,pitem) (WINBOOL)SNDMSG((hwnd),TCM_SETITEM,(WPARAM)(int)(iItem),(LPARAM)(TC_ITEM *)(pitem))
03791 
03792 #define TCM_INSERTITEMA (TCM_FIRST+7)
03793 #define TCM_INSERTITEMW (TCM_FIRST+62)
03794 
03795 #define TCM_INSERTITEM __MINGW_NAME_AW(TCM_INSERTITEM)
03796 
03797 #define TabCtrl_InsertItem(hwnd,iItem,pitem) (int)SNDMSG((hwnd),TCM_INSERTITEM,(WPARAM)(int)(iItem),(LPARAM)(const TC_ITEM *)(pitem))
03798 
03799 #define TCM_DELETEITEM (TCM_FIRST+8)
03800 #define TabCtrl_DeleteItem(hwnd,i) (WINBOOL)SNDMSG((hwnd),TCM_DELETEITEM,(WPARAM)(int)(i),0L)
03801 
03802 #define TCM_DELETEALLITEMS (TCM_FIRST+9)
03803 #define TabCtrl_DeleteAllItems(hwnd) (WINBOOL)SNDMSG((hwnd),TCM_DELETEALLITEMS,0,0L)
03804 
03805 #define TCM_GETITEMRECT (TCM_FIRST+10)
03806 #define TabCtrl_GetItemRect(hwnd,i,prc) (WINBOOL)SNDMSG((hwnd),TCM_GETITEMRECT,(WPARAM)(int)(i),(LPARAM)(RECT *)(prc))
03807 
03808 #define TCM_GETCURSEL (TCM_FIRST+11)
03809 #define TabCtrl_GetCurSel(hwnd) (int)SNDMSG((hwnd),TCM_GETCURSEL,0,0)
03810 
03811 #define TCM_SETCURSEL (TCM_FIRST+12)
03812 #define TabCtrl_SetCurSel(hwnd,i) (int)SNDMSG((hwnd),TCM_SETCURSEL,(WPARAM)(i),0)
03813 
03814 #define TCHT_NOWHERE 0x1
03815 #define TCHT_ONITEMICON 0x2
03816 #define TCHT_ONITEMLABEL 0x4
03817 #define TCHT_ONITEM (TCHT_ONITEMICON | TCHT_ONITEMLABEL)
03818 
03819 #define LPTC_HITTESTINFO LPTCHITTESTINFO
03820 #define TC_HITTESTINFO TCHITTESTINFO
03821 
03822   typedef struct tagTCHITTESTINFO {
03823     POINT pt;
03824     UINT flags;
03825   } TCHITTESTINFO,*LPTCHITTESTINFO;
03826 
03827 #define TCM_HITTEST (TCM_FIRST+13)
03828 #define TabCtrl_HitTest(hwndTC,pinfo) (int)SNDMSG((hwndTC),TCM_HITTEST,0,(LPARAM)(TC_HITTESTINFO *)(pinfo))
03829 #define TCM_SETITEMEXTRA (TCM_FIRST+14)
03830 #define TabCtrl_SetItemExtra(hwndTC,cb) (WINBOOL)SNDMSG((hwndTC),TCM_SETITEMEXTRA,(WPARAM)(cb),0L)
03831 #define TCM_ADJUSTRECT (TCM_FIRST+40)
03832 #define TabCtrl_AdjustRect(hwnd,bLarger,prc) (int)SNDMSG(hwnd,TCM_ADJUSTRECT,(WPARAM)(WINBOOL)(bLarger),(LPARAM)(RECT *)prc)
03833 #define TCM_SETITEMSIZE (TCM_FIRST+41)
03834 #define TabCtrl_SetItemSize(hwnd,x,y) (DWORD)SNDMSG((hwnd),TCM_SETITEMSIZE,0,MAKELPARAM(x,y))
03835 #define TCM_REMOVEIMAGE (TCM_FIRST+42)
03836 #define TabCtrl_RemoveImage(hwnd,i) (void)SNDMSG((hwnd),TCM_REMOVEIMAGE,i,0L)
03837 #define TCM_SETPADDING (TCM_FIRST+43)
03838 #define TabCtrl_SetPadding(hwnd,cx,cy) (void)SNDMSG((hwnd),TCM_SETPADDING,0,MAKELPARAM(cx,cy))
03839 #define TCM_GETROWCOUNT (TCM_FIRST+44)
03840 #define TabCtrl_GetRowCount(hwnd) (int)SNDMSG((hwnd),TCM_GETROWCOUNT,0,0L)
03841 #define TCM_GETTOOLTIPS (TCM_FIRST+45)
03842 #define TabCtrl_GetToolTips(hwnd) (HWND)SNDMSG((hwnd),TCM_GETTOOLTIPS,0,0L)
03843 #define TCM_SETTOOLTIPS (TCM_FIRST+46)
03844 #define TabCtrl_SetToolTips(hwnd,hwndTT) (void)SNDMSG((hwnd),TCM_SETTOOLTIPS,(WPARAM)(hwndTT),0L)
03845 #define TCM_GETCURFOCUS (TCM_FIRST+47)
03846 #define TabCtrl_GetCurFocus(hwnd) (int)SNDMSG((hwnd),TCM_GETCURFOCUS,0,0)
03847 #define TCM_SETCURFOCUS (TCM_FIRST+48)
03848 #define TabCtrl_SetCurFocus(hwnd,i) SNDMSG((hwnd),TCM_SETCURFOCUS,i,0)
03849 #define TCM_SETMINTABWIDTH (TCM_FIRST+49)
03850 #define TabCtrl_SetMinTabWidth(hwnd,x) (int)SNDMSG((hwnd),TCM_SETMINTABWIDTH,0,x)
03851 #define TCM_DESELECTALL (TCM_FIRST+50)
03852 #define TabCtrl_DeselectAll(hwnd,fExcludeFocus) (void)SNDMSG((hwnd),TCM_DESELECTALL,fExcludeFocus,0)
03853 #define TCM_HIGHLIGHTITEM (TCM_FIRST+51)
03854 #define TabCtrl_HighlightItem(hwnd,i,fHighlight) (WINBOOL)SNDMSG((hwnd),TCM_HIGHLIGHTITEM,(WPARAM)(i),(LPARAM)MAKELONG (fHighlight,0))
03855 #define TCM_SETEXTENDEDSTYLE (TCM_FIRST+52)
03856 #define TabCtrl_SetExtendedStyle(hwnd,dw) (DWORD)SNDMSG((hwnd),TCM_SETEXTENDEDSTYLE,0,dw)
03857 #define TCM_GETEXTENDEDSTYLE (TCM_FIRST+53)
03858 #define TabCtrl_GetExtendedStyle(hwnd) (DWORD)SNDMSG((hwnd),TCM_GETEXTENDEDSTYLE,0,0)
03859 #define TCM_SETUNICODEFORMAT CCM_SETUNICODEFORMAT
03860 #define TabCtrl_SetUnicodeFormat(hwnd,fUnicode) (WINBOOL)SNDMSG((hwnd),TCM_SETUNICODEFORMAT,(WPARAM)(fUnicode),0)
03861 #define TCM_GETUNICODEFORMAT CCM_GETUNICODEFORMAT
03862 #define TabCtrl_GetUnicodeFormat(hwnd) (WINBOOL)SNDMSG((hwnd),TCM_GETUNICODEFORMAT,0,0)
03863 
03864 #define TCN_KEYDOWN (TCN_FIRST - 0)
03865 
03866 #define TC_KEYDOWN NMTCKEYDOWN
03867 
03868 #include <pshpack1.h>
03869 
03870   typedef struct tagTCKEYDOWN {
03871     NMHDR hdr;
03872     WORD wVKey;
03873     UINT flags;
03874   } NMTCKEYDOWN;
03875 
03876 #include <poppack.h>
03877 
03878 #define TCN_SELCHANGE (TCN_FIRST - 1)
03879 #define TCN_SELCHANGING (TCN_FIRST - 2)
03880 #define TCN_GETOBJECT (TCN_FIRST - 3)
03881 #define TCN_FOCUSCHANGE (TCN_FIRST - 4)
03882 #endif
03883 
03884 #ifndef NOANIMATE
03885 
03886 #define ANIMATE_CLASSW L"SysAnimate32"
03887 #define ANIMATE_CLASSA "SysAnimate32"
03888 
03889 #define ANIMATE_CLASS __MINGW_NAME_AW(ANIMATE_CLASS)
03890 
03891 #define ACS_CENTER 0x1
03892 #define ACS_TRANSPARENT 0x2
03893 #define ACS_AUTOPLAY 0x4
03894 #define ACS_TIMER 0x8
03895 
03896 #define ACM_OPENA (WM_USER+100)
03897 #define ACM_OPENW (WM_USER+103)
03898 
03899 #define ACM_OPEN __MINGW_NAME_AW(ACM_OPEN)
03900 
03901 #define ACM_PLAY (WM_USER+101)
03902 #define ACM_STOP (WM_USER+102)
03903 
03904 #define ACN_START 1
03905 #define ACN_STOP 2
03906 
03907 #define Animate_Create(hwndP,id,dwStyle,hInstance) CreateWindow(ANIMATE_CLASS,NULL,dwStyle,0,0,0,0,hwndP,(HMENU)(id),hInstance,NULL)
03908 
03909 #define Animate_Open(hwnd,szName) (WINBOOL)SNDMSG(hwnd,ACM_OPEN,0,(LPARAM)(LPTSTR)(szName))
03910 #define Animate_OpenEx(hwnd,hInst,szName) (WINBOOL)SNDMSG(hwnd,ACM_OPEN,(WPARAM)(hInst),(LPARAM)(LPTSTR)(szName))
03911 #define Animate_Play(hwnd,from,to,rep) (WINBOOL)SNDMSG(hwnd,ACM_PLAY,(WPARAM)(rep),(LPARAM)MAKELONG(from,to))
03912 #define Animate_Stop(hwnd) (WINBOOL)SNDMSG(hwnd,ACM_STOP,0,0)
03913 #define Animate_Close(hwnd) Animate_Open(hwnd,NULL)
03914 #define Animate_Seek(hwnd,frame) Animate_Play(hwnd,frame,frame,1)
03915 #endif
03916 
03917 #ifndef NOMONTHCAL
03918 #define MONTHCAL_CLASSW L"SysMonthCal32"
03919 #define MONTHCAL_CLASSA "SysMonthCal32"
03920 
03921 #define MONTHCAL_CLASS __MINGW_NAME_AW(MONTHCAL_CLASS)
03922 
03923   typedef DWORD MONTHDAYSTATE,*LPMONTHDAYSTATE;
03924 
03925 #define MCM_FIRST 0x1000
03926 
03927 #define MCM_GETCURSEL (MCM_FIRST+1)
03928 #define MonthCal_GetCurSel(hmc,pst) (WINBOOL)SNDMSG(hmc,MCM_GETCURSEL,0,(LPARAM)(pst))
03929 #define MCM_SETCURSEL (MCM_FIRST+2)
03930 #define MonthCal_SetCurSel(hmc,pst) (WINBOOL)SNDMSG(hmc,MCM_SETCURSEL,0,(LPARAM)(pst))
03931 #define MCM_GETMAXSELCOUNT (MCM_FIRST+3)
03932 #define MonthCal_GetMaxSelCount(hmc) (DWORD)SNDMSG(hmc,MCM_GETMAXSELCOUNT,0,0L)
03933 #define MCM_SETMAXSELCOUNT (MCM_FIRST+4)
03934 #define MonthCal_SetMaxSelCount(hmc,n) (WINBOOL)SNDMSG(hmc,MCM_SETMAXSELCOUNT,(WPARAM)(n),0L)
03935 #define MCM_GETSELRANGE (MCM_FIRST+5)
03936 #define MonthCal_GetSelRange(hmc,rgst) SNDMSG(hmc,MCM_GETSELRANGE,0,(LPARAM)(rgst))
03937 #define MCM_SETSELRANGE (MCM_FIRST+6)
03938 #define MonthCal_SetSelRange(hmc,rgst) SNDMSG(hmc,MCM_SETSELRANGE,0,(LPARAM)(rgst))
03939 #define MCM_GETMONTHRANGE (MCM_FIRST+7)
03940 #define MonthCal_GetMonthRange(hmc,gmr,rgst) (DWORD)SNDMSG(hmc,MCM_GETMONTHRANGE,(WPARAM)(gmr),(LPARAM)(rgst))
03941 #define MCM_SETDAYSTATE (MCM_FIRST+8)
03942 #define MonthCal_SetDayState(hmc,cbds,rgds) SNDMSG(hmc,MCM_SETDAYSTATE,(WPARAM)(cbds),(LPARAM)(rgds))
03943 #define MCM_GETMINREQRECT (MCM_FIRST+9)
03944 #define MonthCal_GetMinReqRect(hmc,prc) SNDMSG(hmc,MCM_GETMINREQRECT,0,(LPARAM)(prc))
03945 #define MCM_SETCOLOR (MCM_FIRST+10)
03946 #define MonthCal_SetColor(hmc,iColor,clr) SNDMSG(hmc,MCM_SETCOLOR,iColor,clr)
03947 #define MCM_GETCOLOR (MCM_FIRST+11)
03948 #define MonthCal_GetColor(hmc,iColor) SNDMSG(hmc,MCM_GETCOLOR,iColor,0)
03949 
03950 #define MCSC_BACKGROUND 0
03951 #define MCSC_TEXT 1
03952 #define MCSC_TITLEBK 2
03953 #define MCSC_TITLETEXT 3
03954 #define MCSC_MONTHBK 4
03955 #define MCSC_TRAILINGTEXT 5
03956 
03957 #define MCM_SETTODAY (MCM_FIRST+12)
03958 #define MonthCal_SetToday(hmc,pst) SNDMSG(hmc,MCM_SETTODAY,0,(LPARAM)(pst))
03959 #define MCM_GETTODAY (MCM_FIRST+13)
03960 #define MonthCal_GetToday(hmc,pst) (WINBOOL)SNDMSG(hmc,MCM_GETTODAY,0,(LPARAM)(pst))
03961 #define MCM_HITTEST (MCM_FIRST+14)
03962 #define MonthCal_HitTest(hmc,pinfo) SNDMSG(hmc,MCM_HITTEST,0,(LPARAM)(PMCHITTESTINFO)(pinfo))
03963 
03964 typedef struct {
03965   UINT cbSize;
03966   POINT pt;
03967   UINT uHit;
03968   SYSTEMTIME st;
03969 #if(NTDDI_VERSION >= NTDDI_VISTA)
03970   RECT rc;
03971   int iOffset;
03972   int iRow;
03973   int iCol;
03974 #endif
03975 } MCHITTESTINFO, *PMCHITTESTINFO;
03976 
03977 #define MCHITTESTINFO_V1_SIZE CCSIZEOF_STRUCT(MCHITTESTINFO, st)
03978 
03979 #define MCHT_TITLE 0x10000
03980 #define MCHT_CALENDAR 0x20000
03981 #define MCHT_TODAYLINK 0x30000
03982 
03983 #define MCHT_NEXT 0x1000000
03984 #define MCHT_PREV 0x2000000
03985 
03986 #define MCHT_NOWHERE 0x0
03987 
03988 #define MCHT_TITLEBK (MCHT_TITLE)
03989 #define MCHT_TITLEMONTH (MCHT_TITLE | 0x1)
03990 #define MCHT_TITLEYEAR (MCHT_TITLE | 0x2)
03991 #define MCHT_TITLEBTNNEXT (MCHT_TITLE | MCHT_NEXT | 0x3)
03992 #define MCHT_TITLEBTNPREV (MCHT_TITLE | MCHT_PREV | 0x3)
03993 
03994 #define MCHT_CALENDARBK (MCHT_CALENDAR)
03995 #define MCHT_CALENDARDATE (MCHT_CALENDAR | 0x1)
03996 #define MCHT_CALENDARDATENEXT (MCHT_CALENDARDATE | MCHT_NEXT)
03997 #define MCHT_CALENDARDATEPREV (MCHT_CALENDARDATE | MCHT_PREV)
03998 #define MCHT_CALENDARDAY (MCHT_CALENDAR | 0x2)
03999 #define MCHT_CALENDARWEEKNUM (MCHT_CALENDAR | 0x3)
04000 
04001 #define MCM_SETFIRSTDAYOFWEEK (MCM_FIRST+15)
04002 #define MonthCal_SetFirstDayOfWeek(hmc,iDay) SNDMSG(hmc,MCM_SETFIRSTDAYOFWEEK,0,iDay)
04003 #define MCM_GETFIRSTDAYOFWEEK (MCM_FIRST+16)
04004 #define MonthCal_GetFirstDayOfWeek(hmc) (DWORD)SNDMSG(hmc,MCM_GETFIRSTDAYOFWEEK,0,0)
04005 #define MCM_GETRANGE (MCM_FIRST+17)
04006 #define MonthCal_GetRange(hmc,rgst) (DWORD)SNDMSG(hmc,MCM_GETRANGE,0,(LPARAM)(rgst))
04007 #define MCM_SETRANGE (MCM_FIRST+18)
04008 #define MonthCal_SetRange(hmc,gd,rgst) (WINBOOL)SNDMSG(hmc,MCM_SETRANGE,(WPARAM)(gd),(LPARAM)(rgst))
04009 #define MCM_GETMONTHDELTA (MCM_FIRST+19)
04010 #define MonthCal_GetMonthDelta(hmc) (int)SNDMSG(hmc,MCM_GETMONTHDELTA,0,0)
04011 #define MCM_SETMONTHDELTA (MCM_FIRST+20)
04012 #define MonthCal_SetMonthDelta(hmc,n) (int)SNDMSG(hmc,MCM_SETMONTHDELTA,n,0)
04013 #define MCM_GETMAXTODAYWIDTH (MCM_FIRST+21)
04014 #define MonthCal_GetMaxTodayWidth(hmc) (DWORD)SNDMSG(hmc,MCM_GETMAXTODAYWIDTH,0,0)
04015 #define MCM_GETCURRENTVIEW (MCM_FIRST + 22)
04016 #define MonthCal_GetCurrentView(hmc) (DWORD)SNDMSG(hmc, MCM_GETCURRENTVIEW, 0, 0)
04017 #define MCM_GETCALENDARCOUNT (MCM_FIRST + 23)
04018 #define MonthCal_GetCalendarCount(hmc) (DWORD)SNDMSG(hmc, MCM_GETCALENDARCOUNT, 0, 0)
04019 #define MCM_SETUNICODEFORMAT CCM_SETUNICODEFORMAT
04020 #define MonthCal_SetUnicodeFormat(hwnd,fUnicode) (WINBOOL)SNDMSG((hwnd),MCM_SETUNICODEFORMAT,(WPARAM)(fUnicode),0)
04021 #define MCM_GETUNICODEFORMAT CCM_GETUNICODEFORMAT
04022 #define MonthCal_GetUnicodeFormat(hwnd) (WINBOOL)SNDMSG((hwnd),MCM_GETUNICODEFORMAT,0,0)
04023 #define MCM_SIZERECTTOMIN (MCM_FIRST + 29)
04024 #define MonthCal_SizeRectToMin(hmc, prc) SNDMSG(hmc, MCM_SIZERECTTOMIN, 0, (LPARAM)(prc))
04025 #define MCM_SETCALENDARBORDER (MCM_FIRST + 30)
04026 #define MCM_GETCALENDARBORDER (MCM_FIRST + 31)
04027 
04028   typedef struct tagNMSELCHANGE {
04029     NMHDR nmhdr;
04030     SYSTEMTIME stSelStart;
04031     SYSTEMTIME stSelEnd;
04032   } NMSELCHANGE,*LPNMSELCHANGE;
04033 
04034 #define MCN_SELCHANGE (MCN_FIRST+1)
04035 
04036   typedef struct tagNMDAYSTATE {
04037     NMHDR nmhdr;
04038     SYSTEMTIME stStart;
04039     int cDayState;
04040 
04041     LPMONTHDAYSTATE prgDayState;
04042   } NMDAYSTATE,*LPNMDAYSTATE;
04043 
04044 #define MCN_GETDAYSTATE (MCN_FIRST+3)
04045 
04046   typedef NMSELCHANGE NMSELECT,*LPNMSELECT;
04047 
04048 #define MCN_SELECT (MCN_FIRST+4)
04049 
04050 #define MCS_DAYSTATE           0x0001
04051 #define MCS_MULTISELECT        0x0002
04052 #define MCS_WEEKNUMBERS        0x0004
04053 #define MCS_NOTODAYCIRCLE      0x0008
04054 #define MCS_NOTODAY            0x0010
04055 #define MCS_NOTRAILINGDATES    0x0040
04056 
04057 #define GMR_VISIBLE 0
04058 #define GMR_DAYSTATE 1
04059 #endif
04060 
04061 #ifndef NODATETIMEPICK
04062 #define DATETIMEPICK_CLASSW L"SysDateTimePick32"
04063 #define DATETIMEPICK_CLASSA "SysDateTimePick32"
04064 
04065 #define DATETIMEPICK_CLASS __MINGW_NAME_AW(DATETIMEPICK_CLASS)
04066 
04067 #define DTM_FIRST 0x1000
04068 
04069 #define DTM_GETSYSTEMTIME (DTM_FIRST+1)
04070 #define DateTime_GetSystemtime(hdp,pst) (DWORD)SNDMSG(hdp,DTM_GETSYSTEMTIME,0,(LPARAM)(pst))
04071 #define DTM_SETSYSTEMTIME (DTM_FIRST+2)
04072 #define DateTime_SetSystemtime(hdp,gd,pst) (WINBOOL)SNDMSG(hdp,DTM_SETSYSTEMTIME,(WPARAM)(gd),(LPARAM)(pst))
04073 #define DTM_GETRANGE (DTM_FIRST+3)
04074 #define DateTime_GetRange(hdp,rgst) (DWORD)SNDMSG(hdp,DTM_GETRANGE,0,(LPARAM)(rgst))
04075 #define DTM_SETRANGE (DTM_FIRST+4)
04076 #define DateTime_SetRange(hdp,gd,rgst) (WINBOOL)SNDMSG(hdp,DTM_SETRANGE,(WPARAM)(gd),(LPARAM)(rgst))
04077 #define DTM_SETFORMATA (DTM_FIRST+5)
04078 #define DTM_SETFORMATW (DTM_FIRST+50)
04079 
04080 #define DTM_SETFORMAT __MINGW_NAME_AW(DTM_SETFORMAT)
04081 
04082 #define DateTime_SetFormat(hdp,sz) (WINBOOL)SNDMSG(hdp,DTM_SETFORMAT,0,(LPARAM)(sz))
04083 
04084 #define DTM_SETMCCOLOR (DTM_FIRST+6)
04085 #define DateTime_SetMonthCalColor(hdp,iColor,clr) SNDMSG(hdp,DTM_SETMCCOLOR,iColor,clr)
04086 #define DTM_GETMCCOLOR (DTM_FIRST+7)
04087 #define DateTime_GetMonthCalColor(hdp,iColor) SNDMSG(hdp,DTM_GETMCCOLOR,iColor,0)
04088 #define DTM_GETMONTHCAL (DTM_FIRST+8)
04089 #define DateTime_GetMonthCal(hdp) (HWND)SNDMSG(hdp,DTM_GETMONTHCAL,0,0)
04090 #define DTM_SETMCFONT (DTM_FIRST+9)
04091 #define DateTime_SetMonthCalFont(hdp,hfont,fRedraw) SNDMSG(hdp,DTM_SETMCFONT,(WPARAM)(hfont),(LPARAM)(fRedraw))
04092 #define DTM_GETMCFONT (DTM_FIRST+10)
04093 #define DateTime_GetMonthCalFont(hdp) SNDMSG(hdp,DTM_GETMCFONT,0,0)
04094 
04095 #define DTS_UPDOWN 0x1
04096 #define DTS_SHOWNONE 0x2
04097 #define DTS_SHORTDATEFORMAT 0x0
04098 #define DTS_LONGDATEFORMAT 0x4
04099 #define DTS_SHORTDATECENTURYFORMAT 0xc
04100 #define DTS_TIMEFORMAT 0x9
04101 #define DTS_APPCANPARSE 0x10
04102 #define DTS_RIGHTALIGN 0x20
04103 
04104 #define DTN_DATETIMECHANGE (DTN_FIRST+1)
04105   typedef struct tagNMDATETIMECHANGE {
04106     NMHDR nmhdr;
04107     DWORD dwFlags;
04108     SYSTEMTIME st;
04109   } NMDATETIMECHANGE,*LPNMDATETIMECHANGE;
04110 
04111 #define DTN_USERSTRINGA (DTN_FIRST+2)
04112 #define DTN_USERSTRINGW (DTN_FIRST+15)
04113   typedef struct tagNMDATETIMESTRINGA {
04114     NMHDR nmhdr;
04115     LPCSTR pszUserString;
04116     SYSTEMTIME st;
04117     DWORD dwFlags;
04118   } NMDATETIMESTRINGA,*LPNMDATETIMESTRINGA;
04119 
04120   typedef struct tagNMDATETIMESTRINGW {
04121     NMHDR nmhdr;
04122     LPCWSTR pszUserString;
04123     SYSTEMTIME st;
04124     DWORD dwFlags;
04125   } NMDATETIMESTRINGW,*LPNMDATETIMESTRINGW;
04126 
04127 #define DTN_USERSTRING __MINGW_NAME_AW(DTN_USERSTRING)
04128 #define NMDATETIMESTRING __MINGW_NAME_AW(NMDATETIMESTRING)
04129 #define LPNMDATETIMESTRING __MINGW_NAME_AW(LPNMDATETIMESTRING)
04130 
04131 #define DTN_WMKEYDOWNA (DTN_FIRST+3)
04132 #define DTN_WMKEYDOWNW (DTN_FIRST+16)
04133   typedef struct tagNMDATETIMEWMKEYDOWNA {
04134     NMHDR nmhdr;
04135     int nVirtKey;
04136     LPCSTR pszFormat;
04137     SYSTEMTIME st;
04138   } NMDATETIMEWMKEYDOWNA,*LPNMDATETIMEWMKEYDOWNA;
04139 
04140   typedef struct tagNMDATETIMEWMKEYDOWNW {
04141     NMHDR nmhdr;
04142     int nVirtKey;
04143     LPCWSTR pszFormat;
04144     SYSTEMTIME st;
04145   } NMDATETIMEWMKEYDOWNW,*LPNMDATETIMEWMKEYDOWNW;
04146 
04147 #define DTN_WMKEYDOWN __MINGW_NAME_AW(DTN_WMKEYDOWN)
04148 #define NMDATETIMEWMKEYDOWN __MINGW_NAME_AW(NMDATETIMEWMKEYDOWN)
04149 #define LPNMDATETIMEWMKEYDOWN __MINGW_NAME_AW(LPNMDATETIMEWMKEYDOWN)
04150 
04151 #define DTN_FORMATA (DTN_FIRST+4)
04152 #define DTN_FORMATW (DTN_FIRST+17)
04153   typedef struct tagNMDATETIMEFORMATA {
04154     NMHDR nmhdr;
04155     LPCSTR pszFormat;
04156     SYSTEMTIME st;
04157     LPCSTR pszDisplay;
04158     CHAR szDisplay[64];
04159   } NMDATETIMEFORMATA,*LPNMDATETIMEFORMATA;
04160 
04161   typedef struct tagNMDATETIMEFORMATW {
04162     NMHDR nmhdr;
04163     LPCWSTR pszFormat;
04164     SYSTEMTIME st;
04165     LPCWSTR pszDisplay;
04166     WCHAR szDisplay[64];
04167   } NMDATETIMEFORMATW,*LPNMDATETIMEFORMATW;
04168 
04169 #define DTN_FORMAT __MINGW_NAME_AW(DTN_FORMAT)
04170 #define NMDATETIMEFORMAT __MINGW_NAME_AW(NMDATETIMEFORMAT)
04171 #define LPNMDATETIMEFORMAT __MINGW_NAME_AW(LPNMDATETIMEFORMAT)
04172 
04173 #define DTN_FORMATQUERYA (DTN_FIRST+5)
04174 #define DTN_FORMATQUERYW (DTN_FIRST+18)
04175   typedef struct tagNMDATETIMEFORMATQUERYA {
04176     NMHDR nmhdr;
04177     LPCSTR pszFormat;
04178     SIZE szMax;
04179   } NMDATETIMEFORMATQUERYA,*LPNMDATETIMEFORMATQUERYA;
04180 
04181   typedef struct tagNMDATETIMEFORMATQUERYW {
04182     NMHDR nmhdr;
04183     LPCWSTR pszFormat;
04184     SIZE szMax;
04185   } NMDATETIMEFORMATQUERYW,*LPNMDATETIMEFORMATQUERYW;
04186 
04187 #define DTN_FORMATQUERY __MINGW_NAME_AW(DTN_FORMATQUERY)
04188 #define NMDATETIMEFORMATQUERY __MINGW_NAME_AW(NMDATETIMEFORMATQUERY)
04189 #define LPNMDATETIMEFORMATQUERY __MINGW_NAME_AW(LPNMDATETIMEFORMATQUERY)
04190 
04191 #define DTN_DROPDOWN (DTN_FIRST+6)
04192 #define DTN_CLOSEUP (DTN_FIRST+7)
04193 
04194 #define GDTR_MIN 0x1
04195 #define GDTR_MAX 0x2
04196 
04197 #define GDT_ERROR -1
04198 #define GDT_VALID 0
04199 #define GDT_NONE 1
04200 
04201 #ifndef NOIPADDRESS
04202 #define IPM_CLEARADDRESS (WM_USER+100)
04203 #define IPM_SETADDRESS (WM_USER+101)
04204 #define IPM_GETADDRESS (WM_USER+102)
04205 #define IPM_SETRANGE (WM_USER+103)
04206 #define IPM_SETFOCUS (WM_USER+104)
04207 #define IPM_ISBLANK (WM_USER+105)
04208 
04209 #define WC_IPADDRESSW L"SysIPAddress32"
04210 #define WC_IPADDRESSA "SysIPAddress32"
04211 
04212 #define WC_IPADDRESS __MINGW_NAME_AW(WC_IPADDRESS)
04213 
04214 #define IPN_FIELDCHANGED (IPN_FIRST - 0)
04215   typedef struct tagNMIPADDRESS {
04216     NMHDR hdr;
04217     int iField;
04218     int iValue;
04219   } NMIPADDRESS,*LPNMIPADDRESS;
04220 
04221 #define MAKEIPRANGE(low,high) ((LPARAM)(WORD)(((BYTE)(high) << 8)+(BYTE)(low)))
04222 
04223 #define MAKEIPADDRESS(b1,b2,b3,b4) ((LPARAM)(((DWORD)(b1)<<24)+((DWORD)(b2)<<16)+((DWORD)(b3)<<8)+((DWORD)(b4))))
04224 
04225 #define FIRST_IPADDRESS(x) ((x>>24) & 0xff)
04226 #define SECOND_IPADDRESS(x) ((x>>16) & 0xff)
04227 #define THIRD_IPADDRESS(x) ((x>>8) & 0xff)
04228 #define FOURTH_IPADDRESS(x) (x & 0xff)
04229 #endif
04230 
04231 #ifndef NOPAGESCROLLER
04232 #define WC_PAGESCROLLERW L"SysPager"
04233 #define WC_PAGESCROLLERA "SysPager"
04234 
04235 #define WC_PAGESCROLLER __MINGW_NAME_AW(WC_PAGESCROLLER)
04236 
04237 #define PGS_VERT 0x0
04238 #define PGS_HORZ 0x1
04239 #define PGS_AUTOSCROLL 0x2
04240 #define PGS_DRAGNDROP 0x4
04241 
04242 #define PGF_INVISIBLE 0
04243 #define PGF_NORMAL 1
04244 #define PGF_GRAYED 2
04245 #define PGF_DEPRESSED 4
04246 #define PGF_HOT 8
04247 
04248 #define PGB_TOPORLEFT 0
04249 #define PGB_BOTTOMORRIGHT 1
04250 
04251 #define PGM_SETCHILD (PGM_FIRST+1)
04252 #define Pager_SetChild(hwnd,hwndChild) (void)SNDMSG((hwnd),PGM_SETCHILD,0,(LPARAM)(hwndChild))
04253 
04254 #define PGM_RECALCSIZE (PGM_FIRST+2)
04255 #define Pager_RecalcSize(hwnd) (void)SNDMSG((hwnd),PGM_RECALCSIZE,0,0)
04256 
04257 #define PGM_FORWARDMOUSE (PGM_FIRST+3)
04258 #define Pager_ForwardMouse(hwnd,bForward) (void)SNDMSG((hwnd),PGM_FORWARDMOUSE,(WPARAM)(bForward),0)
04259 
04260 #define PGM_SETBKCOLOR (PGM_FIRST+4)
04261 #define Pager_SetBkColor(hwnd,clr) (COLORREF)SNDMSG((hwnd),PGM_SETBKCOLOR,0,(LPARAM)(clr))
04262 
04263 #define PGM_GETBKCOLOR (PGM_FIRST+5)
04264 #define Pager_GetBkColor(hwnd) (COLORREF)SNDMSG((hwnd),PGM_GETBKCOLOR,0,0)
04265 
04266 #define PGM_SETBORDER (PGM_FIRST+6)
04267 #define Pager_SetBorder(hwnd,iBorder) (int)SNDMSG((hwnd),PGM_SETBORDER,0,(LPARAM)(iBorder))
04268 
04269 #define PGM_GETBORDER (PGM_FIRST+7)
04270 #define Pager_GetBorder(hwnd) (int)SNDMSG((hwnd),PGM_GETBORDER,0,0)
04271 
04272 #define PGM_SETPOS (PGM_FIRST+8)
04273 #define Pager_SetPos(hwnd,iPos) (int)SNDMSG((hwnd),PGM_SETPOS,0,(LPARAM)(iPos))
04274 
04275 #define PGM_GETPOS (PGM_FIRST+9)
04276 #define Pager_GetPos(hwnd) (int)SNDMSG((hwnd),PGM_GETPOS,0,0)
04277 
04278 #define PGM_SETBUTTONSIZE (PGM_FIRST+10)
04279 #define Pager_SetButtonSize(hwnd,iSize) (int)SNDMSG((hwnd),PGM_SETBUTTONSIZE,0,(LPARAM)(iSize))
04280 
04281 #define PGM_GETBUTTONSIZE (PGM_FIRST+11)
04282 #define Pager_GetButtonSize(hwnd) (int)SNDMSG((hwnd),PGM_GETBUTTONSIZE,0,0)
04283 
04284 #define PGM_GETBUTTONSTATE (PGM_FIRST+12)
04285 #define Pager_GetButtonState(hwnd,iButton) (DWORD)SNDMSG((hwnd),PGM_GETBUTTONSTATE,0,(LPARAM)(iButton))
04286 
04287 #define PGM_GETDROPTARGET CCM_GETDROPTARGET
04288 #define Pager_GetDropTarget(hwnd,ppdt) (void)SNDMSG((hwnd),PGM_GETDROPTARGET,0,(LPARAM)(ppdt))
04289 
04290 #define PGN_SCROLL (PGN_FIRST-1)
04291 
04292 #define PGF_SCROLLUP 1
04293 #define PGF_SCROLLDOWN 2
04294 #define PGF_SCROLLLEFT 4
04295 #define PGF_SCROLLRIGHT 8
04296 
04297 #define PGK_SHIFT 1
04298 #define PGK_CONTROL 2
04299 #define PGK_MENU 4
04300 
04301 #include <pshpack1.h>
04302 
04303   typedef struct {
04304     NMHDR hdr;
04305     WORD fwKeys;
04306     RECT rcParent;
04307     int iDir;
04308     int iXpos;
04309     int iYpos;
04310     int iScroll;
04311   }NMPGSCROLL,*LPNMPGSCROLL;
04312 
04313 #include <poppack.h>
04314 
04315 #define PGN_CALCSIZE (PGN_FIRST-2)
04316 
04317 #define PGF_CALCWIDTH 1
04318 #define PGF_CALCHEIGHT 2
04319 
04320   typedef struct {
04321     NMHDR hdr;
04322     DWORD dwFlag;
04323     int iWidth;
04324     int iHeight;
04325   }NMPGCALCSIZE,*LPNMPGCALCSIZE;
04326 
04327 #define PGN_HOTITEMCHANGE (PGN_FIRST-3)
04328 
04329   typedef struct tagNMPGHOTITEM
04330   {
04331     NMHDR hdr;
04332     int idOld;
04333     int idNew;
04334     DWORD dwFlags;
04335   } NMPGHOTITEM,*LPNMPGHOTITEM;
04336 #endif
04337 
04338 #ifndef NONATIVEFONTCTL
04339 
04340 #define WC_NATIVEFONTCTLW L"NativeFontCtl"
04341 #define WC_NATIVEFONTCTLA "NativeFontCtl"
04342 
04343 #define WC_NATIVEFONTCTL __MINGW_NAME_AW(WC_NATIVEFONTCTL)
04344 
04345 #define NFS_EDIT 0x1
04346 #define NFS_STATIC 0x2
04347 #define NFS_LISTCOMBO 0x4
04348 #define NFS_BUTTON 0x8
04349 #define NFS_ALL 0x10
04350 #define NFS_USEFONTASSOC 0x20
04351 #endif
04352 
04353 #ifndef NOBUTTON
04354 #define WC_BUTTONA "Button"
04355 #define WC_BUTTONW L"Button"
04356 
04357 #define WC_BUTTON __MINGW_NAME_AW(WC_BUTTON)
04358 
04359 #define BUTTON_IMAGELIST_ALIGN_LEFT 0
04360 #define BUTTON_IMAGELIST_ALIGN_RIGHT 1
04361 #define BUTTON_IMAGELIST_ALIGN_TOP 2
04362 #define BUTTON_IMAGELIST_ALIGN_BOTTOM 3
04363 #define BUTTON_IMAGELIST_ALIGN_CENTER 4
04364 
04365   typedef struct {
04366     HIMAGELIST himl;
04367     RECT margin;
04368     UINT uAlign;
04369   } BUTTON_IMAGELIST,*PBUTTON_IMAGELIST;
04370 
04371 #define BCM_GETIDEALSIZE (BCM_FIRST+0x1)
04372 #define Button_GetIdealSize(hwnd,psize) (WINBOOL)SNDMSG((hwnd),BCM_GETIDEALSIZE,0,(LPARAM)(psize))
04373 
04374 #define BCM_SETIMAGELIST (BCM_FIRST+0x2)
04375 #define Button_SetImageList(hwnd,pbuttonImagelist) (WINBOOL)SNDMSG((hwnd),BCM_SETIMAGELIST,0,(LPARAM)(pbuttonImagelist))
04376 
04377 #define BCM_GETIMAGELIST (BCM_FIRST+0x3)
04378 #define Button_GetImageList(hwnd,pbuttonImagelist) (WINBOOL)SNDMSG((hwnd),BCM_GETIMAGELIST,0,(LPARAM)(pbuttonImagelist))
04379 
04380 #define BCM_SETTEXTMARGIN (BCM_FIRST+0x4)
04381 #define Button_SetTextMargin(hwnd,pmargin) (WINBOOL)SNDMSG((hwnd),BCM_SETTEXTMARGIN,0,(LPARAM)(pmargin))
04382 #define BCM_GETTEXTMARGIN (BCM_FIRST+0x5)
04383 #define Button_GetTextMargin(hwnd,pmargin) (WINBOOL)SNDMSG((hwnd),BCM_GETTEXTMARGIN,0,(LPARAM)(pmargin))
04384 
04385   typedef struct tagNMBCHOTITEM {
04386     NMHDR hdr;
04387     DWORD dwFlags;
04388   } NMBCHOTITEM,*LPNMBCHOTITEM;
04389 
04390 #define BCN_HOTITEMCHANGE (BCN_FIRST+0x1)
04391 
04392 #define BST_HOT 0x200
04393 
04394 #endif
04395 
04396 #ifndef NOSTATIC
04397 #define WC_STATICA "Static"
04398 #define WC_STATICW L"Static"
04399 
04400 #define WC_STATIC __MINGW_NAME_AW(WC_STATIC)
04401 
04402 #ifndef NOEDIT
04403 #define WC_EDITA "Edit"
04404 #define WC_EDITW L"Edit"
04405 
04406 #define WC_EDIT __MINGW_NAME_AW(WC_EDIT)
04407 
04408 #define EM_SETCUEBANNER (ECM_FIRST+1)
04409 #define Edit_SetCueBannerText(hwnd,lpcwText) (WINBOOL)SNDMSG((hwnd),EM_SETCUEBANNER,0,(LPARAM)(lpcwText))
04410 #define EM_GETCUEBANNER (ECM_FIRST+2)
04411 #define Edit_GetCueBannerText(hwnd,lpwText,cchText) (WINBOOL)SNDMSG((hwnd),EM_GETCUEBANNER,(WPARAM)(lpwText),(LPARAM)(cchText))
04412 
04413   typedef struct _tagEDITBALLOONTIP {
04414     DWORD cbStruct;
04415     LPCWSTR pszTitle;
04416     LPCWSTR pszText;
04417     INT ttiIcon;
04418   } EDITBALLOONTIP,*PEDITBALLOONTIP;
04419 #define EM_SHOWBALLOONTIP (ECM_FIRST+3)
04420 #define Edit_ShowBalloonTip(hwnd,peditballoontip) (WINBOOL)SNDMSG((hwnd),EM_SHOWBALLOONTIP,0,(LPARAM)(peditballoontip))
04421 #define EM_HIDEBALLOONTIP (ECM_FIRST+4)
04422 #define Edit_HideBalloonTip(hwnd) (WINBOOL)SNDMSG((hwnd),EM_HIDEBALLOONTIP,0,0)
04423 #endif
04424 
04425 #ifndef NOLISTBOX
04426 #define WC_LISTBOXA "ListBox"
04427 #define WC_LISTBOXW L"ListBox"
04428 
04429 #define WC_LISTBOX __MINGW_NAME_AW(WC_LISTBOX)
04430 
04431 #endif
04432 
04433 #ifndef NOCOMBOBOX
04434 #define WC_COMBOBOXA "ComboBox"
04435 #define WC_COMBOBOXW L"ComboBox"
04436 
04437 #define WC_COMBOBOX __MINGW_NAME_AW(WC_COMBOBOX)
04438 
04439 #endif
04440 
04441 #define CB_SETMINVISIBLE (CBM_FIRST+1)
04442 #define CB_GETMINVISIBLE (CBM_FIRST+2)
04443 
04444 #define ComboBox_SetMinVisible(hwnd,iMinVisible) (WINBOOL)SNDMSG((hwnd),CB_SETMINVISIBLE,(WPARAM)iMinVisible,0)
04445 #define ComboBox_GetMinVisible(hwnd) (int)SNDMSG((hwnd),CB_GETMINVISIBLE,0,0)
04446 
04447 #ifndef NOSCROLLBAR
04448 #define WC_SCROLLBARA "ScrollBar"
04449 #define WC_SCROLLBARW L"ScrollBar"
04450 
04451 #define WC_SCROLLBAR __MINGW_NAME_AW(WC_SCROLLBAR)
04452 
04453 #endif
04454 
04455 #define INVALID_LINK_INDEX (-1)
04456 #define MAX_LINKID_TEXT 48
04457 #define L_MAX_URL_LENGTH (2048+32+sizeof("://"))
04458 
04459 #define WC_LINK L"SysLink"
04460 
04461 #define LWS_TRANSPARENT 0x1
04462 #define LWS_IGNORERETURN 0x2
04463 
04464 #define LIF_ITEMINDEX 0x1
04465 #define LIF_STATE 0x2
04466 #define LIF_ITEMID 0x4
04467 #define LIF_URL 0x8
04468 
04469 #define LIS_FOCUSED 0x1
04470 #define LIS_ENABLED 0x2
04471 #define LIS_VISITED 0x4
04472 
04473   typedef struct tagLITEM {
04474     UINT mask;
04475     int iLink;
04476     UINT state;
04477     UINT stateMask;
04478     WCHAR szID[MAX_LINKID_TEXT];
04479     WCHAR szUrl[L_MAX_URL_LENGTH];
04480   } LITEM,*PLITEM;
04481 
04482   typedef struct tagLHITTESTINFO {
04483     POINT pt;
04484     LITEM item;
04485   } LHITTESTINFO,*PLHITTESTINFO;
04486 
04487   typedef struct tagNMLINK {
04488     NMHDR hdr;
04489     LITEM item;
04490   } NMLINK,*PNMLINK;
04491 
04492 #define LM_HITTEST (WM_USER+0x300)
04493 #define LM_GETIDEALHEIGHT (WM_USER+0x301)
04494 #define LM_SETITEM (WM_USER+0x302)
04495 #define LM_GETITEM (WM_USER+0x303)
04496 
04497 #ifndef NOMUI
04498   void WINAPI InitMUILanguage(LANGID uiLang);
04499   LANGID WINAPI GetMUILanguage(void);
04500 #endif
04501 #endif
04502 
04503 #define DA_LAST (0x7fffffff)
04504 #define DPA_APPEND (0x7fffffff)
04505 #define DPA_ERR (-1)
04506 
04507 #define DSA_APPEND (0x7fffffff)
04508 #define DSA_ERR (-1)
04509 
04510   typedef struct _DSA *HDSA;
04511 
04512   typedef int (CALLBACK *PFNDPAENUMCALLBACK)(void *p,void *pData);
04513   typedef int (CALLBACK *PFNDSAENUMCALLBACK)(void *p,void *pData);
04514 
04515   WINCOMMCTRLAPI HDSA WINAPI DSA_Create(int cbItem,int cItemGrow);
04516   WINCOMMCTRLAPI WINBOOL WINAPI DSA_Destroy(HDSA hdsa);
04517   WINCOMMCTRLAPI void WINAPI DSA_DestroyCallback(HDSA hdsa,PFNDSAENUMCALLBACK pfnCB,void *pData);
04518   WINCOMMCTRLAPI PVOID WINAPI DSA_GetItemPtr(HDSA hdsa,int i);
04519   WINCOMMCTRLAPI int WINAPI DSA_InsertItem(HDSA hdsa,int i,void *pitem);
04520 
04521   typedef struct _DPA *HDPA;
04522 
04523   WINCOMMCTRLAPI HDPA WINAPI DPA_Create(int cItemGrow);
04524   WINCOMMCTRLAPI WINBOOL WINAPI DPA_Destroy(HDPA hdpa);
04525   WINCOMMCTRLAPI PVOID WINAPI DPA_DeletePtr(HDPA hdpa,int i);
04526   WINCOMMCTRLAPI WINBOOL WINAPI DPA_DeleteAllPtrs(HDPA hdpa);
04527   WINCOMMCTRLAPI void WINAPI DPA_EnumCallback(HDPA hdpa,PFNDPAENUMCALLBACK pfnCB,void *pData);
04528   WINCOMMCTRLAPI void WINAPI DPA_DestroyCallback(HDPA hdpa,PFNDPAENUMCALLBACK pfnCB,void *pData);
04529   WINCOMMCTRLAPI WINBOOL WINAPI DPA_SetPtr(HDPA hdpa,int i,void *p);
04530   WINCOMMCTRLAPI int WINAPI DPA_InsertPtr(HDPA hdpa,int i,void *p);
04531   WINCOMMCTRLAPI PVOID WINAPI DPA_GetPtr(HDPA hdpa,INT_PTR i);
04532 
04533   typedef int (CALLBACK *PFNDPACOMPARE)(void *p1,void *p2,LPARAM lParam);
04534 
04535   WINCOMMCTRLAPI WINBOOL WINAPI DPA_Sort(HDPA hdpa,PFNDPACOMPARE pfnCompare,LPARAM lParam);
04536 
04537 #define DPAS_SORTED 0x1
04538 #define DPAS_INSERTBEFORE 0x2
04539 #define DPAS_INSERTAFTER 0x4
04540 
04541   WINCOMMCTRLAPI int WINAPI DPA_Search(HDPA hdpa,void *pFind,int iStart,PFNDPACOMPARE pfnCompare,LPARAM lParam,UINT options);
04542   WINCOMMCTRLAPI WINBOOL WINAPI Str_SetPtrW(LPWSTR *ppsz,LPCWSTR psz);
04543 
04544 typedef struct _DPASTREAMINFO {
04545   int iPos;
04546   void *pvItem;
04547 } DPASTREAMINFO;
04548 
04549 struct IStream;
04550 typedef HRESULT (CALLBACK *PFNDPASTREAM)(DPASTREAMINFO*, struct IStream*, void*);
04551 typedef void* (CALLBACK *PFNDPAMERGE)(UINT, void*, void*, LPARAM);
04552 typedef const void* (CALLBACK *PFNDPAMERGECONST)(UINT, const void*, const void*, LPARAM);
04553 
04554   WINCOMMCTRLAPI HRESULT WINAPI DPA_LoadStream(HDPA * phdpa, PFNDPASTREAM pfn, struct IStream * pstream, void *pvInstData);
04555   WINCOMMCTRLAPI HRESULT WINAPI DPA_SaveStream(HDPA hdpa, PFNDPASTREAM pfn, struct IStream * pstream, void *pvInstData);
04556   WINCOMMCTRLAPI WINBOOL WINAPI DPA_Grow(HDPA pdpa, int cp);
04557   WINCOMMCTRLAPI int WINAPI DPA_InsertPtr(HDPA hdpa, int i, void *p);
04558   WINCOMMCTRLAPI PVOID WINAPI DPA_GetPtr(HDPA hdpa, INT_PTR i);
04559   WINCOMMCTRLAPI WINBOOL WINAPI DPA_SetPtr(HDPA hdpa, int i, void *p);
04560   WINCOMMCTRLAPI int WINAPI DPA_GetPtrIndex(HDPA hdpa, const void *p);
04561 
04562 #define DPA_GetPtrCount(hdpa) (*(int *)(hdpa))
04563 #define DPA_SetPtrCount(hdpa, cItems) (*(int *)(hdpa) = (cItems))
04564 #define DPA_GetPtrPtr(hdpa) (*((void * **)((BYTE *)(hdpa) + sizeof(void *))))
04565 #define DPA_AppendPtr(hdpa, pitem) DPA_InsertPtr(hdpa, DA_LAST, pitem)
04566 #define DPA_FastDeleteLastPtr(hdpa) (--*(int *)(hdpa))
04567 #define DPA_FastGetPtr(hdpa, i) (DPA_GetPtrPtr(hdpa)[i])
04568 
04569 #define DPAM_SORTED    1
04570 #define DPAM_NORMAL    2
04571 #define DPAM_UNION     4
04572 #define DPAM_INTERSECT 8
04573 
04574 #define DPAMM_MERGE    1
04575 #define DPAMM_DELETE   2
04576 #define DPAMM_INSERT   3
04577 
04578 #ifndef NOTRACKMOUSEEVENT
04579 
04580 #ifndef WM_MOUSEHOVER
04581 #define WM_MOUSEHOVER 0x2a1
04582 #define WM_MOUSELEAVE 0x2a3
04583 #endif
04584 
04585 #ifndef TME_HOVER
04586 
04587 #define TME_HOVER 0x1
04588 #define TME_LEAVE 0x2
04589 #define TME_NONCLIENT 0x10
04590 #define TME_QUERY 0x40000000
04591 #define TME_CANCEL 0x80000000
04592 
04593 #define HOVER_DEFAULT 0xffffffff
04594 
04595   typedef struct tagTRACKMOUSEEVENT {
04596     DWORD cbSize;
04597     DWORD dwFlags;
04598     HWND hwndTrack;
04599     DWORD dwHoverTime;
04600   } TRACKMOUSEEVENT,*LPTRACKMOUSEEVENT;
04601 #endif
04602 
04603   WINCOMMCTRLAPI WINBOOL WINAPI _TrackMouseEvent(LPTRACKMOUSEEVENT lpEventTrack);
04604 #endif
04605 
04606 #ifndef NOFLATSBAPIS
04607 
04608 #define WSB_PROP_CYVSCROLL 0x1L
04609 #define WSB_PROP_CXHSCROLL 0x2L
04610 #define WSB_PROP_CYHSCROLL 0x4L
04611 #define WSB_PROP_CXVSCROLL 0x8L
04612 #define WSB_PROP_CXHTHUMB 0x10L
04613 #define WSB_PROP_CYVTHUMB 0x20L
04614 #define WSB_PROP_VBKGCOLOR 0x40L
04615 #define WSB_PROP_HBKGCOLOR 0x80L
04616 #define WSB_PROP_VSTYLE 0x100L
04617 #define WSB_PROP_HSTYLE 0x200L
04618 #define WSB_PROP_WINSTYLE 0x400L
04619 #define WSB_PROP_PALETTE 0x800L
04620 #define WSB_PROP_MASK 0xfffL
04621 
04622 #define FSB_FLAT_MODE 2
04623 #define FSB_ENCARTA_MODE 1
04624 #define FSB_REGULAR_MODE 0
04625 
04626   WINCOMMCTRLAPI WINBOOL WINAPI FlatSB_EnableScrollBar(HWND,int,UINT);
04627   WINCOMMCTRLAPI WINBOOL WINAPI FlatSB_ShowScrollBar(HWND,int code,WINBOOL);
04628   WINCOMMCTRLAPI WINBOOL WINAPI FlatSB_GetScrollRange(HWND,int code,LPINT,LPINT);
04629   WINCOMMCTRLAPI WINBOOL WINAPI FlatSB_GetScrollInfo(HWND,int code,LPSCROLLINFO);
04630   WINCOMMCTRLAPI int WINAPI FlatSB_GetScrollPos(HWND,int code);
04631   WINCOMMCTRLAPI WINBOOL WINAPI FlatSB_GetScrollProp(HWND,int propIndex,LPINT);
04632 #ifdef _WIN64
04633   WINCOMMCTRLAPI WINBOOL WINAPI FlatSB_GetScrollPropPtr(HWND,int propIndex,PINT_PTR);
04634 #else
04635 #define FlatSB_GetScrollPropPtr FlatSB_GetScrollProp
04636 #endif
04637 
04638   WINCOMMCTRLAPI int WINAPI FlatSB_SetScrollPos(HWND,int code,int pos,WINBOOL fRedraw);
04639   WINCOMMCTRLAPI int WINAPI FlatSB_SetScrollInfo(HWND,int code,LPSCROLLINFO,WINBOOL fRedraw);
04640   WINCOMMCTRLAPI int WINAPI FlatSB_SetScrollRange(HWND,int code,int min,int max,WINBOOL fRedraw);
04641   WINCOMMCTRLAPI WINBOOL WINAPI FlatSB_SetScrollProp(HWND,UINT index,INT_PTR newValue,WINBOOL);
04642 #define FlatSB_SetScrollPropPtr FlatSB_SetScrollProp
04643   WINCOMMCTRLAPI WINBOOL WINAPI InitializeFlatSB(HWND);
04644   WINCOMMCTRLAPI HRESULT WINAPI UninitializeFlatSB(HWND);
04645 #endif
04646 #endif
04647 
04648   typedef LRESULT (CALLBACK *SUBCLASSPROC)(HWND hWnd,UINT uMsg,WPARAM wParam,LPARAM lParam,UINT_PTR uIdSubclass,DWORD_PTR dwRefData);
04649 
04650   WINBOOL WINAPI SetWindowSubclass(HWND hWnd,SUBCLASSPROC pfnSubclass,UINT_PTR uIdSubclass,DWORD_PTR dwRefData);
04651   WINBOOL WINAPI GetWindowSubclass(HWND hWnd,SUBCLASSPROC pfnSubclass,UINT_PTR uIdSubclass,DWORD_PTR *pdwRefData);
04652   WINBOOL WINAPI RemoveWindowSubclass(HWND hWnd,SUBCLASSPROC pfnSubclass,UINT_PTR uIdSubclass);
04653   LRESULT WINAPI DefSubclassProc(HWND hWnd,UINT uMsg,WPARAM wParam,LPARAM lParam);
04654   int WINAPI DrawShadowText(HDC hdc,LPCWSTR pszText,UINT cch,RECT *prc,DWORD dwFlags,COLORREF crText,COLORREF crShadow,int ixOffset,int iyOffset);
04655 
04656 #ifndef NOTASKDIALOG
04657 
04658 #include <pshpack1.h>
04659 
04660 enum _TASKDIALOG_FLAGS
04661 {
04662     TDF_ENABLE_HYPERLINKS           = 0x0001,
04663     TDF_USE_HICON_MAIN              = 0x0002,
04664     TDF_USE_HICON_FOOTER            = 0x0004,
04665     TDF_ALLOW_DIALOG_CANCELLATION   = 0x0008,
04666     TDF_USE_COMMAND_LINKS           = 0x0010,
04667     TDF_USE_COMMAND_LINKS_NO_ICON   = 0x0020,
04668     TDF_EXPAND_FOOTER_AREA          = 0x0040,
04669     TDF_EXPANDED_BY_DEFAULT         = 0x0080,
04670     TDF_VERIFICATION_FLAG_CHECKED   = 0x0100,
04671     TDF_SHOW_PROGRESS_BAR           = 0x0200,
04672     TDF_SHOW_MARQUEE_PROGRESS_BAR   = 0x0400,
04673     TDF_CALLBACK_TIMER              = 0x0800,
04674     TDF_POSITION_RELATIVE_TO_WINDOW = 0x1000,
04675     TDF_RTL_LAYOUT                  = 0x2000,
04676     TDF_NO_DEFAULT_RADIO_BUTTON     = 0x4000,
04677     TDF_CAN_BE_MINIMIZED            = 0x8000
04678 };
04679 typedef int TASKDIALOG_FLAGS;
04680 
04681 enum _TASKDIALOG_COMMON_BUTTON_FLAGS
04682 {
04683     TDCBF_OK_BUTTON     = 0x0001,
04684     TDCBF_YES_BUTTON    = 0x0002,
04685     TDCBF_NO_BUTTON     = 0x0004,
04686     TDCBF_CANCEL_BUTTON = 0x0008,
04687     TDCBF_RETRY_BUTTON  = 0x0010,
04688     TDCBF_CLOSE_BUTTON  = 0x0020
04689 };
04690 typedef int TASKDIALOG_COMMON_BUTTON_FLAGS;
04691 
04692 typedef struct _TASKDIALOG_BUTTON
04693 {
04694     int     nButtonID;
04695     PCWSTR  pszButtonText;
04696 } TASKDIALOG_BUTTON;
04697 
04698 typedef HRESULT (CALLBACK *PFTASKDIALOGCALLBACK)(HWND, UINT, WPARAM, LPARAM, LONG_PTR);
04699 
04700 typedef struct _TASKDIALOGCONFIG
04701 {
04702     UINT        cbSize;
04703     HWND        hwndParent;
04704     HINSTANCE   hInstance;
04705     TASKDIALOG_FLAGS    dwFlags;
04706     TASKDIALOG_COMMON_BUTTON_FLAGS  dwCommonButtons;
04707     PCWSTR      pszWindowTitle;
04708     union
04709     {
04710         HICON   hMainIcon;
04711         PCWSTR  pszMainIcon;
04712     } DUMMYUNIONNAME;
04713     PCWSTR      pszMainInstruction;
04714     PCWSTR      pszContent;
04715     UINT        cButtons;
04716     const TASKDIALOG_BUTTON *pButtons;
04717     int         nDefaultButton;
04718     UINT        cRadioButtons;
04719     const TASKDIALOG_BUTTON *pRadioButtons;
04720     int         nDefaultRadioButton;
04721     PCWSTR      pszVerificationText;
04722     PCWSTR      pszExpandedInformation;
04723     PCWSTR      pszExpandedControlText;
04724     PCWSTR      pszCollapsedControlText;
04725     union
04726     {
04727         HICON   hFooterIcon;
04728         PCWSTR  pszFooterIcon;
04729     } DUMMYUNIONNAME2;
04730     PCWSTR      pszFooter;
04731     PFTASKDIALOGCALLBACK pfCallback;
04732     LONG_PTR    lpCallbackData;
04733     UINT        cxWidth;
04734 } TASKDIALOGCONFIG;
04735 
04736 HRESULT WINAPI TaskDialogIndirect(const TASKDIALOGCONFIG *, int *, int *, BOOL *);
04737 
04738 #include <poppack.h>
04739 
04740 #endif /* NOTASKDIALOG */
04741 
04742 #ifdef __cplusplus
04743 }
04744 #endif
04745 #endif
04746 #endif

Generated on Sat May 26 2012 04:29:52 for ReactOS by doxygen 1.7.6.1

ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.