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