Changeset 41 for trunk/include/win/commctrl.h
- Timestamp:
- Jun 7, 1999, 12:29:46 PM (26 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/include/win/commctrl.h
r36 r41 1 1 /* 2 * Win32 common controls include file 3 * 4 * Copyright (C) 1999 Achim Hasenmueller 5 * 6 * Based on the work of the WINE group (www.winehq.com) 7 * 8 * 9 * Project Odin Software License can be found in LICENSE.TXT 10 * 2 * Common controls definitions 11 3 */ 12 4 13 #ifndef _ H_COMMCTRL14 #define _ H_COMMCTRL5 #ifndef __WINE_COMMCTRL_H 6 #define __WINE_COMMCTRL_H 15 7 16 8 #include "windef.h" 17 9 #include "winuser.h" 10 #include "imagelist.h" 11 //#include "prsht.h" 12 13 /* c++ likes nameless unions whereas c doesnt */ 14 /* (used in property sheet structures) */ 15 #ifdef __cplusplus 16 #define DUMMYUNIONNAME 17 #define DUMMYUNIONNAME1 18 #define DUMMYUNIONNAME2 19 #define DUMMYUNIONNAME3 20 #define DUMMYUNIONNAME4 21 #define DUMMYUNIONNAME5 22 #else 23 #define DUMMYUNIONNAME u 24 #define DUMMYUNIONNAME1 u1 25 #define DUMMYUNIONNAME2 u2 26 #define DUMMYUNIONNAME3 u3 27 #define DUMMYUNIONNAME4 u4 28 #define DUMMYUNIONNAME5 u5 29 #endif 30 31 #ifdef __cplusplus 32 extern "C" { 33 #endif 34 35 BOOL WINAPI ShowHideMenuCtl (HWND, UINT, LPINT); 36 VOID WINAPI GetEffectiveClientRect (HWND, LPRECT, LPINT); 37 VOID WINAPI InitCommonControls (VOID); 38 39 typedef struct tagINITCOMMONCONTROLSEX { 40 DWORD dwSize; 41 DWORD dwICC; 42 } INITCOMMONCONTROLSEX, *LPINITCOMMONCONTROLSEX; 43 44 BOOL WINAPI InitCommonControlsEx (LPINITCOMMONCONTROLSEX); 45 46 #define ICC_LISTVIEW_CLASSES 0x00000001 /* listview, header */ 47 #define ICC_TREEVIEW_CLASSES 0x00000002 /* treeview, tooltips */ 48 #define ICC_BAR_CLASSES 0x00000004 /* toolbar, statusbar, trackbar, tooltips */ 49 #define ICC_TAB_CLASSES 0x00000008 /* tab, tooltips */ 50 #define ICC_UPDOWN_CLASS 0x00000010 /* updown */ 51 #define ICC_PROGRESS_CLASS 0x00000020 /* progress */ 52 #define ICC_HOTKEY_CLASS 0x00000040 /* hotkey */ 53 #define ICC_ANIMATE_CLASS 0x00000080 /* animate */ 54 #define ICC_WIN95_CLASSES 0x000000FF 55 #define ICC_DATE_CLASSES 0x00000100 /* month picker, date picker, time picker, updown */ 56 #define ICC_USEREX_CLASSES 0x00000200 /* comboex */ 57 #define ICC_COOL_CLASSES 0x00000400 /* rebar (coolbar) */ 58 #define ICC_INTERNET_CLASSES 0x00000800 /* IP address, ... */ 59 #define ICC_PAGESCROLLER_CLASS 0x00001000 /* page scroller */ 60 #define ICC_NATIVEFNTCTL_CLASS 0x00002000 /* native font control ???*/ 61 18 62 19 63 /* common control styles */ … … 39 83 #define CCM_GETDROPTARGET (CCM_FIRST+4) 40 84 #define CCM_SETUNICODEFORMAT (CCM_FIRST+5) 41 #define CCM_GETUNICODEFORMAT (CCM_FIRST+6) 85 #define CCM_GETUNICODEFORMAT (CCM_FIRST+6) 86 42 87 43 88 /* common notification codes (WM_NOTIFY)*/ … … 91 136 #endif 92 137 138 139 /* This is only for Winelib applications. DON't use it wine itself!!! */ 140 #define SNDMSG WINELIB_NAME_AW(SendMessage) 141 142 143 93 144 /* Custom Draw messages */ 94 145 … … 149 200 150 201 202 203 /* StatusWindow */ 204 205 #define STATUSCLASSNAME16 "msctls_statusbar" 206 #define STATUSCLASSNAMEA "msctls_statusbar32" 207 /* Does not work. gcc creates 4 byte wide strings. 208 * #define STATUSCLASSNAME32W L"msctls_statusbar32" 209 */ 210 static const WCHAR _scn32w[] = { 211 'm','s','c','t','l','s','_','s','t','a','t','u','s','b','a','r','3','2',0 212 }; 213 #define STATUSCLASSNAMEW _scn32w 214 #define STATUSCLASSNAME WINELIB_NAME_AW(STATUSCLASSNAME) 215 216 #define SBT_NOBORDERS 0x0100 217 #define SBT_POPOUT 0x0200 218 #define SBT_RTLREADING 0x0400 /* not supported */ 219 #define SBT_TOOLTIPS 0x0800 220 #define SBT_OWNERDRAW 0x1000 221 222 #define SBARS_SIZEGRIP 0x0100 223 224 #define SB_SETTEXTA (WM_USER+1) 225 #define SB_SETTEXTW (WM_USER+11) 226 #define SB_SETTEXT WINELIB_NAME_AW(SB_SETTEXT) 227 #define SB_GETTEXTA (WM_USER+2) 228 #define SB_GETTEXTW (WM_USER+13) 229 #define SB_GETTEXT WINELIB_NAME_AW(SB_GETTEXT) 230 #define SB_GETTEXTLENGTHA (WM_USER+3) 231 #define SB_GETTEXTLENGTHW (WM_USER+12) 232 #define SB_GETTEXTLENGTH WINELIB_NAME_AW(SB_GETTEXTLENGTH) 233 #define SB_SETPARTS (WM_USER+4) 234 #define SB_GETPARTS (WM_USER+6) 235 #define SB_GETBORDERS (WM_USER+7) 236 #define SB_SETMINHEIGHT (WM_USER+8) 237 #define SB_SIMPLE (WM_USER+9) 238 #define SB_GETRECT (WM_USER+10) 239 #define SB_ISSIMPLE (WM_USER+14) 240 #define SB_SETICON (WM_USER+15) 241 #define SB_SETTIPTEXTA (WM_USER+16) 242 #define SB_SETTIPTEXTW (WM_USER+17) 243 #define SB_SETTIPTEXT WINELIB_NAME_AW(SB_SETTIPTEXT) 244 #define SB_GETTIPTEXTA (WM_USER+18) 245 #define SB_GETTIPTEXTW (WM_USER+19) 246 #define SB_GETTIPTEXT WINELIB_NAME_AW(SB_GETTIPTEXT) 247 #define SB_GETICON (WM_USER+20) 248 #define SB_SETBKCOLOR CCM_SETBKCOLOR /* lParam = bkColor */ 249 #define SB_GETUNICODEFORMAT CCM_GETUNICODEFORMAT 250 #define SB_SETUNICODEFORMAT CCM_SETUNICODEFORMAT 251 252 #define SBN_FIRST (0U-880U) 253 #define SBN_LAST (0U-899U) 254 #define SBN_SIMPLEMODECHANGE (SBN_FIRST-0) 255 256 HWND WINAPI CreateStatusWindowA (INT, LPCSTR, HWND, UINT); 257 HWND WINAPI CreateStatusWindowW (INT, LPCWSTR, HWND, UINT); 258 #define CreateStatusWindow WINELIB_NAME_AW(CreateStatusWindow) 259 VOID WINAPI DrawStatusTextA (HDC, LPRECT, LPCSTR, UINT); 260 VOID WINAPI DrawStatusTextW (HDC, LPRECT, LPCWSTR, UINT); 261 #define DrawStatusText WINELIB_NAME_AW(DrawStatusText) 262 VOID WINAPI MenuHelp (UINT, WPARAM, LPARAM, HMENU, 263 HINSTANCE, HWND, LPUINT); 264 265 /************************************************************************** 266 * Drag List control 267 */ 268 269 typedef struct tagDRAGLISTINFO 270 { 271 UINT uNotification; 272 HWND hWnd; 273 POINT ptCursor; 274 } DRAGLISTINFO, *LPDRAGLISTINFO; 275 276 #define DL_BEGINDRAG (WM_USER+133) 277 #define DL_DRAGGING (WM_USER+134) 278 #define DL_DROPPED (WM_USER+135) 279 #define DL_CANCELDRAG (WM_USER+136) 280 281 #define DL_CURSORSET 0 282 #define DL_STOPCURSOR 1 283 #define DL_COPYCURSOR 2 284 #define DL_MOVECURSOR 3 285 286 #define DRAGLISTMSGSTRING TEXT("commctrl_DragListMsg") 287 288 BOOL WINAPI MakeDragList (HWND); 289 VOID WINAPI DrawInsert (HWND, HWND, INT); 290 INT WINAPI LBItemFromPt (HWND, POINT, BOOL); 291 292 293 /* UpDown */ 294 295 #define UPDOWN_CLASS16 "msctls_updown" 296 #define UPDOWN_CLASSA "msctls_updown32" 297 #define UPDOWN_CLASSW L"msctls_updown32" 298 #define UPDOWN_CLASS WINELIB_NAME_AW(UPDOWN_CLASS) 299 300 typedef struct tagUDACCEL 301 { 302 UINT nSec; 303 UINT nInc; 304 } UDACCEL; 305 306 #define UD_MAXVAL 0x7fff 307 #define UD_MINVAL 0x8001 308 309 #define UDS_WRAP 0x0001 310 #define UDS_SETBUDDYINT 0x0002 311 #define UDS_ALIGNRIGHT 0x0004 312 #define UDS_ALIGNLEFT 0x0008 313 #define UDS_AUTOBUDDY 0x0010 314 #define UDS_ARROWKEYS 0x0020 315 #define UDS_HORZ 0x0040 316 #define UDS_NOTHOUSANDS 0x0080 317 318 #define UDN_FIRST (0U-721) 319 #define UDN_LAST (0U-740) 320 #define UDN_DELTAPOS (UDN_FIRST-1) 321 322 #define UDM_SETRANGE (WM_USER+101) 323 #define UDM_GETRANGE (WM_USER+102) 324 #define UDM_SETPOS (WM_USER+103) 325 #define UDM_GETPOS (WM_USER+104) 326 #define UDM_SETBUDDY (WM_USER+105) 327 #define UDM_GETBUDDY (WM_USER+106) 328 #define UDM_SETACCEL (WM_USER+107) 329 #define UDM_GETACCEL (WM_USER+108) 330 #define UDM_SETBASE (WM_USER+109) 331 #define UDM_GETBASE (WM_USER+110) 332 #define UDM_SETRANGE32 (WM_USER+111) 333 #define UDM_GETRANGE32 (WM_USER+112) 334 335 HWND WINAPI CreateUpDownControl (DWORD, INT, INT, INT, INT, 336 HWND, INT, HINSTANCE, HWND, 337 INT, INT, INT); 338 339 /* Progress Bar */ 340 341 #define PROGRESS_CLASSA "msctls_progress32" 342 #define PROGRESS_CLASSW L"msctls_progress32" 343 #define PROGRESS_CLASS16 "msctls_progress" 344 #define PROGRESS_CLASS WINELIB_NAME_AW(PROGRESS_CLASS) 345 346 #define PBM_SETRANGE (WM_USER+1) 347 #define PBM_SETPOS (WM_USER+2) 348 #define PBM_DELTAPOS (WM_USER+3) 349 #define PBM_SETSTEP (WM_USER+4) 350 #define PBM_STEPIT (WM_USER+5) 351 #define PBM_SETRANGE32 (WM_USER+6) 352 #define PBM_GETRANGE (WM_USER+7) 353 #define PBM_GETPOS (WM_USER+8) 354 #define PBM_SETBARCOLOR (WM_USER+9) 355 #define PBM_SETBKCOLOR CCM_SETBKCOLOR 356 357 #define PBS_SMOOTH 0x01 358 #define PBS_VERTICAL 0x04 359 360 typedef struct 361 { 362 INT iLow; 363 INT iHigh; 364 } PBRANGE, *PPBRANGE; 365 366 151 367 /* ImageList */ 368 #if !defined(__WINE__) || !defined(__WINE_IMAGELIST_C) 152 369 struct _IMAGELIST; 153 370 typedef struct _IMAGELIST *HIMAGELIST; 371 #endif /* __WINE__ */ 154 372 155 373 #define CLR_NONE 0xFFFFFFFF … … 257 475 BOOL WINAPI ImageList_SetImageCount(HIMAGELIST,INT); 258 476 BOOL WINAPI ImageList_SetOverlayImage(HIMAGELIST,INT,INT); 259 //BOOL WINAPI ImageList_Write(HIMAGELIST, LPSTREAM); 260 477 #ifdef __IStream_INTREFACE_DEFINED__ 478 BOOL WINAPI ImageList_Write(HIMAGELIST, LPSTREAM); 479 #endif 480 481 #ifndef __WINE__ 482 #define ImageList_AddIcon(himl,hicon) ImageList_ReplaceIcon(himl,-1,hicon) 483 #endif 261 484 #define ImageList_ExtractIcon(hi,himl,i) ImageList_GetIcon(himl,i,0) 262 485 #define ImageList_LoadBitmap(hi,lpbmp,cx,cGrow,crMask) \ … … 265 488 266 489 267 268 269 /* PROGRESS BAR CONTROL */ 270 271 #define PROGRESS_CLASSA "msctls_progress32" 272 #define PROGRESS_CLASSW L"msctls_progress32" 273 #define PROGRESS_CLASS WINELIB_NAME_AW(PROGRESS_CLASS) 274 275 #define PBM_SETRANGE (WM_USER+1) 276 #define PBM_SETPOS (WM_USER+2) 277 #define PBM_DELTAPOS (WM_USER+3) 278 #define PBM_SETSTEP (WM_USER+4) 279 #define PBM_STEPIT (WM_USER+5) 280 #define PBM_SETRANGE32 (WM_USER+6) 281 #define PBM_GETRANGE (WM_USER+7) 282 #define PBM_GETPOS (WM_USER+8) 283 #define PBM_SETBARCOLOR (WM_USER+9) 284 #define PBM_SETBKCOLOR CCM_SETBKCOLOR 285 286 #define PBS_SMOOTH 0x01 287 #define PBS_VERTICAL 0x04 288 289 typedef struct 290 { 291 INT iLow; 292 INT iHigh; 293 } PBRANGE, *PPBRANGE; 294 295 296 /* StatusWindow */ 297 298 #define STATUSCLASSNAME16 "msctls_statusbar" 299 #define STATUSCLASSNAMEA "msctls_statusbar32" 300 /* Does not work. gcc creates 4 byte wide strings. 301 * #define STATUSCLASSNAME32W L"msctls_statusbar32" 302 */ 303 static const WCHAR _scn32w[] = { 304 'm','s','c','t','l','s','_','s','t','a','t','u','s','b','a','r','3','2',0 305 }; 306 #define STATUSCLASSNAMEW _scn32w 307 #define STATUSCLASSNAME WINELIB_NAME_AW(STATUSCLASSNAME) 308 309 #define SBT_NOBORDERS 0x0100 310 #define SBT_POPOUT 0x0200 311 #define SBT_RTLREADING 0x0400 /* not supported */ 312 #define SBT_TOOLTIPS 0x0800 313 #define SBT_OWNERDRAW 0x1000 314 315 #define SBARS_SIZEGRIP 0x0100 316 317 #define SB_SETTEXTA (WM_USER+1) 318 #define SB_SETTEXTW (WM_USER+11) 319 #define SB_SETTEXT WINELIB_NAME_AW(SB_SETTEXT) 320 #define SB_GETTEXTA (WM_USER+2) 321 #define SB_GETTEXTW (WM_USER+13) 322 #define SB_GETTEXT WINELIB_NAME_AW(SB_GETTEXT) 323 #define SB_GETTEXTLENGTHA (WM_USER+3) 324 #define SB_GETTEXTLENGTHW (WM_USER+12) 325 #define SB_GETTEXTLENGTH WINELIB_NAME_AW(SB_GETTEXTLENGTH) 326 #define SB_SETPARTS (WM_USER+4) 327 #define SB_GETPARTS (WM_USER+6) 328 #define SB_GETBORDERS (WM_USER+7) 329 #define SB_SETMINHEIGHT (WM_USER+8) 330 #define SB_SIMPLE (WM_USER+9) 331 #define SB_GETRECT (WM_USER+10) 332 #define SB_ISSIMPLE (WM_USER+14) 333 #define SB_SETICON (WM_USER+15) 334 #define SB_SETTIPTEXTA (WM_USER+16) 335 #define SB_SETTIPTEXTW (WM_USER+17) 336 #define SB_SETTIPTEXT WINELIB_NAME_AW(SB_SETTIPTEXT) 337 #define SB_GETTIPTEXTA (WM_USER+18) 338 #define SB_GETTIPTEXTW (WM_USER+19) 339 #define SB_GETTIPTEXT WINELIB_NAME_AW(SB_GETTIPTEXT) 340 #define SB_GETICON (WM_USER+20) 341 #define SB_SETBKCOLOR CCM_SETBKCOLOR /* lParam = bkColor */ 342 #define SB_GETUNICODEFORMAT CCM_GETUNICODEFORMAT 343 #define SB_SETUNICODEFORMAT CCM_SETUNICODEFORMAT 344 345 #define SBN_FIRST (0U-880U) 346 #define SBN_LAST (0U-899U) 347 #define SBN_SIMPLEMODECHANGE (SBN_FIRST-0) 348 349 HWND WINAPI CreateStatusWindowA (INT, LPCSTR, HWND, UINT); 350 HWND WINAPI CreateStatusWindowW (INT, LPCWSTR, HWND, UINT); 351 #define CreateStatusWindow WINELIB_NAME_AW(CreateStatusWindow) 352 VOID WINAPI DrawStatusTextA (HDC, LPRECT, LPCSTR, UINT); 353 VOID WINAPI DrawStatusTextW (HDC, LPRECT, LPCWSTR, UINT); 354 #define DrawStatusText WINELIB_NAME_AW(DrawStatusText) 355 VOID WINAPI MenuHelp (UINT, WPARAM, LPARAM, HMENU, 356 HINSTANCE, HWND, LPUINT); 490 /* Flat Scrollbar control */ 491 492 #define FLATSB_CLASS16 "flatsb_class" 493 #define FLATSB_CLASSA "flatsb_class32" 494 #define FLATSB_CLASSW L"flatsb_class32" 495 #define FLATSB_CLASS WINELIB_NAME_AW(FLATSB_CLASS) 496 497 BOOL WINAPI FlatSB_EnableScrollBar(HWND, INT, UINT); 498 BOOL WINAPI FlatSB_ShowScrollBar(HWND, INT, BOOL); 499 BOOL WINAPI FlatSB_GetScrollRange(HWND, INT, LPINT, LPINT); 500 BOOL WINAPI FlatSB_GetScrollInfo(HWND, INT, LPSCROLLINFO); 501 INT WINAPI FlatSB_GetScrollPos(HWND, INT); 502 BOOL WINAPI FlatSB_GetScrollProp(HWND, INT, LPINT); 503 INT WINAPI FlatSB_SetScrollPos(HWND, INT, INT, BOOL); 504 INT WINAPI FlatSB_SetScrollInfo(HWND, INT, LPSCROLLINFO, BOOL); 505 INT WINAPI FlatSB_SetScrollRange(HWND, INT, INT, INT, BOOL); 506 BOOL WINAPI FlatSB_SetScrollProp(HWND, UINT, INT, BOOL); 507 BOOL WINAPI InitializeFlatSB(HWND); 508 HRESULT WINAPI UninitializeFlatSB(HWND); 509 510 511 /* Header control */ 512 513 #define WC_HEADER16 "SysHeader" 514 #define WC_HEADERA "SysHeader32" 515 #define WC_HEADERW L"SysHeader32" 516 #define WC_HEADER WINELIB_NAME_AW(WC_HEADER) 517 518 #define HDS_HORZ 0x0000 519 #define HDS_BUTTONS 0x0002 520 #define HDS_HOTTRACK 0x0004 521 #define HDS_HIDDEN 0x0008 522 #define HDS_DRAGDROP 0x0040 523 #define HDS_FULLDRAG 0x0080 524 525 #define HDI_WIDTH 0x0001 526 #define HDI_HEIGHT HDI_WIDTH 527 #define HDI_TEXT 0x0002 528 #define HDI_FORMAT 0x0004 529 #define HDI_LPARAM 0x0008 530 #define HDI_BITMAP 0x0010 531 #define HDI_IMAGE 0x0020 532 #define HDI_DI_SETITEM 0x0040 533 #define HDI_ORDER 0x0080 534 535 #define HDF_LEFT 0x0000 536 #define HDF_RIGHT 0x0001 537 #define HDF_CENTER 0x0002 538 #define HDF_JUSTIFYMASK 0x0003 539 540 #define HDF_IMAGE 0x0800 541 #define HDF_BITMAP_ON_RIGHT 0x1000 542 #define HDF_BITMAP 0x2000 543 #define HDF_STRING 0x4000 544 #define HDF_OWNERDRAW 0x8000 545 546 #define HHT_NOWHERE 0x0001 547 #define HHT_ONHEADER 0x0002 548 #define HHT_ONDIVIDER 0x0004 549 #define HHT_ONDIVOPEN 0x0008 550 #define HHT_ABOVE 0x0100 551 #define HHT_BELOW 0x0200 552 #define HHT_TORIGHT 0x0400 553 #define HHT_TOLEFT 0x0800 554 555 #define HDM_FIRST 0x1200 556 #define HDM_GETITEMCOUNT (HDM_FIRST+0) 557 #define HDM_INSERTITEMA (HDM_FIRST+1) 558 #define HDM_INSERTITEMW (HDM_FIRST+10) 559 #define HDM_INSERTITEM WINELIB_NAME_AW(HDM_INSERTITEM) 560 #define HDM_DELETEITEM (HDM_FIRST+2) 561 #define HDM_GETITEMA (HDM_FIRST+3) 562 #define HDM_GETITEMW (HDM_FIRST+11) 563 #define HDM_GETITEM WINELIB_NAME_AW(HDM_GETITEM) 564 #define HDM_SETITEMA (HDM_FIRST+4) 565 #define HDM_SETITEMW (HDM_FIRST+12) 566 #define HDM_SETITEM WINELIB_NAME_AW(HDM_SETITEM) 567 #define HDM_LAYOUT (HDM_FIRST+5) 568 #define HDM_HITTEST (HDM_FIRST+6) 569 #define HDM_GETITEMRECT (HDM_FIRST+7) 570 #define HDM_SETIMAGELIST (HDM_FIRST+8) 571 #define HDM_GETIMAGELIST (HDM_FIRST+9) 572 573 #define HDM_ORDERTOINDEX (HDM_FIRST+15) 574 #define HDM_CREATEDRAGIMAGE (HDM_FIRST+16) 575 #define HDM_GETORDERARRAY (HDM_FIRST+17) 576 #define HDM_SETORDERARRAY (HDM_FIRST+18) 577 #define HDM_SETHOTDIVIDER (HDM_FIRST+19) 578 #define HDM_GETUNICODEFORMAT CCM_GETUNICODEFORMAT 579 #define HDM_SETUNICODEFORMAT CCM_SETUNICODEFORMAT 580 581 #define HDN_FIRST (0U-300U) 582 #define HDN_LAST (0U-399U) 583 #define HDN_ITEMCHANGINGA (HDN_FIRST-0) 584 #define HDN_ITEMCHANGINGW (HDN_FIRST-20) 585 #define HDN_ITEMCHANGING WINELIB_NAME_AW(HDN_ITEMCHANGING) 586 #define HDN_ITEMCHANGEDA (HDN_FIRST-1) 587 #define HDN_ITEMCHANGEDW (HDN_FIRST-21) 588 #define HDN_ITEMCHANGED WINELIB_NAME_AW(HDN_ITEMCHANGED) 589 #define HDN_ITEMCLICKA (HDN_FIRST-2) 590 #define HDN_ITEMCLICKW (HDN_FIRST-22) 591 #define HDN_ITEMCLICK WINELIB_NAME_AW(HDN_ITEMCLICK) 592 #define HDN_ITEMDBLCLICKA (HDN_FIRST-3) 593 #define HDN_ITEMDBLCLICKW (HDN_FIRST-23) 594 #define HDN_ITEMDBLCLICK WINELIB_NAME_AW(HDN_ITEMDBLCLICK) 595 #define HDN_DIVIDERDBLCLICKA (HDN_FIRST-5) 596 #define HDN_DIVIDERDBLCLICKW (HDN_FIRST-25) 597 #define HDN_DIVIDERDBLCLICK WINELIB_NAME_AW(HDN_DIVIDERDBLCLICK) 598 #define HDN_BEGINTRACKA (HDN_FIRST-6) 599 #define HDN_BEGINTRACKW (HDN_FIRST-26) 600 #define HDN_BEGINTRACK WINELIB_NAME_AW(HDN_BEGINTRACK) 601 #define HDN_ENDTRACKA (HDN_FIRST-7) 602 #define HDN_ENDTRACKW (HDN_FIRST-27) 603 #define HDN_ENDTRACK WINELIB_NAME_AW(HDN_ENDTRACK) 604 #define HDN_TRACKA (HDN_FIRST-8) 605 #define HDN_TRACKW (HDN_FIRST-28) 606 #define HDN_TRACK WINELIB_NAME_AW(HDN_TRACK) 607 #define HDN_GETDISPINFOA (HDN_FIRST-9) 608 #define HDN_GETDISPINFOW (HDN_FIRST-29) 609 #define HDN_GETDISPINFO WINELIB_NAME_AW(HDN_GETDISPINFO) 610 #define HDN_BEGINDRACK (HDN_FIRST-10) 611 #define HDN_ENDDRACK (HDN_FIRST-11) 612 613 typedef struct _HD_LAYOUT 614 { 615 RECT *prc; 616 WINDOWPOS *pwpos; 617 } HDLAYOUT, *LPHDLAYOUT; 618 619 #define HD_LAYOUT HDLAYOUT 620 621 typedef struct _HD_ITEMA 622 { 623 UINT mask; 624 INT cxy; 625 LPSTR pszText; 626 HBITMAP hbm; 627 INT cchTextMax; 628 INT fmt; 629 LPARAM lParam; 630 INT iImage; 631 INT iOrder; 632 } HDITEMA, *LPHDITEMA; 633 634 typedef struct _HD_ITEMW 635 { 636 UINT mask; 637 INT cxy; 638 LPWSTR pszText; 639 HBITMAP hbm; 640 INT cchTextMax; 641 INT fmt; 642 LPARAM lParam; 643 INT iImage; 644 INT iOrder; 645 } HDITEMW, *LPHDITEMW; 646 647 #define HDITEM WINELIB_NAME_AW(HDITEM) 648 #define LPHDITEM WINELIB_NAME_AW(LPHDITEM) 649 #define HD_ITEM HDITEM 650 651 #define HDITEM_V1_SIZEA CCSIZEOF_STRUCT(HDITEMA, lParam) 652 #define HDITEM_V1_SIZEW CCSIZEOF_STRUCT(HDITEMW, lParam) 653 #define HDITEM_V1_SIZE WINELIB_NAME_AW(HDITEM_V1_SIZE) 654 655 typedef struct _HD_HITTESTINFO 656 { 657 POINT pt; 658 UINT flags; 659 INT iItem; 660 } HDHITTESTINFO, *LPHDHITTESTINFO; 661 662 #define HD_HITTESTINFO HDHITTESTINFO 663 664 typedef struct tagNMHEADERA 665 { 666 NMHDR hdr; 667 INT iItem; 668 INT iButton; 669 HDITEMA *pitem; 670 } NMHEADERA, *LPNMHEADERA; 671 672 typedef struct tagNMHEADERW 673 { 674 NMHDR hdr; 675 INT iItem; 676 INT iButton; 677 HDITEMW *pitem; 678 } NMHEADERW, *LPNMHEADERW; 679 680 #define NMHEADER WINELIB_NAME_AW(NMHEADER) 681 #define LPNMHEADER WINELIB_NAME_AW(LPNMHEADER) 682 #define HD_NOTIFY NMHEADER 683 684 typedef struct tagNMHDDISPINFOA 685 { 686 NMHDR hdr; 687 INT iItem; 688 UINT mask; 689 LPSTR pszText; 690 INT cchTextMax; 691 INT iImage; 692 LPARAM lParam; 693 } NMHDDISPINFOA, *LPNMHDDISPINFOA; 694 695 typedef struct tagNMHDDISPINFOW 696 { 697 NMHDR hdr; 698 INT iItem; 699 UINT mask; 700 LPWSTR pszText; 701 INT cchTextMax; 702 INT iImage; 703 LPARAM lParam; 704 } NMHDDISPINFOW, *LPNMHDDISPINFOW; 705 706 #define NMHDDISPINFO WINELIB_NAME_AW(NMHDDISPINFO) 707 #define LPNMHDDISPINFO WINELIB_NAME_AW(LPNMHDDISPINFO) 708 709 #define Header_GetItemCount(hwndHD) \ 710 (INT)SendMessageA((hwndHD),HDM_GETITEMCOUNT,0,0L) 711 #define Header_InsertItemA(hwndHD,i,phdi) \ 712 (INT)SendMessageA((hwndHD),HDM_INSERTITEMA,(WPARAM)(INT)(i),(LPARAM)(const HDITEMA*)(phdi)) 713 #define Header_InsertItemW(hwndHD,i,phdi) \ 714 (INT)SendMessageW((hwndHD),HDM_INSERTITEMW,(WPARAM)(INT)(i),(LPARAM)(const HDITEMW*)(phdi)) 715 #define Header_InsertItem WINELIB_NAME_AW(Header_InsertItem) 716 #define Header_DeleteItem(hwndHD,i) \ 717 (BOOL)SendMessageA((hwndHD),HDM_DELETEITEM,(WPARAM)(INT)(i),0L) 718 #define Header_GetItemA(hwndHD,i,phdi) \ 719 (BOOL)SendMessageA((hwndHD),HDM_GETITEMA,(WPARAM)(INT)(i),(LPARAM)(HDITEMA*)(phdi)) 720 #define Header_GetItemW(hwndHD,i,phdi) \ 721 (BOOL)SendMessageW((hwndHD),HDM_GETITEMW,(WPARAM)(INT)(i),(LPARAM)(HDITEMW*)(phdi)) 722 #define Header_GetItem WINELIB_NAME_AW(Header_GetItem) 723 #define Header_SetItemA(hwndHD,i,phdi) \ 724 (BOOL)SendMessageA((hwndHD),HDM_SETITEMA,(WPARAM)(INT)(i),(LPARAM)(const HDITEMA*)(phdi)) 725 #define Header_SetItemW(hwndHD,i,phdi) \ 726 (BOOL)SendMessageW((hwndHD),HDM_SETITEMW,(WPARAM)(INT)(i),(LPARAM)(const HDITEMW*)(phdi)) 727 #define Header_SetItem WINELIB_NAME_AW(Header_SetItem) 728 #define Header_Layout(hwndHD,playout) \ 729 (BOOL)SendMessageA((hwndHD),HDM_LAYOUT,0,(LPARAM)(LPHDLAYOUT)(playout)) 730 #define Header_GetItemRect(hwnd,iItem,lprc) \ 731 (BOOL)SendMessageA((hwnd),HDM_GETITEMRECT,(WPARAM)iItem,(LPARAM)lprc) 732 #define Header_SetImageList(hwnd,himl) \ 733 (HIMAGELIST)SendMessageA((hwnd),HDM_SETIMAGELIST,0,(LPARAM)himl) 734 #define Header_GetImageList(hwnd) \ 735 (HIMAGELIST)SendMessageA((hwnd),HDM_GETIMAGELIST,0,0) 736 #define Header_OrderToIndex(hwnd,i) \ 737 (INT)SendMessageA((hwnd),HDM_ORDERTOINDEX,(WPARAM)i,0) 738 #define Header_CreateDragImage(hwnd,i) \ 739 (HIMAGELIST)SendMessageA((hwnd),HDM_CREATEDRAGIMAGE,(WPARAM)i,0) 740 #define Header_GetOrderArray(hwnd,iCount,lpi) \ 741 (BOOL)SendMessageA((hwnd),HDM_GETORDERARRAY,(WPARAM)iCount,(LPARAM)lpi) 742 #define Header_SetOrderArray(hwnd,iCount,lpi) \ 743 (BOOL)SendMessageA((hwnd),HDM_SETORDERARRAY,(WPARAM)iCount,(LPARAM)lpi) 744 #define Header_SetHotDivider(hwnd,fPos,dw) \ 745 (INT)SendMessageA((hwnd),HDM_SETHOTDIVIDER,(WPARAM)fPos,(LPARAM)dw) 746 #define Header_SetUnicodeFormat(hwnd,fUnicode) \ 747 (BOOL)SendMessageA((hwnd),HDM_SETUNICODEFORMAT,(WPARAM)(fUnicode),0) 748 #define Header_GetUnicodeFormat(hwnd) \ 749 (BOOL)SendMessageA((hwnd),HDM_GETUNICODEFORMAT,0,0) 357 750 358 751 … … 500 893 #define TBN_GETBUTTONINFOW (TBN_FIRST-20) 501 894 #define TBN_GETBUTTONINFO WINELIB_NAME_AW(TBN_GETBUTTONINFO) 895 #define TBN_BEGINDRAG (TBN_FIRST-1) 896 #define TBN_ENDDRAG (TBN_FIRST-2) 897 #define TBN_BEGINADJUST (TBN_FIRST-3) 898 #define TBN_ENDADJUST (TBN_FIRST-4) 899 #define TBN_RESET (TBN_FIRST-5) 900 #define TBN_QUERYINSERT (TBN_FIRST-6) 901 #define TBN_QUERYDELETE (TBN_FIRST-7) 902 #define TBN_TOOLBARCHANGE (TBN_FIRST-8) 903 #define TBN_CUSTHELP (TBN_FIRST-9) 904 #define TBN_DROPDOWN (TBN_FIRST-10) 905 #define TBN_GETOBJECT (TBN_FIRST-12) 906 #define TBN_HOTITEMCHANGE (TBN_FIRST-13) 907 #define TBN_DRAGOUT (TBN_FIRST-14) 908 #define TBN_DELETINGBUTTON (TBN_FIRST-15) 909 #define TBN_GETDISPINFOA (TBN_FIRST-16) 910 #define TBN_GETDISPINFOW (TBN_FIRST-17) 911 #define TBN_GETDISPINFO WINELIB_NAME_AW(TBN_GETDISPINFO) 502 912 #define TBN_GETINFOTIPA (TBN_FIRST-18) 503 913 #define TBN_GETINFOTIPW (TBN_FIRST-19) … … 664 1074 HBITMAP WINAPI 665 1075 CreateMappedBitmap (HINSTANCE, INT, UINT, LPCOLORMAP, INT); 666 667 1076 668 1077 … … 841 1250 842 1251 843 844 845 846 #endif /* _H_COMMCTRL */ 1252 /* Rebar control */ 1253 1254 #define REBARCLASSNAME16 "ReBarWindow" 1255 #define REBARCLASSNAMEA "ReBarWindow32" 1256 #define REBARCLASSNAMEW L"ReBarWindow32" 1257 #define REBARCLASSNAME WINELIB_NAME_AW(REBARCLASSNAME) 1258 1259 #define RBS_TOOLTIPS 0x0100 1260 #define RBS_VARHEIGHT 0x0200 1261 #define RBS_BANDBORDERS 0x0400 1262 #define RBS_FIXEDORDER 0x0800 1263 #define RBS_REGISTERDROP 0x1000 1264 #define RBS_AUTOSIZE 0x2000 1265 #define RBS_VERTICALGRIPPER 0x4000 1266 #define RBS_DBLCLKTOGGLE 0x8000 1267 1268 #define RBIM_IMAGELIST 0x00000001 1269 1270 #define RBBIM_STYLE 0x00000001 1271 #define RBBIM_COLORS 0x00000002 1272 #define RBBIM_TEXT 0x00000004 1273 #define RBBIM_IMAGE 0x00000008 1274 #define RBBIM_CHILD 0x00000010 1275 #define RBBIM_CHILDSIZE 0x00000020 1276 #define RBBIM_SIZE 0x00000040 1277 #define RBBIM_BACKGROUND 0x00000080 1278 #define RBBIM_ID 0x00000100 1279 #define RBBIM_IDEALSIZE 0x00000200 1280 #define RBBIM_LPARAM 0x00000400 1281 #define RBBIM_HEADERSIZE 0x00000800 1282 1283 #define RBBS_BREAK 0x00000001 1284 #define RBBS_FIXEDSIZE 0x00000002 1285 #define RBBS_CHILDEDGE 0x00000004 1286 #define RBBS_HIDDEN 0x00000008 1287 #define RBBS_NOVERT 0x00000010 1288 #define RBBS_FIXEDBMP 0x00000020 1289 #define RBBS_VARIABLEHEIGHT 0x00000040 1290 #define RBBS_GRIPPERALWAYS 0x00000080 1291 #define RBBS_NOGRIPPER 0x00000100 1292 1293 #define RBNM_ID 0x00000001 1294 #define RBNM_STYLE 0x00000002 1295 #define RBNM_LPARAM 0x00000004 1296 1297 #define RBHT_NOWHERE 0x0001 1298 #define RBHT_CAPTION 0x0002 1299 #define RBHT_CLIENT 0x0003 1300 #define RBHT_GRABBER 0x0004 1301 1302 #define RB_INSERTBANDA (WM_USER+1) 1303 #define RB_INSERTBANDW (WM_USER+10) 1304 #define RB_INSERTBAND WINELIB_NAME_AW(RB_INSERTBAND) 1305 #define RB_DELETEBAND (WM_USER+2) 1306 #define RB_GETBARINFO (WM_USER+3) 1307 #define RB_SETBARINFO (WM_USER+4) 1308 #define RB_GETBANDINFO (WM_USER+5) /* just for compatibility */ 1309 #define RB_SETBANDINFOA (WM_USER+6) 1310 #define RB_SETBANDINFOW (WM_USER+11) 1311 #define RB_SETBANDINFO WINELIB_NAME_AW(RB_SETBANDINFO) 1312 #define RB_SETPARENT (WM_USER+7) 1313 #define RB_HITTEST (WM_USER+8) 1314 #define RB_GETRECT (WM_USER+9) 1315 #define RB_GETBANDCOUNT (WM_USER+12) 1316 #define RB_GETROWCOUNT (WM_USER+13) 1317 #define RB_GETROWHEIGHT (WM_USER+14) 1318 #define RB_IDTOINDEX (WM_USER+16) 1319 #define RB_GETTOOLTIPS (WM_USER+17) 1320 #define RB_SETTOOLTIPS (WM_USER+18) 1321 #define RB_SETBKCOLOR (WM_USER+19) 1322 #define RB_GETBKCOLOR (WM_USER+20) 1323 #define RB_SETTEXTCOLOR (WM_USER+21) 1324 #define RB_GETTEXTCOLOR (WM_USER+22) 1325 #define RB_SIZETORECT (WM_USER+23) 1326 #define RB_BEGINDRAG (WM_USER+24) 1327 #define RB_ENDDRAG (WM_USER+25) 1328 #define RB_DRAGMOVE (WM_USER+26) 1329 #define RB_GETBARHEIGHT (WM_USER+27) 1330 #define RB_GETBANDINFOW (WM_USER+28) 1331 #define RB_GETBANDINFOA (WM_USER+29) 1332 #define RB_GETBANDINFO16 WINELIB_NAME_AW(RB_GETBANDINFO16) 1333 #define RB_MINIMIZEBAND (WM_USER+30) 1334 #define RB_MAXIMIZEBAND (WM_USER+31) 1335 #define RB_GETBANDBORDERS (WM_USER+34) 1336 #define RB_SHOWBAND (WM_USER+35) 1337 #define RB_SETPALETTE (WM_USER+37) 1338 #define RB_GETPALETTE (WM_USER+38) 1339 #define RB_MOVEBAND (WM_USER+39) 1340 #define RB_GETDROPTARGET CCM_GETDROPTARGET 1341 #define RB_SETCOLORSCHEME CCM_SETCOLORSCHEME 1342 #define RB_GETCOLORSCHEME CCM_GETCOLORSCHEME 1343 #define RB_SETUNICODEFORMAT CCM_SETUNICODEFORMAT 1344 #define RB_GETUNICODEFORMAT CCM_GETUNICODEFORMAT 1345 1346 #define RBN_FIRST (0U-831U) 1347 #define RBN_LAST (0U-859U) 1348 #define RBN_HEIGHTCHANGE (RBN_FIRST-0) 1349 #define RBN_GETOBJECT (RBN_FIRST-1) 1350 #define RBN_LAYOUTCHANGED (RBN_FIRST-2) 1351 #define RBN_AUTOSIZE (RBN_FIRST-3) 1352 #define RBN_BEGINDRAG (RBN_FIRST-4) 1353 #define RBN_ENDDRAG (RBN_FIRST-5) 1354 #define RBN_DELETINGBAND (RBN_FIRST-6) 1355 #define RBN_DELETEDBAND (RBN_FIRST-7) 1356 #define RBN_CHILDSIZE (RBN_FIRST-8) 1357 1358 typedef struct tagREBARINFO 1359 { 1360 UINT cbSize; 1361 UINT fMask; 1362 HIMAGELIST himl; 1363 } REBARINFO, *LPREBARINFO; 1364 1365 typedef struct tagREBARBANDINFOA 1366 { 1367 UINT cbSize; 1368 UINT fMask; 1369 UINT fStyle; 1370 COLORREF clrFore; 1371 COLORREF clrBack; 1372 LPSTR lpText; 1373 UINT cch; 1374 INT iImage; 1375 HWND hwndChild; 1376 UINT cxMinChild; 1377 UINT cyMinChild; 1378 UINT cx; 1379 HBITMAP hbmBack; 1380 UINT wID; 1381 UINT cyChild; 1382 UINT cyMaxChild; 1383 UINT cyIntegral; 1384 UINT cxIdeal; 1385 LPARAM lParam; 1386 UINT cxHeader; 1387 } REBARBANDINFOA, *LPREBARBANDINFOA; 1388 1389 typedef REBARBANDINFOA const *LPCREBARBANDINFOA; 1390 1391 typedef struct tagREBARBANDINFOW 1392 { 1393 UINT cbSize; 1394 UINT fMask; 1395 UINT fStyle; 1396 COLORREF clrFore; 1397 COLORREF clrBack; 1398 LPWSTR lpText; 1399 UINT cch; 1400 INT iImage; 1401 HWND hwndChild; 1402 UINT cxMinChild; 1403 UINT cyMinChild; 1404 UINT cx; 1405 HBITMAP hbmBack; 1406 UINT wID; 1407 UINT cyChild; 1408 UINT cyMaxChild; 1409 UINT cyIntegral; 1410 UINT cxIdeal; 1411 LPARAM lParam; 1412 UINT cxHeader; 1413 } REBARBANDINFOW, *LPREBARBANDINFOW; 1414 1415 typedef REBARBANDINFOW const *LPCREBARBANDINFOW; 1416 1417 #define REBARBANDINFO WINELIB_NAME_AW(REBARBANDINFO) 1418 #define LPREBARBANDINFO WINELIB_NAME_AW(LPREBARBANDINFO) 1419 #define LPCREBARBANDINFO WINELIB_NAME_AW(LPCREBARBANDINFO) 1420 1421 #define REBARBANDINFO_V3_SIZEA CCSIZEOF_STRUCT(REBARBANDINFOA, wID) 1422 #define REBARBANDINFO_V3_SIZEW CCSIZEOF_STRUCT(REBARBANDINFOW, wID) 1423 #define REBARBANDINFO_V3_SIZE WINELIB_NAME_AW(REBARBANDINFO_V3_SIZE) 1424 1425 typedef struct tagNMREBARCHILDSIZE 1426 { 1427 NMHDR hdr; 1428 UINT uBand; 1429 UINT wID; 1430 RECT rcChild; 1431 RECT rcBand; 1432 } NMREBARCHILDSIZE, *LPNMREBARCHILDSIZE; 1433 1434 typedef struct tagNMREBAR 1435 { 1436 NMHDR hdr; 1437 DWORD dwMask; 1438 UINT uBand; 1439 UINT fStyle; 1440 UINT wID; 1441 LPARAM lParam; 1442 } NMREBAR, *LPNMREBAR; 1443 1444 typedef struct tagNMRBAUTOSIZE 1445 { 1446 NMHDR hdr; 1447 BOOL fChanged; 1448 RECT rcTarget; 1449 RECT rcActual; 1450 } NMRBAUTOSIZE, *LPNMRBAUTOSIZE; 1451 1452 typedef struct _RB_HITTESTINFO 1453 { 1454 POINT pt; 1455 UINT flags; 1456 INT iBand; 1457 } RBHITTESTINFO, *LPRBHITTESTINFO; 1458 1459 1460 /* Trackbar control */ 1461 1462 #define TRACKBAR_CLASS16 "msctls_trackbar" 1463 #define TRACKBAR_CLASSA "msctls_trackbar32" 1464 #define TRACKBAR_CLASSW L"msctls_trackbar32" 1465 #define TRACKBAR_CLASS WINELIB_NAME_AW(TRACKBAR_CLASS) 1466 1467 #define TBS_AUTOTICKS 0x0001 1468 #define TBS_VERT 0x0002 1469 #define TBS_HORZ 0x0000 1470 #define TBS_TOP 0x0004 1471 #define TBS_BOTTOM 0x0000 1472 #define TBS_LEFT 0x0004 1473 #define TBS_RIGHT 0x0000 1474 #define TBS_BOTH 0x0008 1475 #define TBS_NOTICKS 0x0010 1476 #define TBS_ENABLESELRANGE 0x0020 1477 #define TBS_FIXEDLENGTH 0x0040 1478 #define TBS_NOTHUMB 0x0080 1479 #define TBS_TOOLTIPS 0x0100 1480 1481 #define TBTS_TOP 0 1482 #define TBTS_LEFT 1 1483 #define TBTS_BOTTOM 2 1484 #define TBTS_RIGHT 3 1485 1486 #define TB_LINEUP 0 1487 #define TB_LINEDOWN 1 1488 #define TB_PAGEUP 2 1489 #define TB_PAGEDOWN 3 1490 #define TB_THUMBPOSITION 4 1491 #define TB_THUMBTRACK 5 1492 #define TB_TOP 6 1493 #define TB_BOTTOM 7 1494 #define TB_ENDTRACK 8 1495 1496 #define TBCD_TICS 0x0001 1497 #define TBCD_THUMB 0x0002 1498 #define TBCD_CHANNEL 0x0003 1499 1500 #define TBM_GETPOS (WM_USER) 1501 #define TBM_GETRANGEMIN (WM_USER+1) 1502 #define TBM_GETRANGEMAX (WM_USER+2) 1503 #define TBM_GETTIC (WM_USER+3) 1504 #define TBM_SETTIC (WM_USER+4) 1505 #define TBM_SETPOS (WM_USER+5) 1506 #define TBM_SETRANGE (WM_USER+6) 1507 #define TBM_SETRANGEMIN (WM_USER+7) 1508 #define TBM_SETRANGEMAX (WM_USER+8) 1509 #define TBM_CLEARTICS (WM_USER+9) 1510 #define TBM_SETSEL (WM_USER+10) 1511 #define TBM_SETSELSTART (WM_USER+11) 1512 #define TBM_SETSELEND (WM_USER+12) 1513 #define TBM_GETPTICS (WM_USER+14) 1514 #define TBM_GETTICPOS (WM_USER+15) 1515 #define TBM_GETNUMTICS (WM_USER+16) 1516 #define TBM_GETSELSTART (WM_USER+17) 1517 #define TBM_GETSELEND (WM_USER+18) 1518 #define TBM_CLEARSEL (WM_USER+19) 1519 #define TBM_SETTICFREQ (WM_USER+20) 1520 #define TBM_SETPAGESIZE (WM_USER+21) 1521 #define TBM_GETPAGESIZE (WM_USER+22) 1522 #define TBM_SETLINESIZE (WM_USER+23) 1523 #define TBM_GETLINESIZE (WM_USER+24) 1524 #define TBM_GETTHUMBRECT (WM_USER+25) 1525 #define TBM_GETCHANNELRECT (WM_USER+26) 1526 #define TBM_SETTHUMBLENGTH (WM_USER+27) 1527 #define TBM_GETTHUMBLENGTH (WM_USER+28) 1528 #define TBM_SETTOOLTIPS (WM_USER+29) 1529 #define TBM_GETTOOLTIPS (WM_USER+30) 1530 #define TBM_SETTIPSIDE (WM_USER+31) 1531 #define TBM_SETBUDDY (WM_USER+32) 1532 #define TBM_GETBUDDY (WM_USER+33) 1533 #define TBM_SETUNICODEFORMAT CCM_SETUNICODEFORMAT 1534 #define TBM_GETUNICODEFORMAT CCM_GETUNICODEFORMAT 1535 1536 1537 /* Pager control */ 1538 1539 #define WC_PAGESCROLLERA "SysPager" 1540 #define WC_PAGESCROLLERW L"SysPager" 1541 #define WC_PAGESCROLLER WINELIB_NAME_AW(WC_PAGESCROLLER) 1542 1543 #define PGS_VERT 0x00000000 1544 #define PGS_HORZ 0x00000001 1545 #define PGS_AUTOSCROLL 0x00000002 1546 #define PGS_DRAGNDROP 0x00000004 1547 1548 #define PGF_INVISIBLE 0 1549 #define PGF_NORMAL 1 1550 #define PGF_GRAYED 2 1551 #define PGF_DEPRESSED 4 1552 #define PGF_HOT 8 1553 1554 #define PGB_TOPORLEFT 0 1555 #define PGB_BOTTOMORRIGHT 1 1556 1557 /* only used with PGN_SCROLL */ 1558 #define PGF_SCROLLUP 1 1559 #define PGF_SCROLLDOWN 2 1560 #define PGF_SCROLLLEFT 4 1561 #define PGF_SCROLLRIGHT 8 1562 1563 #define PGK_SHIFT 1 1564 #define PGK_CONTROL 2 1565 #define PGK_MENU 4 1566 1567 /* only used with PGN_CALCSIZE */ 1568 #define PGF_CALCWIDTH 1 1569 #define PGF_CALCHEIGHT 2 1570 1571 #define PGM_FIRST 0x1400 1572 #define PGM_SETCHILD (PGM_FIRST+1) 1573 #define PGM_RECALCSIZE (PGM_FIRST+2) 1574 #define PGM_FORWARDMOUSE (PGM_FIRST+3) 1575 #define PGM_SETBKCOLOR (PGM_FIRST+4) 1576 #define PGM_GETBKCOLOR (PGM_FIRST+5) 1577 #define PGM_SETBORDER (PGM_FIRST+6) 1578 #define PGM_GETBORDER (PGM_FIRST+7) 1579 #define PGM_SETPOS (PGM_FIRST+8) 1580 #define PGM_GETPOS (PGM_FIRST+9) 1581 #define PGM_SETBUTTONSIZE (PGM_FIRST+10) 1582 #define PGM_GETBUTTONSIZE (PGM_FIRST+11) 1583 #define PGM_GETBUTTONSTATE (PGM_FIRST+12) 1584 #define PGM_GETDROPTARGET CCM_GETDROPTARGET 1585 1586 #define PGN_FIRST (0U-900U) 1587 #define PGN_LAST (0U-950U) 1588 #define PGN_SCROLL (PGN_FIRST-1) 1589 #define PGN_CALCSIZE (PGN_FIRST-2) 1590 1591 typedef struct 1592 { 1593 NMHDR hdr; 1594 WORD fwKeys; 1595 RECT rcParent; 1596 INT iDir; 1597 INT iXpos; 1598 INT iYpos; 1599 INT iScroll; 1600 } NMPGSCROLL, *LPNMPGSCROLL; 1601 1602 typedef struct 1603 { 1604 NMHDR hdr; 1605 DWORD dwFlag; 1606 INT iWidth; 1607 INT iHeight; 1608 } NMPGCALCSIZE, *LPNMPGCALCSIZE; 1609 1610 1611 /* Treeview control */ 1612 1613 #define WC_TREEVIEWA "SysTreeView32" 1614 #define WC_TREEVIEWW L"SysTreeView32" 1615 #define WC_TREEVIEW WINELIB_NAME_AW(WC_TREEVIEW) 1616 1617 #define TVSIL_NORMAL 0 1618 #define TVSIL_STATE 2 1619 1620 #define TV_FIRST 0x1100 1621 #define TVM_INSERTITEMA (TV_FIRST+0) 1622 #define TVM_INSERTITEMW (TV_FIRST+50) 1623 #define TVM_INSERTITEM WINELIB_NAME_AW(TVM_INSERTITEM) 1624 #define TVM_DELETEITEM (TV_FIRST+1) 1625 #define TVM_EXPAND (TV_FIRST+2) 1626 #define TVM_GETITEMRECT (TV_FIRST+4) 1627 #define TVM_GETCOUNT (TV_FIRST+5) 1628 #define TVM_GETINDENT (TV_FIRST+6) 1629 #define TVM_SETINDENT (TV_FIRST+7) 1630 #define TVM_GETIMAGELIST (TV_FIRST+8) 1631 #define TVM_SETIMAGELIST (TV_FIRST+9) 1632 #define TVM_GETNEXTITEM (TV_FIRST+10) 1633 #define TVM_SELECTITEM (TV_FIRST+11) 1634 #define TVM_GETITEMA (TV_FIRST+12) 1635 #define TVM_GETITEMW (TV_FIRST+62) 1636 #define TVM_GETITEM WINELIB_NAME_AW(TVM_GETITEM) 1637 #define TVM_SETITEMA (TV_FIRST+13) 1638 #define TVM_SETITEMW (TV_FIRST+63) 1639 #define TVM_SETITEM WINELIB_NAME_AW(TVM_SETITEM) 1640 #define TVM_EDITLABELA (TV_FIRST+14) 1641 #define TVM_EDITLABELW (TV_FIRST+65) 1642 #define TVM_EDITLABEL WINELIB_NAME_AW(TVM_EDITLABEL) 1643 #define TVM_GETEDITCONTROL (TV_FIRST+15) 1644 #define TVM_GETVISIBLECOUNT (TV_FIRST+16) 1645 #define TVM_HITTEST (TV_FIRST+17) 1646 #define TVM_CREATEDRAGIMAGE (TV_FIRST+18) 1647 #define TVM_SORTCHILDREN (TV_FIRST+19) 1648 #define TVM_ENSUREVISIBLE (TV_FIRST+20) 1649 #define TVM_SORTCHILDRENCB (TV_FIRST+21) 1650 #define TVM_ENDEDITLABELNOW (TV_FIRST+22) 1651 #define TVM_GETISEARCHSTRINGA (TV_FIRST+23) 1652 #define TVM_GETISEARCHSTRINGW (TV_FIRST+64) 1653 #define TVM_GETISEARCHSTRING WINELIB_NAME_AW(TVM_GETISEARCHSTRING) 1654 #define TVM_SETTOOLTIPS (TV_FIRST+24) 1655 #define TVM_GETTOOLTIPS (TV_FIRST+25) 1656 #define TVM_SETINSERTMARK (TV_FIRST+26) 1657 #define TVM_SETITEMHEIGHT (TV_FIRST+27) 1658 #define TVM_GETITEMHEIGHT (TV_FIRST+28) 1659 #define TVM_SETBKCOLOR (TV_FIRST+29) 1660 #define TVM_SETTEXTCOLOR (TV_FIRST+30) 1661 #define TVM_GETBKCOLOR (TV_FIRST+31) 1662 #define TVM_GETTEXTCOLOR (TV_FIRST+32) 1663 #define TVM_SETSCROLLTIME (TV_FIRST+33) 1664 #define TVM_GETSCROLLTIME (TV_FIRST+34) 1665 #define TVM_UNKNOWN35 (TV_FIRST+35) 1666 #define TVM_UNKNOWN36 (TV_FIRST+36) 1667 #define TVM_SETINSERTMARKCOLOR (TV_FIRST+37) 1668 #define TVM_GETINSERTMARKCOLOR (TV_FIRST+38) 1669 #define TVM_SETUNICODEFORMAT CCM_SETUNICODEFORMAT 1670 #define TVM_GETUNICODEFORMAT CCM_GETUNICODEFORMAT 1671 1672 #define TVN_FIRST (0U-400U) 1673 #define TVN_LAST (0U-499U) 1674 1675 #define TVN_SELCHANGING (TVN_FIRST-1) 1676 #define TVN_SELCHANGED (TVN_FIRST-2) 1677 #define TVN_GETDISPINFO (TVN_FIRST-3) 1678 #define TVN_SETDISPINFO (TVN_FIRST-4) 1679 #define TVN_ITEMEXPANDING (TVN_FIRST-5) 1680 #define TVN_ITEMEXPANDED (TVN_FIRST-6) 1681 #define TVN_BEGINDRAG (TVN_FIRST-7) 1682 #define TVN_BEGINRDRAG (TVN_FIRST-8) 1683 #define TVN_DELETEITEM (TVN_FIRST-9) 1684 #define TVN_BEGINLABELEDIT (TVN_FIRST-10) 1685 #define TVN_ENDLABELEDIT (TVN_FIRST-11) 1686 #define TVN_KEYDOWN (TVN_FIRST-12) 1687 #define TVN_GETINFOTIPA (TVN_FIRST-13) 1688 #define TVN_GETINFOTIPW (TVN_FIRST-14) 1689 #define TVN_SINGLEEXPAND (TVN_FIRST-15) 1690 1691 1692 #define TVN_SELCHANGINGW (TVN_FIRST-50) 1693 #define TVN_SELCHANGEDW (TVN_FIRST-51) 1694 #define TVN_GETDISPINFOW (TVN_FIRST-52) 1695 #define TVN_SETDISPINFOW (TVN_FIRST-53) 1696 #define TVN_ITEMEXPANDINGW (TVN_FIRST-54) 1697 #define TVN_ITEMEXPANDEDW (TVN_FIRST-55) 1698 #define TVN_BEGINDRAGW (TVN_FIRST-56) 1699 #define TVN_BEGINRDRAGW (TVN_FIRST-57) 1700 #define TVN_DELETEITEMW (TVN_FIRST-58) 1701 #define TVN_BEGINLABELEDITW (TVN_FIRST-59) 1702 #define TVN_ENDLABELEDITW (TVN_FIRST-60) 1703 1704 1705 1706 #define TVIF_TEXT 0x0001 1707 #define TVIF_IMAGE 0x0002 1708 #define TVIF_PARAM 0x0004 1709 #define TVIF_STATE 0x0008 1710 #define TVIF_HANDLE 0x0010 1711 #define TVIF_SELECTEDIMAGE 0x0020 1712 #define TVIF_CHILDREN 0x0040 1713 #define TVIF_INTEGRAL 0x0080 1714 #define TVIF_DI_SETITEM 0x1000 1715 1716 #define TVI_ROOT ((HTREEITEM)0xffff0000) /* -65536 */ 1717 #define TVI_FIRST ((HTREEITEM)0xffff0001) /* -65535 */ 1718 #define TVI_LAST ((HTREEITEM)0xffff0002) /* -65534 */ 1719 #define TVI_SORT ((HTREEITEM)0xffff0003) /* -65533 */ 1720 1721 #define TVIS_FOCUSED 0x0001 1722 #define TVIS_SELECTED 0x0002 1723 #define TVIS_CUT 0x0004 1724 #define TVIS_DROPHILITED 0x0008 1725 #define TVIS_BOLD 0x0010 1726 #define TVIS_EXPANDED 0x0020 1727 #define TVIS_EXPANDEDONCE 0x0040 1728 #define TVIS_OVERLAYMASK 0x0f00 1729 #define TVIS_STATEIMAGEMASK 0xf000 1730 #define TVIS_USERMASK 0xf000 1731 1732 #define TVHT_NOWHERE 0x0001 1733 #define TVHT_ONITEMICON 0x0002 1734 #define TVHT_ONITEMLABEL 0x0004 1735 #define TVHT_ONITEMINDENT 0x0008 1736 #define TVHT_ONITEMBUTTON 0x0010 1737 #define TVHT_ONITEMRIGHT 0x0020 1738 #define TVHT_ONITEMSTATEICON 0x0040 1739 #define TVHT_ONITEM 0x0046 1740 #define TVHT_ABOVE 0x0100 1741 #define TVHT_BELOW 0x0200 1742 #define TVHT_TORIGHT 0x0400 1743 #define TVHT_TOLEFT 0x0800 1744 1745 #define TVS_HASBUTTONS 0x0001 1746 #define TVS_HASLINES 0x0002 1747 #define TVS_LINESATROOT 0x0004 1748 #define TVS_EDITLABELS 0x0008 1749 #define TVS_DISABLEDRAGDROP 0x0010 1750 #define TVS_SHOWSELALWAYS 0x0020 1751 #define TVS_RTLREADING 0x0040 1752 #define TVS_NOTOOLTIPS 0x0080 1753 #define TVS_CHECKBOXES 0x0100 1754 #define TVS_TRACKSELECT 0x0200 1755 #define TVS_SINGLEEXPAND 0x0400 1756 #define TVS_INFOTIP 0x0800 1757 #define TVS_FULLROWSELECT 0x1000 1758 #define TVS_NOSCROLL 0x2000 1759 #define TVS_NONEVENHEIGHT 0x4000 1760 1761 #define TVS_SHAREDIMAGELISTS 0x0000 1762 #define TVS_PRIVATEIMAGELISTS 0x0400 1763 1764 1765 #define TVE_COLLAPSE 0x0001 1766 #define TVE_EXPAND 0x0002 1767 #define TVE_TOGGLE 0x0003 1768 #define TVE_EXPANDPARTIAL 0x4000 1769 #define TVE_COLLAPSERESET 0x8000 1770 1771 #define TVGN_ROOT 0 1772 #define TVGN_NEXT 1 1773 #define TVGN_PREVIOUS 2 1774 #define TVGN_PARENT 3 1775 #define TVGN_CHILD 4 1776 #define TVGN_FIRSTVISIBLE 5 1777 #define TVGN_NEXTVISIBLE 6 1778 #define TVGN_PREVIOUSVISIBLE 7 1779 #define TVGN_DROPHILITE 8 1780 #define TVGN_CARET 9 1781 #define TVGN_LASTVISIBLE 10 1782 1783 #define TVC_UNKNOWN 0x00 1784 #define TVC_BYMOUSE 0x01 1785 #define TVC_BYKEYBOARD 0x02 1786 1787 1788 typedef struct _TREEITEM *HTREEITEM; 1789 1790 typedef struct { 1791 UINT mask; 1792 HTREEITEM hItem; 1793 UINT state; 1794 UINT stateMask; 1795 LPSTR pszText; 1796 INT cchTextMax; 1797 INT iImage; 1798 INT iSelectedImage; 1799 INT cChildren; 1800 LPARAM lParam; 1801 } TVITEMA, *LPTVITEMA; 1802 1803 typedef struct { 1804 UINT mask; 1805 HTREEITEM hItem; 1806 UINT state; 1807 UINT stateMask; 1808 LPWSTR pszText; 1809 INT cchTextMax; 1810 INT iImage; 1811 INT iSelectedImage; 1812 INT cChildren; 1813 LPARAM lParam; 1814 } TVITEMW, *LPTVITEMW; 1815 1816 #define TVITEM WINELIB_NAME_AW(TVITEM) 1817 #define LPTVITEM WINELIB_NAME_AW(LPTVITEM) 1818 #define TV_ITEM TVITEM 1819 1820 typedef struct { 1821 UINT mask; 1822 HTREEITEM hItem; 1823 UINT state; 1824 UINT stateMask; 1825 LPSTR pszText; 1826 INT cchTextMax; 1827 INT iImage; 1828 INT iSelectedImage; 1829 INT cChildren; 1830 LPARAM lParam; 1831 INT iIntegral; 1832 } TVITEMEXA, *LPTVITEMEXA; 1833 1834 typedef struct { 1835 UINT mask; 1836 HTREEITEM hItem; 1837 UINT state; 1838 UINT stateMask; 1839 LPWSTR pszText; 1840 INT cchTextMax; 1841 INT iImage; 1842 INT iSelectedImage; 1843 INT cChildren; 1844 LPARAM lParam; 1845 INT iIntegral; 1846 } TVITEMEXW, *LPTVITEMEXW; 1847 1848 #define TVITEMEX WINELIB_NAME_AW(TVITEMEX) 1849 #define LPTVITEMEX WINELIB_NAME_AW(LPTVITEMEX) 1850 1851 typedef struct tagTVINSERTSTRUCTA { 1852 HTREEITEM hParent; 1853 HTREEITEM hInsertAfter; 1854 union { 1855 TVITEMEXA itemex; 1856 TVITEMA item; 1857 } DUMMYUNIONNAME; 1858 } TVINSERTSTRUCTA, *LPTVINSERTSTRUCTA; 1859 1860 typedef struct tagTVINSERTSTRUCTW { 1861 HTREEITEM hParent; 1862 HTREEITEM hInsertAfter; 1863 union { 1864 TVITEMEXW itemex; 1865 TVITEMW item; 1866 } DUMMYUNIONNAME; 1867 } TVINSERTSTRUCTW, *LPTVINSERTSTRUCTW; 1868 1869 #define TV_INSERTSTRUCT WINELIB_NAME_AW(TVINSERTSTRUCT) 1870 #define LPTV_INSERTSTRUCT WINELIB_NAME_AW(LPTVINSERTSTRUCT) 1871 1872 #define TVINSERTSTRUCT_V1_SIZEA CCSIZEOF_STRUCT(TVINSERTSTRUCTA, item) 1873 #define TVINSERTSTRUCT_V1_SIZEW CCSIZEOF_STRUCT(TVINSERTSTRUCTW, item) 1874 #define TVINSERTSTRUCT_V1_SIZE WINELIB_NAME_AW(TVINSERTSTRUCT_V1_SIZE) 1875 1876 1877 1878 typedef struct tagNMTREEVIEWA { 1879 NMHDR hdr; 1880 UINT action; 1881 TVITEMA itemOld; 1882 TVITEMA itemNew; 1883 POINT ptDrag; 1884 } NMTREEVIEWA, *LPNMTREEVIEWA; 1885 1886 typedef struct tagNMTREEVIEWW { 1887 NMHDR hdr; 1888 UINT action; 1889 TVITEMW itemOld; 1890 TVITEMW itemNew; 1891 POINT ptDrag; 1892 } NMTREEVIEWW, *LPNMTREEVIEWW; 1893 1894 #define NMTREEVIEW WINELIB_NAME_AW(NMTREEVIEW) 1895 #define NM_TREEVIEW WINELIB_NAME_AW(NMTREEVIEW) 1896 #define LPNMTREEVIEW WINELIB_NAME_AW(LPNMTREEVIEW) 1897 1898 typedef struct tagTVDISPINFOA { 1899 NMHDR hdr; 1900 TVITEMA item; 1901 } NMTVDISPINFOA, *LPNMTVDISPINFOA; 1902 1903 typedef struct tagTVDISPINFOW { 1904 NMHDR hdr; 1905 TVITEMW item; 1906 } NMTVDISPINFOW, *LPNMTVDISPINFOW; 1907 1908 #define NMTVDISPINFO WINELIB_NAME_AW(NMTVDISPINFO) 1909 #define LPNMTVDISPINFO WINELIB_NAME_AW(LPNMTVDISPINFO) 1910 #define TV_DISPINFO NMTVDISPINFO 1911 1912 //typedef INT (CALLBACK *PFNTVCOMPARE)(LPARAM, LPARAM, LPARAM); 1913 1914 typedef struct tagTVSORTCB 1915 { 1916 HTREEITEM hParent; 1917 // PFNTVCOMPARE lpfnCompare; 1918 LPARAM lParam; 1919 } TVSORTCB, *LPTVSORTCB; 1920 1921 #define TV_SORTCB TVSORTCB 1922 #define LPTV_SORTCB LPTVSORTCB 1923 1924 typedef struct tagTVHITTESTINFO { 1925 POINT pt; 1926 UINT flags; 1927 HTREEITEM hItem; 1928 } TVHITTESTINFO, *LPTVHITTESTINFO; 1929 1930 #define TV_HITTESTINFO TVHITTESTINFO 1931 1932 1933 /* Custom Draw Treeview */ 1934 1935 #define NMTVCUSTOMDRAW_V3_SIZE CCSIZEOF_STRUCT(NMTVCUSTOMDRAW, clrTextBk) 1936 1937 #define TVCDRF_NOIMAGES 0x00010000 1938 1939 typedef struct tagNMTVCUSTOMDRAW 1940 { 1941 NMCUSTOMDRAW nmcd; 1942 COLORREF clrText; 1943 COLORREF clrTextBk; 1944 INT iLevel; /* IE>0x0400 */ 1945 } NMTVCUSTOMDRAW, *LPNMTVCUSTOMDRAW; 1946 1947 /* Treeview tooltips */ 1948 1949 typedef struct tagNMTVGETINFOTIPA 1950 { 1951 NMHDR hdr; 1952 LPSTR pszText; 1953 INT cchTextMax; 1954 HTREEITEM hItem; 1955 LPARAM lParam; 1956 } NMTVGETINFOTIPA, *LPNMTVGETINFOTIPA; 1957 1958 typedef struct tagNMTVGETINFOTIPW 1959 { 1960 NMHDR hdr; 1961 LPWSTR pszText; 1962 INT cchTextMax; 1963 HTREEITEM hItem; 1964 LPARAM lParam; 1965 } NMTVGETINFOTIPW, *LPNMTVGETINFOTIPW; 1966 1967 1968 1969 1970 1971 1972 1973 #define TreeView_InsertItemA(hwnd, phdi) \ 1974 (INT)SendMessageA((hwnd), TVM_INSERTITEMA, 0, \ 1975 (LPARAM)(LPTVINSERTSTRUCTA)(phdi)) 1976 #define TreeView_DeleteItem(hwnd, hItem) \ 1977 (BOOL)SendMessageA((hwnd), TVM_DELETEITEM, 0, (LPARAM)(HTREEITEM)(hItem)) 1978 #define TreeView_DeleteAllItems(hwnd) \ 1979 (BOOL)SendMessageA((hwnd), TVM_DELETEITEM, 0, (LPARAM)TVI_ROOT) 1980 #define TreeView_Expand(hwnd, hitem, code) \ 1981 (BOOL)SendMessageA((hwnd), TVM_EXPAND, (WPARAM)code, \ 1982 (LPARAM)(HTREEITEM)(hitem)) 1983 1984 #define TreeView_GetItemRect(hwnd, hitem, prc, code) \ 1985 (*(HTREEITEM *)prc = (hitem), (BOOL)SendMessageA((hwnd), \ 1986 TVM_GETITEMRECT, (WPARAM)(code), (LPARAM)(RECT *)(prc))) 1987 1988 #define TreeView_GetCount(hwnd) \ 1989 (UINT)SendMessageA((hwnd), TVM_GETCOUNT, 0, 0) 1990 #define TreeView_GetIndent(hwnd) \ 1991 (UINT)SendMessageA((hwnd), TVM_GETINDENT, 0, 0) 1992 #define TreeView_SetIndent(hwnd, indent) \ 1993 (BOOL)SendMessageA((hwnd), TVM_SETINDENT, (WPARAM)indent, 0) 1994 1995 #define TreeView_GetImageList(hwnd, iImage) \ 1996 (HIMAGELIST)SendMessageA((hwnd), TVM_GETIMAGELIST, iImage, 0) 1997 1998 #define TreeView_SetImageList(hwnd, himl, iImage) \ 1999 (HIMAGELIST)SendMessageA((hwnd), TVM_SETIMAGELIST, iImage, \ 2000 (LPARAM)(UINT)(HIMAGELIST)(himl)) 2001 2002 #define TreeView_GetNextItem(hwnd, hitem, code) \ 2003 (HTREEITEM)SendMessageA((hwnd), TVM_GETNEXTITEM, (WPARAM)code,\ 2004 (LPARAM)(HTREEITEM) (hitem)) 2005 2006 #define TreeView_GetChild(hwnd, hitem) \ 2007 TreeView_GetNextItem(hwnd, hitem , TVGN_CHILD) 2008 #define TreeView_GetNextSibling(hwnd, hitem) \ 2009 TreeView_GetNextItem(hwnd, hitem , TVGN_NEXT) 2010 #define TreeView_GetPrevSibling(hwnd, hitem) \ 2011 TreeView_GetNextItem(hwnd, hitem , TVGN_PREVIOUS) 2012 #define TreeView_GetParent(hwnd, hitem) \ 2013 TreeView_GetNextItem(hwnd, hitem , TVGN_PARENT) 2014 #define TreeView_GetFirstVisible(hwnd) \ 2015 TreeView_GetNextItem(hwnd, NULL, TVGN_FIRSTVISIBLE) 2016 #define TreeView_GetLastVisible(hwnd) \ 2017 TreeView_GetNextItem(hwnd, NULL, TVGN_LASTVISIBLE) 2018 #define TreeView_GetNextVisible(hwnd, hitem) \ 2019 TreeView_GetNextItem(hwnd, hitem , TVGN_NEXTVISIBLE) 2020 #define TreeView_GetPrevVisible(hwnd, hitem) \ 2021 TreeView_GetNextItem(hwnd, hitem , TVGN_PREVIOUSVISIBLE) 2022 #define TreeView_GetSelection(hwnd) \ 2023 TreeView_GetNextItem(hwnd, NULL, TVGN_CARET) 2024 #define TreeView_GetDropHilight(hwnd) \ 2025 TreeView_GetNextItem(hwnd, NULL, TVGN_DROPHILITE) 2026 #define TreeView_GetRoot(hwnd) \ 2027 TreeView_GetNextItem(hwnd, NULL, TVGN_ROOT) 2028 #define TreeView_GetLastVisible(hwnd) \ 2029 TreeView_GetNextItem(hwnd, NULL, TVGN_LASTVISIBLE) 2030 2031 2032 #define TreeView_Select(hwnd, hitem, code) \ 2033 (UINT)SendMessageA((hwnd), TVM_SELECTITEM, (WPARAM)code, \ 2034 (LPARAM)(UINT)(hitem)) 2035 2036 2037 #define TreeView_SelectItem(hwnd, hitem) \ 2038 TreeView_Select(hwnd, hitem, TVGN_CARET) 2039 #define TreeView_SelectDropTarget(hwnd, hitem) \ 2040 TreeView_Select(hwnd, hitem, TVGN_DROPHILITE) 2041 /* FIXME 2042 #define TreeView_SelectSetFirstVisible(hwnd, hitem) \ 2043 TreeView_Select(hwnd, hitem, TVGN_FIRSTVISIBLE) 2044 */ 2045 2046 #define TreeView_GetItemA(hwnd, pitem) \ 2047 (BOOL)SendMessageA((hwnd), TVM_GETITEMA, 0, (LPARAM) (TVITEMA *)(pitem)) 2048 2049 #define TreeView_SetItemA(hwnd, pitem) \ 2050 (BOOL)SendMessageA((hwnd), TVM_SETITEMA, 0, (LPARAM)(const TVITEMA *)(pitem)) 2051 2052 #define TreeView_EditLabel(hwnd, hitem) \ 2053 (HWND)SendMessageA((hwnd), TVM_EDITLABEL, 0, (LPARAM)(HTREEITEM)(hitem)) 2054 2055 2056 #define TreeView_GetEditControl(hwnd) \ 2057 (HWND)SendMessageA((hwnd), TVM_GETEDITCONTROL, 0, 0) 2058 2059 #define TreeView_GetVisibleCount(hwnd) \ 2060 (UINT)SendMessageA((hwnd), TVM_GETVISIBLECOUNT, 0, 0) 2061 2062 #define TreeView_HitTest(hwnd, lpht) \ 2063 (HTREEITEM)SendMessageA((hwnd), TVM_HITTEST, 0,\ 2064 (LPARAM)(LPTVHITTESTINFO)(lpht)) 2065 2066 #define TreeView_CreateDragImage(hwnd, hitem) \ 2067 (HIMAGELIST)SendMessageA((hwnd), TVM_CREATEDRAGIMAGE, 0,\ 2068 (LPARAM)(HTREEITEM)(hitem)) 2069 2070 #define TreeView_SortChildren(hwnd, hitem, recurse) \ 2071 (BOOL)SendMessageA((hwnd), TVM_SORTCHILDREN, (WPARAM)recurse,\ 2072 (LPARAM)(HTREEITEM)(hitem)) 2073 2074 #define TreeView_EnsureVisible(hwnd, hitem) \ 2075 (BOOL)SendMessageA((hwnd), TVM_ENSUREVISIBLE, 0, (LPARAM)(UINT)(hitem)) 2076 2077 #define TreeView_SortChildrenCB(hwnd, psort, recurse) \ 2078 (BOOL)SendMessageA((hwnd), TVM_SORTCHILDRENCB, (WPARAM)recurse, \ 2079 (LPARAM)(LPTV_SORTCB)(psort)) 2080 2081 #define TreeView_EndEditLabelNow(hwnd, fCancel) \ 2082 (BOOL)SendMessageA((hwnd), TVM_ENDEDITLABELNOW, (WPARAM)fCancel, 0) 2083 2084 #define TreeView_GetISearchString(hwndTV, lpsz) \ 2085 (BOOL)SendMessageA((hwndTV), TVM_GETISEARCHSTRING, 0, \ 2086 (LPARAM)(LPTSTR)lpsz) 2087 2088 #define TreeView_SetItemHeight(hwnd, iHeight) \ 2089 (INT)SendMessageA((hwnd), TVM_SETITEMHEIGHT, (WPARAM)iHeight, 0) 2090 #define TreeView_GetItemHeight(hwnd) \ 2091 (INT)SendMessageA((hwnd), TVM_GETITEMHEIGHT, 0, 0) 2092 2093 #define TreeView_SetBkColor(hwnd, clr) \ 2094 (COLORREF)SendMessageA((hwnd), TVM_SETBKCOLOR, 0, (LPARAM)clr) 2095 2096 #define TreeView_SetTextColor(hwnd, clr) \ 2097 (COLORREF)SendMessageA((hwnd), TVM_SETTEXTCOLOR, 0, (LPARAM)clr) 2098 2099 #define TreeView_GetBkColor(hwnd) \ 2100 (COLORREF)SendMessageA((hwnd), TVM_GETBKCOLOR, 0, 0) 2101 2102 #define TreeView_GetTextColor(hwnd) \ 2103 (COLORREF)SendMessageA((hwnd), TVM_GETTEXTCOLOR, 0, 0) 2104 2105 #define TreeView_SetScrollTime(hwnd, uTime) \ 2106 (UINT)SendMessageA((hwnd), TVM_SETSCROLLTIME, uTime, 0) 2107 2108 #define TreeView_GetScrollTime(hwnd) \ 2109 (UINT)SendMessageA((hwnd), TVM_GETSCROLLTIME, 0, 0) 2110 2111 #define TreeView_SetInsertMarkColor(hwnd, clr) \ 2112 (COLORREF)SendMessageA((hwnd), TVM_SETINSERTMARKCOLOR, 0, (LPARAM)clr) 2113 #define TreeView_GetInsertMarkColor(hwnd) \ 2114 (COLORREF)SendMessageA((hwnd), TVM_GETINSERTMARKCOLOR, 0, 0) 2115 2116 2117 2118 2119 2120 2121 2122 2123 2124 /* Listview control */ 2125 2126 #define WC_LISTVIEWA "SysListView32" 2127 #define WC_LISTVIEWW L"SysListView32" 2128 #define WC_LISTVIEW WINELIB_NAME_AW(WC_LISTVIEW) 2129 2130 #define LVS_ICON 0x0000 2131 #define LVS_REPORT 0x0001 2132 #define LVS_SMALLICON 0x0002 2133 #define LVS_LIST 0x0003 2134 #define LVS_TYPEMASK 0x0003 2135 #define LVS_SINGLESEL 0x0004 2136 #define LVS_SHOWSELALWAYS 0x0008 2137 #define LVS_SORTASCENDING 0x0010 2138 #define LVS_SORTDESCENDING 0x0020 2139 #define LVS_SHAREIMAGELISTS 0x0040 2140 #define LVS_NOLABELWRAP 0x0080 2141 #define LVS_AUTOARRANGE 0x0100 2142 #define LVS_EDITLABELS 0x0200 2143 #define LVS_OWNERDATA 0x1000 2144 #define LVS_NOSCROLL 0x2000 2145 #define LVS_TYPESTYLEMASK 0xfc00 2146 #define LVS_ALIGNTOP 0x0000 2147 #define LVS_ALIGNLEFT 0x0800 2148 #define LVS_ALIGNMASK 0x0c00 2149 #define LVS_OWNERDRAWFIXED 0x0400 2150 #define LVS_NOCOLUMNHEADER 0x4000 2151 #define LVS_NOSORTHEADER 0x8000 2152 2153 #define LVCF_FMT 0x0001 2154 #define LVCF_WIDTH 0x0002 2155 #define LVCF_TEXT 0x0004 2156 #define LVCF_SUBITEM 0x0008 2157 #define LVCF_IMAGE 0x0010 2158 #define LVCF_ORDER 0x0020 2159 2160 #define LVCFMT_LEFT 0x0000 2161 #define LVCFMT_RIGHT 0x0001 2162 #define LVCFMT_CENTER 0x0002 2163 #define LVCFMT_JUSTIFYMASK 0x0003 2164 #define LVCFMT_IMAGE 0x0800 2165 #define LVCFMT_BITMAP_ON_RIGHT 0x1000 2166 #define LVCFMT_COL_HAS_IMAGES 0x8000 2167 2168 #define LVSIL_NORMAL 0 2169 #define LVSIL_SMALL 1 2170 #define LVSIL_STATE 2 2171 2172 #define LVIS_FOCUSED 0x0001 2173 #define LVIS_SELECTED 0x0002 2174 #define LVIS_CUT 0x0004 2175 #define LVIS_DROPHILITED 0x0008 2176 #define LVIS_ACTIVATING 0x0020 2177 2178 #define LVFI_PARAM 0X0001 2179 #define LVFI_STRING 0X0002 2180 #define LVFI_PARTIAL 0X0008 2181 #define LVFI_WRAP 0X0020 2182 #define LVFI_NEARESTXY 0X0040 2183 2184 #define LVIF_TEXT 0x0001 2185 #define LVIF_IMAGE 0x0002 2186 #define LVIF_PARAM 0x0004 2187 #define LVIF_STATE 0x0008 2188 #define LVIF_INDENT 0x0010 2189 #define LVIF_NORECOMPUTE 0x0800 2190 #define LVIF_DI_SETITEM 0x1000 2191 2192 #define LVIR_BOUNDS 0x0000 2193 #define LVIR_LABEL 0x0002 2194 #define LVIR_ICON 0x0001 2195 #define LVIR_SELECTBOUNDS 0x0003 2196 2197 #define LVIS_FOCUSED 0x0001 2198 #define LVIS_SELECTED 0x0002 2199 #define LVIS_CUT 0x0004 2200 #define LVIS_DROPHILITED 0x0008 2201 #define LVIS_ACTIVATING 0x0020 2202 2203 #define LVIS_OVERLAYMASK 0x0F00 2204 #define LVIS_STATEIMAGEMASK 0xF000 2205 2206 #define LVNI_ALL 0x0000 2207 #define LVNI_FOCUSED 0x0001 2208 #define LVNI_SELECTED 0x0002 2209 #define LVNI_CUT 0x0004 2210 #define LVNI_DROPHILITED 0x0008 2211 2212 #define LVNI_ABOVE 0x0100 2213 #define LVNI_BELOW 0x0200 2214 #define LVNI_TOLEFT 0x0400 2215 #define LVNI_TORIGHT 0x0800 2216 2217 #define LVHT_NOWHERE 0x0001 2218 #define LVHT_ONITEMICON 0x0002 2219 #define LVHT_ONITEMLABEL 0x0004 2220 #define LVHT_ONITEMSTATEICON 0x0008 2221 #define LVHT_ONITEM (LVHT_ONITEMICON|LVHT_ONITEMLABEL|LVHT_ONITEMSTATEICON) 2222 2223 #define LVHT_ABOVE 0x0008 2224 #define LVHT_BELOW 0x0010 2225 #define LVHT_TORIGHT 0x0020 2226 #define LVHT_TOLEFT 0x0040 2227 2228 #define LVM_FIRST 0x1000 2229 #define LVM_GETBKCOLOR (LVM_FIRST+0) 2230 #define LVM_SETBKCOLOR (LVM_FIRST+1) 2231 #define LVM_GETIMAGELIST (LVM_FIRST+2) 2232 #define LVM_SETIMAGELIST (LVM_FIRST+3) 2233 #define LVM_GETITEMCOUNT (LVM_FIRST+4) 2234 #define LVM_GETITEMA (LVM_FIRST+5) 2235 #define LVM_GETITEMW (LVM_FIRST+75) 2236 #define LVM_GETITEM WINELIB_NAME_AW(LVM_GETITEM) 2237 #define LVM_SETITEMA (LVM_FIRST+6) 2238 #define LVM_SETITEMW (LVM_FIRST+76) 2239 #define LVM_SETITEM WINELIB_NAME_AW(LVM_SETITEM) 2240 #define LVM_INSERTITEMA (LVM_FIRST+7) 2241 #define LVM_INSERTITEMW (LVM_FIRST+77) 2242 #define LVM_INSERTITEM WINELIB_NAME_AW(LVM_INSERTITEM) 2243 #define LVM_DELETEITEM (LVM_FIRST+8) 2244 #define LVM_DELETEALLITEMS (LVM_FIRST+9) 2245 #define LVM_GETCALLBACKMASK (LVM_FIRST+10) 2246 #define LVM_SETCALLBACKMASK (LVM_FIRST+11) 2247 #define LVM_GETNEXTITEM (LVM_FIRST+12) 2248 #define LVM_FINDITEMA (LVM_FIRST+13) 2249 #define LVM_FINDITEMW (LVM_FIRST+83) 2250 #define LVM_FINDITEM WINELIB_NAME_AW(LVM_FINDITEM) 2251 #define LVM_GETITEMRECT (LVM_FIRST+14) 2252 #define LVM_SETITEMPOSITION (LVM_FIRST+15) 2253 #define LVM_GETITEMPOSITION (LVM_FIRST+16) 2254 #define LVM_GETSTRINGWIDTHA (LVM_FIRST+17) 2255 #define LVM_GETSTRINGWIDTHW (LVM_FIRST+87) 2256 #define LVM_GETSTRINGWIDTH WINELIB_NAME_AW(LVM_GETSTRINGWIDTH) 2257 #define LVM_HITTEST (LVM_FIRST+18) 2258 #define LVM_ENSUREVISIBLE (LVM_FIRST+19) 2259 #define LVM_SCROLL (LVM_FIRST+20) 2260 #define LVM_REDRAWITEMS (LVM_FIRST+21) 2261 #define LVM_ARRANGE (LVM_FIRST+22) 2262 #define LVM_EDITLABELA (LVM_FIRST+23) 2263 #define LVM_EDITLABELW (LVM_FIRST+118) 2264 #define LVM_EDITLABEL WINELIB_NAME_AW(LVM_EDITLABEL) 2265 #define LVM_GETEDITCONTROL (LVM_FIRST+24) 2266 #define LVM_GETCOLUMNA (LVM_FIRST+25) 2267 #define LVM_GETCOLUMNW (LVM_FIRST+95) 2268 #define LVM_GETCOLUMN WINELIB_NAME_AW(LVM_GETCOLUMN) 2269 #define LVM_SETCOLUMNA (LVM_FIRST+26) 2270 #define LVM_SETCOLUMNW (LVM_FIRST+96) 2271 #define LVM_SETCOLUMN WINELIB_NAME_AW(LVM_SETCOLUMN) 2272 #define LVM_INSERTCOLUMNA (LVM_FIRST+27) 2273 #define LVM_INSERTCOLUMNW (LVM_FIRST+97) 2274 #define LVM_INSERTCOLUMN WINELIB_NAME_AW(LVM_INSERTCOLUMN) 2275 #define LVM_DELETECOLUMN (LVM_FIRST+28) 2276 #define LVM_GETCOLUMNWIDTH (LVM_FIRST+29) 2277 #define LVM_SETCOLUMNWIDTH (LVM_FIRST+30) 2278 #define LVM_GETHEADER (LVM_FIRST+31) 2279 2280 #define LVM_CREATEDRAGIMAGE (LVM_FIRST+33) 2281 #define LVM_GETVIEWRECT (LVM_FIRST+34) 2282 #define LVM_GETTEXTCOLOR (LVM_FIRST+35) 2283 #define LVM_SETTEXTCOLOR (LVM_FIRST+36) 2284 #define LVM_GETTEXTBKCOLOR (LVM_FIRST+37) 2285 #define LVM_SETTEXTBKCOLOR (LVM_FIRST+38) 2286 #define LVM_GETTOPINDEX (LVM_FIRST+39) 2287 #define LVM_GETCOUNTPERPAGE (LVM_FIRST+40) 2288 #define LVM_GETORIGIN (LVM_FIRST+41) 2289 #define LVM_UPDATE (LVM_FIRST+42) 2290 #define LVM_SETITEMSTATE (LVM_FIRST+43) 2291 #define LVM_GETITEMSTATE (LVM_FIRST+44) 2292 #define LVM_GETITEMTEXTA (LVM_FIRST+45) 2293 #define LVM_GETITEMTEXTW (LVM_FIRST+115) 2294 #define LVM_GETITEMTEXT WINELIB_NAME_AW(LVM_GETITEMTEXT) 2295 #define LVM_SETITEMTEXTA (LVM_FIRST+46) 2296 #define LVM_SETITEMTEXTW (LVM_FIRST+116) 2297 #define LVM_SETITEMTEXT WINELIB_NAME_AW(LVM_SETITEMTEXT) 2298 #define LVM_SETITEMCOUNT (LVM_FIRST+47) 2299 #define LVM_SORTITEMS (LVM_FIRST+48) 2300 #define LVM_SETITEMPOSITION32 (LVM_FIRST+49) 2301 #define LVM_GETSELECTEDCOUNT (LVM_FIRST+50) 2302 #define LVM_GETITEMSPACING (LVM_FIRST+51) 2303 #define LVM_GETISEARCHSTRINGA (LVM_FIRST+52) 2304 #define LVM_GETISEARCHSTRINGW (LVM_FIRST+117) 2305 #define LVM_GETISEARCHSTRING WINELIB_NAME_AW(LVM_GETISEARCHSTRING) 2306 #define LVM_SETICONSPACING (LVM_FIRST+53) 2307 #define LVM_SETEXTENDEDLISTVIEWSTYLE (LVM_FIRST+54) 2308 #define LVM_GETEXTENDEDLISTVIEWSTYLE (LVM_FIRST+55) 2309 #define LVM_GETSUBITEMRECT (LVM_FIRST+56) 2310 #define LVM_SUBITEMHITTEST (LVM_FIRST+57) 2311 #define LVM_SETCOLUMNORDERARRAY (LVM_FIRST+58) 2312 #define LVM_GETCOLUMNORDERARRAY (LVM_FIRST+59) 2313 #define LVM_SETHOTITEM (LVM_FIRST+60) 2314 #define LVM_GETHOTITEM (LVM_FIRST+61) 2315 #define LVM_SETHOTCURSOR (LVM_FIRST+62) 2316 #define LVM_GETHOTCURSOR (LVM_FIRST+63) 2317 #define LVM_APPROXIMATEVIEWRECT (LVM_FIRST+64) 2318 #define LVM_SETWORKAREAS (LVM_FIRST+65) 2319 #define LVM_GETSELECTIONMARK (LVM_FIRST+66) 2320 #define LVM_SETSELECTIONMARK (LVM_FIRST+67) 2321 #define LVM_SETBKIMAGEA (LVM_FIRST+68) 2322 #define LVM_SETBKIMAGEW (LVM_FIRST+138) 2323 #define LVM_SETBKIMAGE WINELIB_NAME_AW(LVM_SETBKIMAGE) 2324 #define LVM_GETBKIMAGEA (LVM_FIRST+69) 2325 #define LVM_GETBKIMAGEW (LVM_FIRST+139) 2326 #define LVM_GETBKIMAGE WINELIB_NAME_AW(LVM_GETBKIMAGE) 2327 #define LVM_GETWORKAREAS (LVM_FIRST+70) 2328 #define LVM_SETHOVERTIME (LVM_FIRST+71) 2329 #define LVM_GETHOVERTIME (LVM_FIRST+72) 2330 #define LVM_GETNUMBEROFWORKAREAS (LVM_FIRST+73) 2331 #define LVM_SETTOOLTIPS (LVM_FIRST+74) 2332 2333 #define LVM_GETTOOLTIPS (LVM_FIRST+78) 2334 2335 #define LVN_FIRST (0U-100U) 2336 #define LVN_LAST (0U-199U) 2337 #define LVN_ITEMCHANGING (LVN_FIRST-0) 2338 #define LVN_ITEMCHANGED (LVN_FIRST-1) 2339 #define LVN_INSERTITEM (LVN_FIRST-2) 2340 #define LVN_DELETEITEM (LVN_FIRST-3) 2341 #define LVN_DELETEALLITEMS (LVN_FIRST-4) 2342 #define LVN_BEGINLABELEDITA (LVN_FIRST-5) 2343 #define LVN_BEGINLABELEDITW (LVN_FIRST-75) 2344 #define LVN_BEGINLABELEDIT WINELIB_NAME_AW(LVN_BEGINLABELEDIT) 2345 #define LVN_ENDLABELEDITA (LVN_FIRST-6) 2346 #define LVN_ENDLABELEDITW (LVN_FIRST-76) 2347 #define LVN_ENDLABELEDIT WINELIB_NAME_AW(LVN_ENDLABELEDIT) 2348 #define LVN_COLUMNCLICK (LVN_FIRST-8) 2349 #define LVN_BEGINDRAG (LVN_FIRST-9) 2350 #define LVN_BEGINRDRAG (LVN_FIRST-11) 2351 #define LVN_ODCACHEHINT (LVN_FIRST-13) 2352 #define LVN_ODFINDITEMA (LVN_FIRST-52) 2353 #define LVN_ODFINDITEMW (LVN_FIRST-79) 2354 #define LVN_ODFINDITEM WINELIB_NAME_AW(LVN_ODFINDITEM) 2355 #define LVN_ITEMACTIVATE (LVN_FIRST-14) 2356 #define LVN_ODSTATECHANGED (LVN_FIRST-15) 2357 #define LVN_HOTTRACK (LVN_FIRST-21) 2358 #define LVN_GETDISPINFOA (LVN_FIRST-50) 2359 #define LVN_GETDISPINFOW (LVN_FIRST-77) 2360 #define LVN_GETDISPINFO WINELIB_NAME_AW(LVN_GETDISPINFO) 2361 #define LVN_SETDISPINFOA (LVN_FIRST-51) 2362 #define LVN_SETDISPINFOW (LVN_FIRST-78) 2363 #define LVN_SETDISPINFO WINELIB_NAME_AW(LVN_SETDISPINFO) 2364 2365 #define LVA_ALIGNLEFT 0x0000 2366 #define LVA_DEFAULT 0x0001 2367 #define LVA_ALIGNTOP 0x0002 2368 #define LVA_SNAPTOGRID 0x0005 2369 2370 typedef struct tagLVITEMA 2371 { 2372 UINT mask; 2373 INT iItem; 2374 INT iSubItem; 2375 UINT state; 2376 UINT stateMask; 2377 LPSTR pszText; 2378 INT cchTextMax; 2379 INT iImage; 2380 LPARAM lParam; 2381 INT iIndent; /* (_WIN32_IE >= 0x0300) */ 2382 } LVITEMA, *LPLVITEMA; 2383 2384 typedef struct tagLVITEMW 2385 { 2386 UINT mask; 2387 INT iItem; 2388 INT iSubItem; 2389 UINT state; 2390 UINT stateMask; 2391 LPWSTR pszText; 2392 INT cchTextMax; 2393 INT iImage; 2394 LPARAM lParam; 2395 INT iIndent; /* (_WIN32_IE >= 0x0300) */ 2396 } LVITEMW, *LPLVITEMW; 2397 2398 #define LVITEM WINELIB_NAME_AW(LVITEM) 2399 #define LPLVITEM WINELIB_NAME_AW(LPLVITEM) 2400 2401 #define LVITEM_V1_SIZEA CCSIZEOF_STRUCT(LVITEMA, lParam) 2402 #define LVITEM_V1_SIZEW CCSIZEOF_STRUCT(LVITEMW, lParam) 2403 #define LVITEM_V1_SIZE WINELIB_NAME_AW(LVITEM_V1_SIZE) 2404 2405 #define LV_ITEM LVITEM 2406 2407 typedef struct tagLVCOLUMNA 2408 { 2409 UINT mask; 2410 INT fmt; 2411 INT cx; 2412 LPSTR pszText; 2413 INT cchTextMax; 2414 INT iSubItem; 2415 INT iImage; /* (_WIN32_IE >= 0x0300) */ 2416 INT iOrder; /* (_WIN32_IE >= 0x0300) */ 2417 } LVCOLUMNA, *LPLVCOLUMNA; 2418 2419 typedef struct tagLVCOLUMNW 2420 { 2421 UINT mask; 2422 INT fmt; 2423 INT cx; 2424 LPWSTR pszText; 2425 INT cchTextMax; 2426 INT iSubItem; 2427 INT iImage; /* (_WIN32_IE >= 0x0300) */ 2428 INT iOrder; /* (_WIN32_IE >= 0x0300) */ 2429 } LVCOLUMNW, *LPLVCOLUMNW; 2430 2431 #define LVCOLUMN WINELIB_NAME_AW(LVCOLUMN) 2432 #define LPLVCOLUMN WINELIB_NAME_AW(LPLVCOLUMN) 2433 2434 #define LVCOLUMN_V1_SIZEA CCSIZEOF_STRUCT(LVCOLUMNA, iSubItem) 2435 #define LVCOLUMN_V1_SIZEW CCSIZEOF_STRUCT(LVCOLUMNW, iSubItem) 2436 #define LVCOLUMN_V1_SIZE WINELIB_NAME_AW(LVCOLUMN_V1_SIZE) 2437 2438 #define LV_COLUMN LVCOLUMN 2439 2440 2441 typedef struct tagNMLISTVIEW 2442 { 2443 NMHDR hdr; 2444 INT iItem; 2445 INT iSubItem; 2446 UINT uNewState; 2447 UINT uOldState; 2448 UINT uChanged; 2449 POINT ptAction; 2450 LPARAM lParam; 2451 } NMLISTVIEW, *LPNMLISTVIEW; 2452 2453 #define LPNM_LISTVIEW LPNMLISTVIEW 2454 #define NM_LISTVIEW NMLISTVIEW 2455 2456 2457 typedef struct tagLVDISPINFO 2458 { 2459 NMHDR hdr; 2460 LVITEMA item; 2461 } NMLVDISPINFOA, *LPNMLVDISPINFOA; 2462 2463 typedef struct tagLVDISPINFOW 2464 { 2465 NMHDR hdr; 2466 LVITEMW item; 2467 } NMLVDISPINFOW, *LPNMLVDISPINFOW; 2468 2469 #define NMLVDISPINFO WINELIB_NAME_AW(NMLVDISPINFO) 2470 #define LPNMLVDISPINFO WINELIB_NAME_AW(LPNMLVDISPINFO) 2471 2472 #define LV_DISPINFO NMLVDISPINFO 2473 2474 #define LVN_KEYDOWN (LVN_FIRST-55) 2475 2476 typedef struct tagLVKEYDOWN 2477 { 2478 NMHDR hdr; 2479 WORD wVKey; 2480 UINT flags; 2481 } NMLVKEYDOWN, *LPNMLVKEYDOWN; 2482 2483 #define LV_KEYDOWN NMLVKEYDOWN 2484 2485 typedef struct tagLVHITTESTINFO 2486 { 2487 POINT pt; 2488 UINT flags; 2489 INT iItem; 2490 INT iSubItem; 2491 } LVHITTESTINFO, *LPLVHITTESTINFO; 2492 2493 #define LV_HITTESTINFO LVHITTESTINFO 2494 #define _LV_HITTESTINFO tagLVHITTESTINFO 2495 #define LVHITTESTINFO_V1_SIZE CCSIZEOF_STRUCT(LVHITTESTINFO,iItem) 2496 2497 typedef struct tagLVFINDINFO 2498 { 2499 UINT flags; 2500 LPCSTR psz; 2501 LPARAM lParam; 2502 POINT pt; 2503 UINT vkDirection; 2504 } LVFINDINFO, *LPLVFINDINFO; 2505 2506 #define LV_FINDINFO LVFINDINFO 2507 2508 typedef struct tagTCHITTESTINFO 2509 { 2510 POINT pt; 2511 UINT flags; 2512 } TCHITTESTINFO, *LPTCHITTESTINFO; 2513 2514 #define TC_HITTESTINFO TCHITTESTINFO 2515 2516 //typedef INT (CALLBACK *PFNLVCOMPARE)(LPARAM, LPARAM, LPARAM); 2517 2518 #define ListView_Arrange(hwnd,code) \ 2519 (INT)SendMessageA((hwnd),LVM_ARRANGE,(WPARAM)(INT)(code),0L) 2520 #define ListView_GetItemPosition(hwnd,i,ppt) \ 2521 (INT)SendMessageA((hwnd),LVM_GETITEMPOSITION,(WPARAM)(INT)(i),(LPARAM)(LPPOINT)(ppt)) 2522 #define ListView_GetItemRect(hwnd,i,prc) \ 2523 (INT)SendMessageA((hwnd),LVM_GETITEMRECT,(WPARAM)(INT)(i),(LPARAM)(LPRECT)(prc)) 2524 #define ListView_SetItemA(hwnd,pitem) \ 2525 (INT)SendMessageA((hwnd),LVM_SETITEMA,0,(LPARAM)(const LVITEMA *)(pitem)) 2526 #define ListView_SetItemState(hwnd,i,pitem) \ 2527 (BOOL)SendMessageA((hwnd),LVM_SETITEMSTATE,(WPARAM)(UINT)(i),(LPARAM)(LPLVITEMA)(pitem)) 2528 #define ListView_GetItemState(hwnd,i,mask) \ 2529 (BOOL)SendMessageA((hwnd),LVM_GETITEMSTATE,(WPARAM)(UINT)(i),(LPARAM)(UINT)(mask)) 2530 #define ListView_GetCountPerPage(hwnd) \ 2531 (BOOL)SendMessageW((hwnd),LVM_GETCOUNTPERPAGE,0,0L) 2532 #define ListView_GetImageList(hwnd,iImageList) \ 2533 (HIMAGELIST)SendMessageA((hwnd),LVM_GETIMAGELIST,(WPARAM)(INT)(iImageList),0L) 2534 #define ListView_GetStringWidthA(hwnd,pstr) \ 2535 (INT)SendMessageA((hwnd),LVM_GETSTRINGWIDTHA,0,(LPARAM)(LPCSTR)(pstr)) 2536 #define ListView_GetTopIndex(hwnd) \ 2537 (BOOL)SendMessageA((hwnd),LVM_GETTOPINDEX,0,0L) 2538 #define ListView_Scroll(hwnd,dx,dy) \ 2539 (BOOL)SendMessageA((hwnd),LVM_SCROLL,(WPARAM)(INT)(dx),(LPARAM)(INT)(dy)) 2540 #define ListView_EnsureVisible(hwnd,i,fPartialOk) \ 2541 (BOOL)SendMessageA((hwnd),LVM_ENSUREVISIBLE,(WPARAM)(INT)i,(LPARAM)(BOOL)fPartialOk) 2542 #define ListView_SetBkColor(hwnd,clrBk) \ 2543 (BOOL)SendMessageA((hwnd),LVM_SETBKCOLOR,0,(LPARAM)(COLORREF)(clrBk)) 2544 #define ListView_GetImageList(hwnd,iImageList) \ 2545 (HIMAGELIST)SendMessageA((hwnd),LVM_GETIMAGELIST,(WPARAM)(INT)(iImageList),0L) 2546 #define ListView_SetImageList(hwnd,himl,iImageList) \ 2547 (HIMAGELIST)(UINT)SendMessageA((hwnd),LVM_SETIMAGELIST,(WPARAM)(iImageList),(LPARAM)(UINT)(HIMAGELIST)(himl)) 2548 #define ListView_GetItemCount(hwnd) \ 2549 (INT)SendMessageA((hwnd),LVM_GETITEMCOUNT,0,0L) 2550 #define ListView_GetItemA(hwnd,pitem) \ 2551 (BOOL)SendMessageA((hwnd),LVM_GETITEMA,0,(LPARAM)(LVITEMA *)(pitem)) 2552 #define ListView_GetItemW(hwnd,pitem) \ 2553 (BOOL)SendMessageW((hwnd),LVM_GETITEMW,0,(LPARAM)(LVITEMW *)(pitem)) 2554 #define ListView_GetItem WINELIB_NAME_AW(ListView_GetItem) 2555 #define ListView_HitTest(hwnd,pinfo) \ 2556 (INT)SendMessageA((hwnd),LVM_HITTEST,0,(LPARAM)(LPLVHITTESTINFO)(pinfo)) 2557 #define ListView_InsertItemA(hwnd,pitem) \ 2558 (INT)SendMessageA((hwnd),LVM_INSERTITEMA,0,(LPARAM)(const LVITEMA *)(pitem)) 2559 #define ListView_InsertItemW(hwnd,pitem) \ 2560 (INT)SendMessageW((hwnd),LVM_INSERTITEMW,0,(LPARAM)(const LVITEMW *)(pitem)) 2561 #define ListView_InsertItem WINELIB_NAME_AW(ListView_InsertItem) 2562 #define ListView_DeleteAllItems(hwnd) \ 2563 (BOOL)SendMessageA((hwnd),LVM_DELETEALLITEMS,0,0L) 2564 #define ListView_InsertColumnA(hwnd,iCol,pcol) \ 2565 (INT)SendMessageA((hwnd),LVM_INSERTCOLUMNA,(WPARAM)(INT)(iCol),(LPARAM)(const LVCOLUMNA *)(pcol)) 2566 #define ListView_InsertColumnW(hwnd,iCol,pcol) \ 2567 (INT)SendMessageW((hwnd),LVM_INSERTCOLUMNW,(WPARAM)(INT)(iCol),(LPARAM)(const LVCOLUMNW *)(pcol)) 2568 #define ListView_InsertColumn WINELIB_NAME_AW(ListView_InsertColumn) 2569 #define ListView_SortItems(hwndLV,_pfnCompare,_lPrm) \ 2570 (BOOL)SendMessageA((hwndLV),LVM_SORTITEMS,(WPARAM)(LPARAM)_lPrm,(LPARAM)(PFNLVCOMPARE)_pfnCompare) 2571 #define ListView_SetItemPosition(hwndLV, i, x, y) \ 2572 (BOOL)SendMessageA((hwndLV),LVM_SETITEMPOSITION,(WPARAM)(INT)(i),MAKELPARAM((x),(y))) 2573 #define ListView_GetSelectedCount(hwndLV) \ 2574 (UINT)SendMessageA((hwndLV),LVM_GETSELECTEDCOUNT,0,0L) 2575 2576 2577 /* Tab Control */ 2578 2579 #define WC_TABCONTROL16 "SysTabControl" 2580 #define WC_TABCONTROLA "SysTabControl32" 2581 #define WC_TABCONTROLW L"SysTabControl32" 2582 2583 #define WC_TABCONTROL WINELIB_NAME_AW(WC_TABCONTROL) 2584 2585 /* tab control styles */ 2586 #define TCS_SCROLLOPPOSITE 0x0001 /* assumes multiline tab */ 2587 #define TCS_BOTTOM 0x0002 2588 #define TCS_RIGHT 0x0002 2589 #define TCS_MULTISELECT 0x0004 /* allow multi-select in button mode */ 2590 #define TCS_FLATBUTTONS 0x0008 2591 #define TCS_FORCEICONLEFT 0x0010 2592 #define TCS_FORCELABELLEFT 0x0020 2593 #define TCS_HOTTRACK 0x0040 2594 #define TCS_VERTICAL 0x0080 2595 #define TCS_TABS 0x0000 2596 #define TCS_BUTTONS 0x0100 2597 #define TCS_SINGLELINE 0x0000 2598 #define TCS_MULTILINE 0x0200 2599 #define TCS_RIGHTJUSTIFY 0x0000 2600 #define TCS_FIXEDWIDTH 0x0400 2601 #define TCS_RAGGEDRIGHT 0x0800 2602 #define TCS_FOCUSONBUTTONDOWN 0x1000 2603 #define TCS_OWNERDRAWFIXED 0x2000 2604 #define TCS_TOOLTIPS 0x4000 2605 #define TCS_FOCUSNEVER 0x8000 2606 #define TCS_EX_FLATSEPARATORS 0x00000001 /* to be used with */ 2607 #define TCS_EX_REGISTERDROP 0x00000002 /* TCM_SETEXTENDEDSTYLE */ 2608 2609 2610 #define TCM_FIRST 0x1300 2611 2612 #define TCM_GETIMAGELIST (TCM_FIRST + 2) 2613 #define TCM_SETIMAGELIST (TCM_FIRST + 3) 2614 #define TCM_GETITEMCOUNT (TCM_FIRST + 4) 2615 #define TCM_GETITEM WINELIB_NAME_AW(TCM_GETITEM) 2616 #define TCM_GETITEMA (TCM_FIRST + 5) 2617 #define TCM_GETITEMW (TCM_FIRST + 60) 2618 #define TCM_SETITEMA (TCM_FIRST + 6) 2619 #define TCM_SETITEMW (TCM_FIRST + 61) 2620 #define TCM_SETITEM WINELIB_NAME_AW(TCM_SETITEM) 2621 #define TCM_INSERTITEMA (TCM_FIRST + 7) 2622 #define TCM_INSERTITEMW (TCM_FIRST + 62) 2623 #define TCM_INSERTITEM WINELIB_NAME_AW(TCM_INSERTITEM) 2624 #define TCM_DELETEITEM (TCM_FIRST + 8) 2625 #define TCM_DELETEALLITEMS (TCM_FIRST + 9) 2626 #define TCM_GETITEMRECT (TCM_FIRST + 10) 2627 #define TCM_GETCURSEL (TCM_FIRST + 11) 2628 #define TCM_SETCURSEL (TCM_FIRST + 12) 2629 #define TCM_HITTEST (TCM_FIRST + 13) 2630 #define TCM_SETITEMEXTRA (TCM_FIRST + 14) 2631 #define TCM_ADJUSTRECT (TCM_FIRST + 40) 2632 #define TCM_SETITEMSIZE (TCM_FIRST + 41) 2633 #define TCM_REMOVEIMAGE (TCM_FIRST + 42) 2634 #define TCM_SETPADDING (TCM_FIRST + 43) 2635 #define TCM_GETROWCOUNT (TCM_FIRST + 44) 2636 #define TCM_GETTOOLTIPS (TCM_FIRST + 45) 2637 #define TCM_SETTOOLTIPS (TCM_FIRST + 46) 2638 #define TCM_GETCURFOCUS (TCM_FIRST + 47) 2639 #define TCM_SETCURFOCUS (TCM_FIRST + 48) 2640 #define TCM_SETMINTTABWIDTH (TCM_FIRST + 49) 2641 #define TCM_DESELECTALL (TCM_FIRST + 50) 2642 #define TCM_HIGHLIGHTITEM (TCM_FIRST + 51) 2643 #define TCM_SETEXTENDEDSTYLE (TCM_FIRST + 52) 2644 #define TCM_GETEXTENDEDSTYLE (TCM_FIRST + 53) 2645 #define TCM_SETUNICODEFORMAT CCM_SETUNICODEFORMAT 2646 #define TCM_GETUNICODEFORMAT CCM_GETUNICODEFORMAT 2647 2648 2649 #define TCIF_TEXT 0x0001 2650 #define TCIF_IMAGE 0x0002 2651 #define TCIF_RTLREADING 0x0004 2652 #define TCIF_PARAM 0x0008 2653 #define TCIF_STATE 0x0010 2654 2655 #define TCIS_BUTTONPRESSED 0x0001 2656 #define TCIS_HIGHLIGHTED 0x0002 2657 2658 /* TabCtrl Macros */ 2659 #define TabCtrl_GetImageList(hwnd) \ 2660 (HIMAGELIST)SNDMSG((hwnd), TCM_GETIMAGELIST, 0, 0L) 2661 2662 #define TabCtrl_SetImageList(hwnd, himl) \ 2663 (HIMAGELIST)SNDMSG((hwnd), TCM_SETIMAGELIST, 0, (LPARAM)(UINT)(HIMAGELIST)(himl)) 2664 2665 #define TabCtrl_GetItemCount(hwnd) \ 2666 (int)SNDMSG((hwnd), TCM_GETITEMCOUNT, 0, 0L) 2667 2668 #define TabCtrl_GetItem(hwnd, iItem, pitem) \ 2669 (BOOL)SNDMSG((hwnd), TCM_GETITEM, (WPARAM)(int)iItem, (LPARAM)(TC_ITEM FAR*)(pitem)) 2670 2671 #define TabCtrl_SetItem(hwnd, iItem, pitem) \ 2672 (BOOL)SNDMSG((hwnd), TCM_SETITEM, (WPARAM)(int)iItem, (LPARAM)(TC_ITEM FAR*)(pitem)) 2673 2674 #define TabCtrl_InsertItem(hwnd, iItem, pitem) \ 2675 (int)SNDMSG((hwnd), TCM_INSERTITEM, (WPARAM)(int)iItem, (LPARAM)(const TC_ITEM FAR*)(pitem)) 2676 2677 #define TabCtrl_DeleteItem(hwnd, i) \ 2678 (BOOL)SNDMSG((hwnd), TCM_DELETEITEM, (WPARAM)(int)(i), 0L) 2679 2680 #define TabCtrl_DeleteAllItems(hwnd) \ 2681 (BOOL)SNDMSG((hwnd), TCM_DELETEALLITEMS, 0, 0L) 2682 2683 #define TabCtrl_GetItemRect(hwnd, i, prc) \ 2684 (BOOL)SNDMSG((hwnd), TCM_GETITEMRECT, (WPARAM)(int)(i), (LPARAM)(RECT FAR*)(prc)) 2685 2686 #define TabCtrl_GetCurSel(hwnd) \ 2687 (int)::SNDMSG((hwnd), TCM_GETCURSEL, 0, 0) 2688 2689 #define TabCtrl_SetCurSel(hwnd, i) \ 2690 (int)SNDMSG((hwnd), TCM_SETCURSEL, (WPARAM)i, 0) 2691 2692 #define TabCtrl_HitTest(hwndTC, pinfo) \ 2693 (int)SNDMSG((hwndTC), TCM_HITTEST, 0, (LPARAM)(TC_HITTESTINFO FAR*)(pinfo)) 2694 2695 #define TabCtrl_SetItemExtra(hwndTC, cb) \ 2696 (BOOL)SNDMSG((hwndTC), TCM_SETITEMEXTRA, (WPARAM)(cb), 0L) 2697 2698 #define TabCtrl_AdjustRect(hwnd, bLarger, prc) \ 2699 (int)SNDMSG(hwnd, TCM_ADJUSTRECT, (WPARAM)(BOOL)bLarger, (LPARAM)(RECT FAR *)prc) 2700 2701 #define TabCtrl_SetItemSize(hwnd, x, y) \ 2702 (DWORD)SNDMSG((hwnd), TCM_SETITEMSIZE, 0, MAKELPARAM(x,y)) 2703 2704 #define TabCtrl_RemoveImage(hwnd, i) \ 2705 (void)SNDMSG((hwnd), TCM_REMOVEIMAGE, i, 0L) 2706 2707 #define TabCtrl_SetPadding(hwnd, cx, cy) \ 2708 (void)SNDMSG((hwnd), TCM_SETPADDING, 0, MAKELPARAM(cx, cy)) 2709 2710 #define TabCtrl_GetRowCount(hwnd) \ 2711 (int)SNDMSG((hwnd), TCM_GETROWCOUNT, 0, 0L) 2712 2713 #define TabCtrl_GetToolTips(hwnd) \ 2714 (HWND)SNDMSG((hwnd), TCM_GETTOOLTIPS, 0, 0L) 2715 2716 #define TabCtrl_SetToolTips(hwnd, hwndTT) \ 2717 (void)SNDMSG((hwnd), TCM_SETTOOLTIPS, (WPARAM)hwndTT, 0L) 2718 2719 #define TabCtrl_GetCurFocus(hwnd) \ 2720 (int)SNDMSG((hwnd), TCM_GETCURFOCUS, 0, 0) 2721 2722 #define TabCtrl_SetCurFocus(hwnd, i) \ 2723 SNDMSG((hwnd),TCM_SETCURFOCUS, i, 0) 2724 2725 #define TabCtrl_SetMinTabWidth(hwnd, x) \ 2726 (int)SNDMSG((hwnd), TCM_SETMINTABWIDTH, 0, x) 2727 2728 #define TabCtrl_DeselectAll(hwnd, fExcludeFocus)\ 2729 (void)SNDMSG((hwnd), TCM_DESELECTALL, fExcludeFocus, 0) 2730 2731 2732 /* constants for TCHITTESTINFO */ 2733 2734 #define TCHT_NOWHERE 0x01 2735 #define TCHT_ONITEMICON 0x02 2736 #define TCHT_ONITEMLABEL 0x04 2737 #define TCHT_ONITEM (TCHT_ONITEMICON | TCHT_ONITEMLABEL) 2738 2739 2740 typedef struct tagTCITEMA { 2741 UINT mask; 2742 UINT dwState; 2743 UINT dwStateMask; 2744 LPSTR pszText; 2745 INT cchTextMax; 2746 INT iImage; 2747 LPARAM lParam; 2748 } TCITEMA, *LPTCITEMA; 2749 2750 typedef struct tagTCITEMW 2751 { 2752 UINT mask; 2753 DWORD dwState; 2754 DWORD dwStateMask; 2755 LPWSTR pszText; 2756 INT cchTextMax; 2757 INT iImage; 2758 LPARAM lParam; 2759 } TCITEMW, *LPTCITEMW; 2760 2761 #define TCITEM WINELIB_NAME_AW(TCITEM) 2762 #define LPTCITEM WINELIB_NAME_AW(LPTCITEM) 2763 #define TC_ITEM TCITEM 2764 2765 #define TCN_FIRST (0U-550U) 2766 #define TCN_LAST (0U-580U) 2767 #define TCN_KEYDOWN (TCN_FIRST - 0) 2768 #define TCN_SELCHANGE (TCN_FIRST - 1) 2769 #define TCN_SELCHANGING (TCN_FIRST - 2) 2770 #define TCN_GETOBJECT (TCN_FIRST - 3) 2771 2772 2773 /* ComboBoxEx control */ 2774 2775 #define WC_COMBOBOXEXA "ComboBoxEx32" 2776 #define WC_COMBOBOXEXW L"ComboBoxEx32" 2777 #define WC_COMBOBOXEX WINELIB_NAME_AW(WC_COMBOBOXEX) 2778 2779 #define CBEM_INSERTITEMA (WM_USER+1) 2780 #define CBEM_INSERTITEMW (WM_USER+11) 2781 #define CBEM_INSERTITEM WINELIB_NAME_AW(CBEM_INSERTITEM) 2782 #define CBEM_SETIMAGELIST (WM_USER+2) 2783 #define CBEM_GETIMAGELIST (WM_USER+3) 2784 #define CBEM_GETITEMA (WM_USER+4) 2785 #define CBEM_GETITEMW (WM_USER+13) 2786 #define CBEM_GETITEM WINELIB_NAME_AW(CBEM_GETITEM) 2787 #define CBEM_SETITEMA (WM_USER+5) 2788 #define CBEM_SETITEMW (WM_USER+12) 2789 #define CBEM_SETITEM WINELIB_NAME_AW(CBEM_SETITEM) 2790 #define CBEM_GETCOMBOCONTROL (WM_USER+6) 2791 #define CBEM_GETEDITCONTROL (WM_USER+7) 2792 #define CBEM_SETEXSTYLE (WM_USER+8) 2793 #define CBEM_GETEXSTYLE (WM_USER+9) 2794 #define CBEM_GETEXTENDEDSTYLE (WM_USER+9) 2795 #define CBEM_SETEXTENDEDSTYLE (WM_USER+14) 2796 #define CBEM_HASEDITCHANGED (WM_USER+10) 2797 #define CBEM_SETUNICODEFORMAT CCM_SETUNICODEFORMAT 2798 #define CBEM_GETUNICODEFORMAT CCM_GETUNICODEFORMAT 2799 2800 #define CBEN_FIRST (0U-800U) 2801 #define CBEN_LAST (0U-830U) 2802 2803 2804 /* Hotkey control */ 2805 2806 #define HOTKEY_CLASS16 "msctls_hotkey" 2807 #define HOTKEY_CLASSA "msctls_hotkey32" 2808 #define HOTKEY_CLASSW L"msctls_hotkey32" 2809 #define HOTKEY_CLASS WINELIB_NAME_AW(HOTKEY_CLASS) 2810 2811 #define HOTKEYF_SHIFT 0x01 2812 #define HOTKEYF_CONTROL 0x02 2813 #define HOTKEYF_ALT 0x04 2814 #define HOTKEYF_EXT 0x08 2815 2816 #define HKCOMB_NONE 0x0001 2817 #define HKCOMB_S 0x0002 2818 #define HKCOMB_C 0x0004 2819 #define HKCOMB_A 0x0008 2820 #define HKCOMB_SC 0x0010 2821 #define HKCOMB_SA 0x0020 2822 #define HKCOMB_CA 0x0040 2823 #define HKCOMB_SCA 0x0080 2824 2825 #define HKM_SETHOTKEY (WM_USER+1) 2826 #define HKM_GETHOTKEY (WM_USER+2) 2827 #define HKM_SETRULES (WM_USER+3) 2828 2829 2830 /* animate control */ 2831 2832 #define ANIMATE_CLASSA "SysAnimate32" 2833 #define ANIMATE_CLASSW L"SysAnimate32" 2834 #define ANIMATE_CLASS WINELIB_NAME_AW(ANIMATE_CLASS) 2835 2836 #define ACS_CENTER 0x0001 2837 #define ACS_TRANSPARENT 0x0002 2838 #define ACS_AUTOPLAY 0x0004 2839 #define ACS_TIMER 0x0008 /* no threads, just timers */ 2840 2841 #define ACM_OPENA (WM_USER+100) 2842 #define ACM_OPENW (WM_USER+103) 2843 #define ACM_OPEN WINELIB_NAME_AW(ACM_OPEN) 2844 #define ACM_PLAY (WM_USER+101) 2845 #define ACM_STOP (WM_USER+102) 2846 2847 #define ACN_START 1 2848 #define ACN_STOP 2 2849 2850 #define Animate_CreateA(hwndP,id,dwStyle,hInstance) \ 2851 CreateWindowA(ANIMATE_CLASSA,NULL,dwStyle,0,0,0,0,hwndP,(HMENU)(id),hInstance,NULL) 2852 #define Animate_CreateW(hwndP,id,dwStyle,hInstance) \ 2853 CreateWindowW(ANIMATE_CLASSW,NULL,dwStyle,0,0,0,0,hwndP,(HMENU)(id),hInstance,NULL) 2854 #define Animate_Create WINELIB_NAME_AW(Animate_Create) 2855 #define Animate_OpenA(hwnd,szName) \ 2856 (BOOL)SendMessageA(hwnd,ACM_OPENA,0,(LPARAM)(LPSTR)(szName)) 2857 #define Animate_OpenW(hwnd,szName) \ 2858 (BOOL)SendMessageW(hwnd,ACM_OPENW,0,(LPARAM)(LPWSTR)(szName)) 2859 #define Animate_Open WINELIB_NAME_AW(Animate_Open) 2860 #define Animate_OpenExA(hwnd,hInst,szName) \ 2861 (BOOL)SendMessageA(hwnd,ACM_OPENA,(WPARAM)hInst,(LPARAM)(LPSTR)(szName)) 2862 #define Animate_OpenExW(hwnd,hInst,szName) \ 2863 (BOOL)SendMessageW(hwnd,ACM_OPENW,(WPARAM)hInst,(LPARAM)(LPWSTR)(szName)) 2864 #define Animate_OpenEx WINELIB_NAME_AW(Animate_OpenEx) 2865 #define Animate_Play(hwnd,from,to,rep) \ 2866 (BOOL)SendMessageA(hwnd,ACM_PLAY,(WPARAM)(UINT)(rep),(LPARAM)MAKELONG(from,to)) 2867 #define Animate_Stop(hwnd) \ 2868 (BOOL)SendMessageA(hwnd,ACM_STOP,0,0) 2869 #define Animate_Close(hwnd) \ 2870 (BOOL)SendMessageA(hwnd,ACM_OPENA,0,0) 2871 #define Animate_Seek(hwnd,frame) \ 2872 (BOOL)SendMessageA(hwnd,ACM_PLAY,1,(LPARAM)MAKELONG(frame,frame)) 2873 2874 2875 /************************************************************************** 2876 * IP Address control 2877 */ 2878 2879 #define WC_IPADDRESSA "SysIPAddress32" 2880 #define WC_IPADDRESSW L"SysIPAddress32" 2881 #define WC_IPADDRESS WINELIB_NAME_AW(WC_IPADDRESS) 2882 2883 #define IPM_CLEARADDRESS (WM_USER+100) 2884 #define IPM_SETADDRESS (WM_USER+101) 2885 #define IPM_GETADDRESS (WM_USER+102) 2886 #define IPM_SETRANGE (WM_USER+103) 2887 #define IPM_SETFOCUS (WM_USER+104) 2888 #define IPM_ISBLANK (WM_USER+105) 2889 2890 #define IPN_FIRST (0U-860U) 2891 #define IPN_LAST (0U-879U) 2892 #define IPN_FIELDCHANGED (IPN_FIRST-0) 2893 2894 typedef struct tagNMIPADDRESS 2895 { 2896 NMHDR hdr; 2897 INT iField; 2898 INT iValue; 2899 } NMIPADDRESS, *LPNMIPADDRESS; 2900 2901 #define MAKEIPRANGE(low,high) \ 2902 ((LPARAM)(WORD)(((BYTE)(high)<<8)+(BYTE)(low))) 2903 #define MAKEIPADDRESS(b1,b2,b3,b4) \ 2904 ((LPARAM)(((DWORD)(b1)<<24)+((DWORD)(b2)<16)+((DWORD)(b3)<<8)+((DWORD)(b4)))) 2905 2906 #define FIRST_IPADDRESS(x) (((x)>>24)&0xff) 2907 #define SECOND_IPADDRESS(x) (((x)>>16)&0xff) 2908 #define THIRD_IPADDRESS(x) (((x)>>8)&0xff) 2909 #define FOURTH_IPADDRESS(x) ((x)&0xff) 2910 2911 2912 /************************************************************************** 2913 * Native Font control 2914 */ 2915 2916 #define WC_NATIVEFONTCTLA "NativeFontCtl" 2917 #define WC_NATIVEFONTCTLW L"NativeFontCtl" 2918 #define WC_NATIVEFONTCTL WINELIB_NAME_AW(WC_NATIVEFONTCTL) 2919 2920 #define NFS_EDIT 0x0001 2921 #define NFS_STATIC 0x0002 2922 #define NFS_LISTCOMBO 0x0004 2923 #define NFS_BUTTON 0x0008 2924 #define NFS_ALL 0x0010 2925 2926 2927 /************************************************************************** 2928 * Month calendar control 2929 */ 2930 2931 #define MONTHCAL_CLASSA "SysMonthCal32" 2932 #define MONTHCAL_CLASSW L"SysMonthCal32" 2933 #define MONTHCAL_CLASS WINELIB_NAME_AW(MONTHCAL_CLASS) 2934 2935 2936 /************************************************************************** 2937 * Date and time picker control 2938 */ 2939 2940 #define DATETIMEPICK_CLASSA "SysDateTimePick32" 2941 #define DATETIMEPICK_CLASSW L"SysDateTimePick32" 2942 #define DATETIMEPICK_CLASS WINELIB_NAME_AW(DATETIMEPICK_CLASS) 2943 2944 #define DTM_FIRST 0x1000 2945 2946 #define DTM_GETSYSTEMTIME (DTM_FIRST+1) 2947 #define DTM_SETSYSTEMTIME (DTM_FIRST+2) 2948 #define DTM_GETRANGE (DTM_FIRST+3) 2949 #define DTM_SETRANGE (DTM_FIRST+4) 2950 #define DTM_SETFORMATA (DTM_FIRST+5) 2951 #define DTM_SETFORMATW (DTM_FIRST + 50) 2952 #define DTM_SETFORMAT WINELIB_NAME_AW(DTM_SETFORMAT) 2953 #define DTM_SETMCCOLOR (DTM_FIRST+6) 2954 #define DTM_GETMCCOLOR (DTM_FIRST+7) 2955 2956 #define DTM_GETMONTHCAL (DTM_FIRST+8) 2957 2958 #define DTM_SETMCFONT (DTM_FIRST+9) 2959 #define DTM_GETMCFONT (DTM_FIRST+10) 2960 2961 2962 2963 2964 #define GDT_ERROR -1 2965 #define GDT_VALID 0 2966 #define GDT_NONE 1 2967 2968 #define GDTR_MIN 0x0001 2969 #define GDTR_MAX 0x0002 2970 2971 2972 2973 /************************************************************************** 2974 * UNDOCUMENTED functions 2975 */ 2976 2977 /* private heap memory functions */ 2978 2979 LPVOID WINAPI COMCTL32_Alloc (DWORD); 2980 LPVOID WINAPI COMCTL32_ReAlloc (LPVOID, DWORD); 2981 BOOL WINAPI COMCTL32_Free (LPVOID); 2982 DWORD WINAPI COMCTL32_GetSize (LPVOID); 2983 2984 2985 INT WINAPI Str_GetPtrA (LPCSTR, LPSTR, INT); 2986 BOOL WINAPI Str_SetPtrA (LPSTR *, LPCSTR); 2987 INT WINAPI Str_GetPtrW (LPCWSTR, LPWSTR, INT); 2988 BOOL WINAPI Str_SetPtrW (LPWSTR *, LPCWSTR); 2989 #define Str_GetPtr WINELIB_NAME_AW(Str_GetPtr) 2990 #define Str_SetPtr WINELIB_NAME_AW(Str_SetPtr) 2991 2992 2993 /* Dynamic Storage Array */ 2994 2995 typedef struct _DSA 2996 { 2997 INT nItemCount; 2998 LPVOID pData; 2999 INT nMaxCount; 3000 INT nItemSize; 3001 INT nGrow; 3002 } DSA, *HDSA; 3003 3004 HDSA WINAPI DSA_Create (INT, INT); 3005 BOOL WINAPI DSA_DeleteAllItems (const HDSA); 3006 INT WINAPI DSA_DeleteItem (const HDSA, INT); 3007 BOOL WINAPI DSA_Destroy (const HDSA); 3008 BOOL WINAPI DSA_GetItem (const HDSA, INT, LPVOID); 3009 LPVOID WINAPI DSA_GetItemPtr (const HDSA, INT); 3010 INT WINAPI DSA_InsertItem (const HDSA, INT, LPVOID); 3011 BOOL WINAPI DSA_SetItem (const HDSA, INT, LPVOID); 3012 3013 //typedef INT (CALLBACK *DSAENUMPROC)(LPVOID, DWORD); 3014 //VOID WINAPI DSA_EnumCallback (const HDSA, DSAENUMPROC, LPARAM); 3015 //BOOL WINAPI DSA_DestroyCallback (const HDSA, DSAENUMPROC, LPARAM); 3016 3017 3018 /* Dynamic Pointer Array */ 3019 3020 typedef struct _DPA 3021 { 3022 INT nItemCount; 3023 LPVOID *ptrs; 3024 HANDLE hHeap; 3025 INT nGrow; 3026 INT nMaxCount; 3027 } DPA, *HDPA; 3028 3029 HDPA WINAPI DPA_Create (INT); 3030 HDPA WINAPI DPA_CreateEx (INT, HANDLE); 3031 BOOL WINAPI DPA_Destroy (const HDPA); 3032 HDPA WINAPI DPA_Clone (const HDPA, const HDPA); 3033 LPVOID WINAPI DPA_GetPtr (const HDPA, INT); 3034 INT WINAPI DPA_GetPtrIndex (const HDPA, LPVOID); 3035 BOOL WINAPI DPA_Grow (const HDPA, INT); 3036 BOOL WINAPI DPA_SetPtr (const HDPA, INT, LPVOID); 3037 INT WINAPI DPA_InsertPtr (const HDPA, INT, LPVOID); 3038 LPVOID WINAPI DPA_DeletePtr (const HDPA, INT); 3039 BOOL WINAPI DPA_DeleteAllPtrs (const HDPA); 3040 3041 //typedef INT (CALLBACK *PFNDPACOMPARE)(LPVOID, LPVOID, LPARAM); 3042 //BOOL WINAPI DPA_Sort (const HDPA, PFNDPACOMPARE, LPARAM); 3043 3044 #define DPAS_SORTED 0x0001 3045 #define DPAS_INSERTBEFORE 0x0002 3046 #define DPAS_INSERTAFTER 0x0004 3047 3048 //INT WINAPI DPA_Search (const HDPA, LPVOID, INT, PFNDPACOMPARE, LPARAM, UINT); 3049 3050 #define DPAM_SORT 0x0001 3051 3052 //BOOL WINAPI DPA_Merge (const HDPA, const HDPA, DWORD, PFNDPACOMPARE, LPVOID, LPARAM); 3053 3054 //typedef INT (CALLBACK *DPAENUMPROC)(LPVOID, DWORD); 3055 //VOID WINAPI DPA_EnumCallback (const HDPA, DPAENUMPROC, LPARAM); 3056 //BOOL WINAPI DPA_DestroyCallback (const HDPA, DPAENUMPROC, LPARAM); 3057 3058 3059 #define DPA_GetPtrCount(hdpa) (*(INT*)(hdpa)) 3060 #define DPA_GetPtrPtr(hdpa) (*((LPVOID**)((BYTE*)(hdpa)+sizeof(INT)))) 3061 #define DPA_FastGetPtr(hdpa,i) (DPA_GetPtrPtr(hdpa)[i]) 3062 3063 3064 /* notification helper functions */ 3065 3066 LRESULT WINAPI COMCTL32_SendNotify (HWND, HWND, UINT, LPNMHDR); 3067 3068 /* type and functionality of last parameter is still unknown */ 3069 LRESULT WINAPI COMCTL32_SendNotifyEx (HWND, HWND, UINT, LPNMHDR, DWORD); 3070 3071 #ifdef __cplusplus 3072 } 3073 #endif 3074 3075 #endif /* __WINE_COMMCTRL_H */ 3076 3077
Note:
See TracChangeset
for help on using the changeset viewer.