From 1216b6c0235d6f55c29671c6b2b1074c8962da38 Mon Sep 17 00:00:00 2001 From: Kirill Volinsky Date: Wed, 10 Oct 2012 09:06:13 +0000 Subject: mRadio moved to protocols in fpc.cfg added pathes for protocols folder git-svn-id: http://svn.miranda-ng.org/main/trunk@1859 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c --- plugins/mRadio/commctrl.pp | 13751 ------------------------------------------- 1 file changed, 13751 deletions(-) delete mode 100644 plugins/mRadio/commctrl.pp (limited to 'plugins/mRadio/commctrl.pp') diff --git a/plugins/mRadio/commctrl.pp b/plugins/mRadio/commctrl.pp deleted file mode 100644 index 56c995c210..0000000000 --- a/plugins/mRadio/commctrl.pp +++ /dev/null @@ -1,13751 +0,0 @@ -{ - This file is part of the Free Pascal run time library. - Copyright (c) 1999-2004 by Marco van de Voort - member of the Free Pascal development team. - - See the file COPYING.FPC, included in this distribution, - for details about the copyright. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - - Original copyright statement follows. - - ************************************************************************** - * * - * commctrl.h - - Interface for the Windows Common Controls * - * * - * Version 1.2 * - * * - * Copyright (c) Microsoft Corporation. All rights reserved. * - * * - ************************************************************************** - - Note: This is an initial translation, and probably _full_ of bugs, this - is because my conversion tool was flawed, and a lot of postediting - was needed, which is bound to introduce bugs and inconsequencies - - This is an huge unit, and its maintenance and compability is not - a top-priority. - I prefer patches as bugfix over bugreports, and - preferably patches with lots of fixes at once. - - If you can't make a patch, at least research the bug thoroughly, - and provide as much info as possible (which windows version, - the C prototype from the sdk, etc) - - Help the FPC team, and try to do as much as possible yourself. -} - - -Unit CommCtrl; -Interface - -{$Mode ObjFPC} -Uses Windows,CTypes; - -// -------------------- - -// -------------------- -CONST CommCtrlDLL = 'comctl32.dll'; - -// Some reasonal defaults. -// for XP only set NT to $%0501 and IE to $0600 -// -// The NT conditional is only used for XP/no XP. - -{$DEFINE WIN32_IE=$0500} -{$DEFINE IE3PLUS} -{$DEFINE IE4PLUS} -{$define IE5plus} -{$define WIN32XP} -{$define win32vista} // till WC_STATICA -{$define ie501plus} -{$ifdef win32} - {$define _win32} -{$endif win32} -{$define ie6plus} -{$define ntddi_vista} -{$define NTDDI_WIN7} - -{$ifdef win64} - {$define _win32} -{$endif win64} - -{$DEFINE WIN32_WINNT=0} // NO XP -{.$DEFINE __IStream_INTERFACE_DEFINED__} // lpstream defined in activex afaik. - -// Sanity check in source. Not translated: -//if (WIN32_IE < $0400) && defined(WIN32_WINNT) && (WIN32_WINNT >= $0500)} -// #error _WIN32_IE setting conflicts with _WIN32_WINNT setting - -// -// Users of this header may define any number of these constants to avoid -// the definitions of each functional group. -// -// NOTOOLBAR Customizable bitmap-button toolbar control. -// NOUPDOWN Up and Down arrow increment/decrement control. -// NOSTATUSBAR Status bar control. -// NOMENUHELP APIs to help manage menus, especially with a status bar. -// NOTRACKBAR Customizable column-width tracking control. -// NODRAGLIST APIs to make a listbox source and sink drag&drop actions. -// NOPROGRESS Progress gas gauge. -// NOHOTKEY HotKey control -// NOHEADER Header bar control. -// NOIMAGEAPIS ImageList apis. -// NOLISTVIEW ListView control. -// NOTREEVIEW TreeView control. -// NOTABCONTROL Tab control. -// NOANIMATE Animate control. -// NOBUTTON Button control. -// NOSTATIC Static control. -// NOEDIT Edit control. -// NOLISTBOX Listbox control. -// NOCOMBOBOX Combobox control. -// NOSCROLLBAR Scrollbar control. -// -//============================================================================= -// Moved items due to forward defining limitations - -Const - MAX_LINKID_TEXT = 48; - L_MAX_URL_LENGTH = (2048 + 32 + length('://')); -Type - tagLITEM = Record - mask : UINT; - iLink : cint; - state : UINT; - stateMask : UINT; - szID : Array [0..MAX_LINKID_TEXT-1] OF WCHAR; - szUrl : Array [0..L_MAX_URL_LENGTH-1] OF WCHAR; - END; - LITEM = tagLITEM; - PLITEM = ^tagLITEM; - TLITEM = tagLITEM; -// PLITEM = ^tagLITEM; - - - -// include - -Procedure InitCommonControls; stdcall; external commctrldll name 'InitCommonControls'; - -{$ifdef ie3plus} -TYPE - - tagINITCOMMONCONTROLSEX = Record - dwSize : DWORD; // size of this structure - dwICC : DWORD; // flags indicating which classes to be initialized - END; - _INITCOMMONCONTROLSEX = tagINITCOMMONCONTROLSEX; - LPINITCOMMONCONTROLSEX = ^tagINITCOMMONCONTROLSEX; - TINITCOMMONCONTROLSEX = tagINITCOMMONCONTROLSEX; - PINITCOMMONCONTROLSEX = ^tagINITCOMMONCONTROLSEX; - -CONST - ICC_LISTVIEW_CLASSES = $00000001; // listview, header - ICC_TREEVIEW_CLASSES = $00000002; // treeview, tooltips - ICC_BAR_CLASSES = $00000004; // toolbar, statusbar, trackbar, tooltips - ICC_TAB_CLASSES = $00000008; // tab, tooltips - ICC_UPDOWN_CLASS = $00000010; // updown - ICC_PROGRESS_CLASS = $00000020; // progress - ICC_HOTKEY_CLASS = $00000040; // hotkey - ICC_ANIMATE_CLASS = $00000080; // animate - ICC_WIN95_CLASSES = $000000FF; - ICC_DATE_CLASSES = $00000100; // month picker, date picker, time picker, updown - ICC_USEREX_CLASSES = $00000200; // comboex - ICC_COOL_CLASSES = $00000400; // rebar (coolbar) control -{$ifdef ie4plus} - ICC_INTERNET_CLASSES = $00000800; - ICC_PAGESCROLLER_CLASS = $00001000; // page scroller - ICC_NATIVEFNTCTL_CLASS = $00002000; // native font control -{$ENDIF} -{$ifdef WIN32XP} - ICC_STANDARD_CLASSES = $00004000; - ICC_LINK_CLASS = $00008000; -{$ENDIF} - -function InitCommonControlsEx(var rec : TINITCOMMONCONTROLSEX):BOOL; stdcall; external commctrldll name 'InitCommonControlsEx'; -{$ENDIF} // _WIN32_IE >= 0x0300 - -CONST - ODT_HEADER = 100; - ODT_TAB = 101; - ODT_LISTVIEW = 102; - -//====== WM_NOTIFY codes (NMHDR.code values) ================================== - - -CONST - NM_FIRST = (0- 0); // generic to all controls - NM_LAST = (0- 99); - - LVN_FIRST = (0-100); // listview - LVN_LAST = (0-199); - -// Property sheet reserved (0U-200U) - (0U-299U) - see prsht.h - - HDN_FIRST = (0-300); // header - HDN_LAST = (0-399); - - TVN_FIRST = (0-400); // treeview - TVN_LAST = (0-499); - - TTN_FIRST = (0-520); // tooltips - TTN_LAST = (0-549); - - TCN_FIRST = (0-550); // tab control - TCN_LAST = (0-580); - -// Shell reserved (0U-580U) - (0U-589U) - - CDN_FIRST = (0-601); // common dialog (new) - CDN_LAST = (0-699); - - TBN_FIRST = (0-700); // toolbar - TBN_LAST = (0-720); - - UDN_FIRST = (0-721); // updown - UDN_LAST = (0-740); -{$ifdef ie3plus} - MCN_FIRST = (0-750); // monthcal - MCN_LAST = (0-759); - - DTN_FIRST = (0-760); // datetimepick - DTN_LAST = (0-799); - - CBEN_FIRST = (0-800); // combo box ex - CBEN_LAST = (0-830); - - RBN_FIRST = (0-831); // rebar - RBN_LAST = (0-859); -{$ENDIF} - -{$ifdef ie4plus} - IPN_FIRST = (0-860); // internet address - IPN_LAST = (0-879); // internet address - - SBN_FIRST = (0-880); // status bar - SBN_LAST = (0-899); - - PGN_FIRST = (0-900); // Pager Control - PGN_LAST = (0-950); - -{$ENDIF} - -{$ifdef ie5plus} -{$IFNDEF WMN_FIRST} - WMN_FIRST = (0-1000); - WMN_LAST = (0-1200); -{$ENDIF} -{$ENDIF} - -{$ifdef Win32XP} - BCN_FIRST = (0-1250); - BCN_LAST = (0-1350); -{$ENDIF} - -{$ifdef win32vista} - TRBN_FIRST = cardinal(0-1501); // trackbar - TRBN_LAST = cardinal(0-1519); -{$endif} - MSGF_COMMCTRL_BEGINDRAG = $4200; - MSGF_COMMCTRL_SIZEHEADER = $4201; - MSGF_COMMCTRL_DRAGSELECT = $4202; - MSGF_COMMCTRL_TOOLBARCUST = $4203; - -//====== Ranges for control message IDs ======================================= - - LVM_FIRST = $1000; // ListView messages - TV_FIRST = $1100; // TreeView messages - HDM_FIRST = $1200; // Header messages - TCM_FIRST = $1300; // Tab control messages - -{$ifdef ie4plus} - PGM_FIRST = $1400; // Pager control messages -{$ifdef win32xp}// actually 0x501=2003 or some sp? - ECM_FIRST = $1500; // Edit control messages - BCM_FIRST = $1600; // Button control messages - CBM_FIRST = $1700; // Combobox control messages -{$ENDIF} - CCM_FIRST = $2000; // Common control shared messages - CCM_LAST = (CCM_FIRST + $200); - - - CCM_SETBKCOLOR = (CCM_FIRST + 1); // lParam is bkColor - -TYPE - tagCOLORSCHEME = Record - dwSize : DWORD; - clrBtnHighlight : COLORREF; // highlight color - clrBtnShadow : COLORREF; // shadow color - END; - COLORSCHEME = tagCOLORSCHEME; - LPCOLORSCHEME = ^tagCOLORSCHEME; - TCOLORSCHEME = tagCOLORSCHEME; - PCOLORSCHEME = ^tagCOLORSCHEME; - -CONST - CCM_SETCOLORSCHEME = (CCM_FIRST + 2); // lParam is color scheme - CCM_GETCOLORSCHEME = (CCM_FIRST + 3); // fills in COLORSCHEME pointed to by lParam - CCM_GETDROPTARGET = (CCM_FIRST + 4); - CCM_SETUNICODEFORMAT = (CCM_FIRST + 5); - CCM_GETUNICODEFORMAT = (CCM_FIRST + 6); - -{$ifdef ie5plus} -{$ifdef win32xp} - COMCTL32_VERSION = 6; -{$ELSE} - COMCTL32_VERSION = 5; -{$ENDIF} - - CCM_SETVERSION = (CCM_FIRST + $7); - CCM_GETVERSION = (CCM_FIRST + $8); - CCM_SETNOTIFYWINDOW = (CCM_FIRST + $9); // wParam == hwndParent. -{$ifdef win32xp} - CCM_SETWINDOWTHEME = (CCM_FIRST + $b); - CCM_DPISCALE = (CCM_FIRST + $c); // wParam == Awareness -{$ENDIF} -{$ENDIF} // (_WIN32_IE >= 0x0500) - -{$ENDIF} // (_WIN32_IE >= 0x0400) - -{$ifdef ie4plus} -// for tooltips - INFOTIPSIZE = 1024; -{$ENDIF} - -//====== WM_NOTIFY Macros ===================================================== - -// Macro 8 -Procedure HANDLE_WM_NOTIFY( hwnd : hwnd; wParam : cint;var _lParam : NMHDR ;fn :Pointer); - -// Macro 9 -Function FORWARD_WM_NOTIFY( hwnd : hwnd; idFrom : cint;var pnmhdr : NMHDR ; fn :pointer ):LRESULT; - -//====== Generic WM_NOTIFY notification codes ================================= - - -CONST - NM_OUTOFMEMORY = (NM_FIRST-1); - NM_CLICK = (NM_FIRST-2); // uses NMCLICK struct - NM_DBLCLK = (NM_FIRST-3); - NM_RETURN = (NM_FIRST-4); - NM_RCLICK = (NM_FIRST-5); // uses NMCLICK struct - NM_RDBLCLK = (NM_FIRST-6); - NM_SETFOCUS = (NM_FIRST-7); - NM_KILLFOCUS = (NM_FIRST-8); -{$ifdef ie3plus} - NM_CUSTOMDRAW = (NM_FIRST-12); - NM_HOVER = (NM_FIRST-13); -{$ENDIF} -{$ifdef ie4plus} - NM_NCHITTEST = (NM_FIRST-14); // uses NMMOUSE struct - NM_KEYDOWN = (NM_FIRST-15); // uses NMKEY struct - NM_RELEASEDCAPTURE = (NM_FIRST-16); - NM_SETCURSOR = (NM_FIRST-17); // uses NMMOUSE struct - NM_CHAR = (NM_FIRST-18); // uses NMCHAR struct -{$ENDIF} -{$ifdef ie401plus} - NM_TOOLTIPSCREATED = (NM_FIRST-19); // notify of when the tooltips window is create -{$ENDIF} -{$ifdef ie5plus} - NM_LDOWN = (NM_FIRST-20); - NM_RDOWN = (NM_FIRST-21); - NM_THEMECHANGED = (NM_FIRST-22); -{$ENDIF} -{$ifdef win32vista} - NM_FONTCHANGED = (NM_FIRST-23); - NM_CUSTOMTEXT = (NM_FIRST-24); // uses NMCUSTOMTEXT struct - NM_TVSTATEIMAGECHANGING = (NM_FIRST-24); // uses NMTVSTATEIMAGECHANGING struct, defined after HTREEITEM -{$endif} - -{$IFNDEF CCSIZEOF_STRUCT} - -// Macro 10 -// #define CCSIZEOF_STRUCT(structname, member) (((int)((LPBYTE)(&((structname*)0)->member) - ((LPBYTE)((structname*)0)))) + sizeof(((structname*)0)->member)) -{$ENDIF} - -//====== Generic WM_NOTIFY notification structures ============================ -{$ifdef ie401plus} - -TYPE - - tagNMTOOLTIPSCREATED = Record - hdr : NMHDR; - hwndToolTips : HWND; - END; - NMTOOLTIPSCREATED = tagNMTOOLTIPSCREATED; - LPNMTOOLTIPSCREATED = ^tagNMTOOLTIPSCREATED; - TNMTOOLTIPSCREATED = tagNMTOOLTIPSCREATED; - PNMTOOLTIPSCREATED = ^tagNMTOOLTIPSCREATED; - -{$ENDIF} - -{$ifdef ie4plus} -Type - tagNMMOUSE = Record - hdr : NMHDR; - dwItemSpec : DWORD_PTR; - dwItemData : DWORD_PTR; - pt : POINT; - dwHitInfo : LPARAM; // any specifics about where on the item or control the mouse is - END; - NMMOUSE = tagNMMOUSE; - LPNMMOUSE = ^tagNMMOUSE; - TNMMOUSE = tagNMMOUSE; - PNMMOUSE = ^tagNMMOUSE; - - - NMCLICK = NMMOUSE; - LPNMCLICK = LPNMMOUSE; - -// Generic structure to request an object of a specific type. - - tagNMOBJECTNOTIFY = Record - hdr : NMHDR; - iItem : cint; -{$IFDEF __IID_DEFINED__} - piid : PIID; -{$ELSE} - piid : Pointer; -{$ENDIF} - pObject : Pointer; - hResult : HRESULT; - dwFlags : DWORD; // control specific flags (hints as to where in iItem it hit) - END; - NMOBJECTNOTIFY = tagNMOBJECTNOTIFY; - LPNMOBJECTNOTIFY = ^tagNMOBJECTNOTIFY; - TNMOBJECTNOTIFY = tagNMOBJECTNOTIFY; - PNMOBJECTNOTIFY = ^tagNMOBJECTNOTIFY; - - -// Generic structure for a key - - tagNMKEY = Record - hdr : NMHDR; - nVKey : UINT; - uFlags : UINT; - END; - NMKEY = tagNMKEY; - LPNMKEY = ^tagNMKEY; - TNMKEY = tagNMKEY; - PNMKEY = ^tagNMKEY; - - -// Generic structure for a character - - tagNMCHAR = Record - hdr : NMHDR; - ch : UINT; - dwItemPrev : DWORD; // Item previously selected - dwItemNext : DWORD; // Item to be selected - END; - NMCHAR = tagNMCHAR; - LPNMCHAR = ^tagNMCHAR; - TNMCHAR = tagNMCHAR; - PNMCHAR = ^tagNMCHAR; - -{$ifdef win32vista} - tagNMCUSTOMTEXT = Record - hdr : NMHDR; - hDC : HDC; - lpString : LPCWSTR; - nCount : cint; - lpRect : LPRECT; - uFormat : UINT; - fLink : bool; - end; - - NMCUSTOMTEXT = tagNMCUSTOMTEXT; - LPNMCUSTOMTEXT = ^tagNMCUSTOMTEXT; - TNMCUSTOMTEXT = tagNMCUSTOMTEXT; - PNMCUSTOMTEXT = LPNMCUSTOMTEXT; -{$endif} -{$ENDIF} // _WIN32_IE >= 0x0400 - - -{$ifdef ie3plus} -//==================== CUSTOM DRAW ========================================== - -// custom draw return flags -// values under 0x00010000 are reserved for global custom draw values. -// above that are for specific controls -CONST - CDRF_DODEFAULT = $00000000; - CDRF_NEWFONT = $00000002; - CDRF_SKIPDEFAULT = $00000004; - - - CDRF_NOTIFYPOSTPAINT = $00000010; - CDRF_NOTIFYITEMDRAW = $00000020; -{$ifdef ie4plus} - CDRF_NOTIFYSUBITEMDRAW = $00000020; // flags are the same, we can distinguish by context -{$ENDIF} - CDRF_NOTIFYPOSTERASE = $00000040; - CDRF_NOTIFYITEMERASE = $00000080; // according to lazarus headers. Can't find in sdk 6.0 (Vista sdk) - - -// drawstage flags -// values under 0x00010000 are reserved for global custom draw values. -// above that are for specific controls - CDDS_PREPAINT = $00000001; - CDDS_POSTPAINT = $00000002; - CDDS_PREERASE = $00000003; - CDDS_POSTERASE = $00000004; -// the 0x000010000 bit means it's individual item specific - CDDS_ITEM = $00010000; - CDDS_ITEMPREPAINT = (CDDS_ITEM OR CDDS_PREPAINT); - CDDS_ITEMPOSTPAINT = (CDDS_ITEM OR CDDS_POSTPAINT); - CDDS_ITEMPREERASE = (CDDS_ITEM OR CDDS_PREERASE); - CDDS_ITEMPOSTERASE = (CDDS_ITEM OR CDDS_POSTERASE); -{$ifdef ie4plus} - CDDS_SUBITEM = $00020000; -{$ENDIF} - -// itemState flags - CDIS_SELECTED = $0001; - CDIS_GRAYED = $0002; - CDIS_DISABLED = $0004; - CDIS_CHECKED = $0008; - CDIS_FOCUS = $0010; - CDIS_DEFAULT = $0020; - CDIS_HOT = $0040; - CDIS_MARKED = $0080; - CDIS_INDETERMINATE = $0100; -{$ifdef win32xp} - CDIS_SHOWKEYBOARDCUES = $0200; -{$ENDIF} -{$ifdef win32vista} - CDIS_NEARHOT = $0400; - CDIS_OTHERSIDEHOT = $0800; - CDIS_DROPHILITED = $1000; -{$endif} - -TYPE - - tagNMCUSTOMDRAWINFO = Record - hdr : NMHDR; - dwDrawStage : DWORD; - hdc : HDC; - rc : RECT; - dwItemSpec : DWORD_PTR; // this is control specific, but it's how to specify an item. valid only with CDDS_ITEM bit set - uItemState : UINT; - lItemlParam : LPARAM; - END; - NMCUSTOMDRAW = tagNMCUSTOMDRAWINFO; - LPNMCUSTOMDRAW = ^tagNMCUSTOMDRAWINFO; - TNMCUSTOMDRAWINFO = tagNMCUSTOMDRAWINFO; - PNMCUSTOMDRAWINFO = ^tagNMCUSTOMDRAWINFO; - PNMCustomDraw = PNMCUSTOMDRAWINFO; - TNMCustomDraw = tagNMCUSTOMDRAWINFO; - - tagNMTTCUSTOMDRAW = Record - nmcd : NMCUSTOMDRAW; - uDrawFlags : UINT; - END; - NMTTCUSTOMDRAW = tagNMTTCUSTOMDRAW; - LPNMTTCUSTOMDRAW = ^tagNMTTCUSTOMDRAW; - TNMTTCUSTOMDRAW = tagNMTTCUSTOMDRAW; - PNMTTCUSTOMDRAW = ^tagNMTTCUSTOMDRAW; - - -{$ENDIF} // _WIN32_IE >= 0x0300 - - -//====== IMAGE APIS =========================================================== - -{$IFNDEF NOIMAGEAPIS} - - -CONST - CLR_NONE = DWORD($FFFFFFFF); - CLR_DEFAULT = DWORD($FF000000); - - -{$IFNDEF IMAGELISTDRAWPARAMS} -{$ifdef ie3plus} -TYPE - _IMAGELISTDRAWPARAMS = Record - cbSize : DWORD; - himl : HIMAGELIST; - i : cint; - hdcDst : HDC; - x : cint; - y : cint; - cx : cint; - cy : cint; - xBitmap : cint; // x offest from the upperleft of bitmap - yBitmap : cint; // y offset from the upperleft of bitmap - rgbBk : COLORREF; - rgbFg : COLORREF; - fStyle : UINT; - dwRop : DWORD; -{$ifdef win32xp} - fState : DWORD; - Frame : DWORD; - crEffect : COLORREF; -{$ENDIF} - END; - tagIMAGELISTDRAWPARAMS = _IMAGELISTDRAWPARAMS; - IMAGELISTDRAWPARAMS = _IMAGELISTDRAWPARAMS; - LPIMAGELISTDRAWPARAMS = ^_IMAGELISTDRAWPARAMS; - TIMAGELISTDRAWPARAMS = _IMAGELISTDRAWPARAMS; - PIMAGELISTDRAWPARAMS = ^_IMAGELISTDRAWPARAMS; - -// #define IMAGELISTDRAWPARAMS_V3_SIZE CCSIZEOF_STRUCT(IMAGELISTDRAWPARAMS, dwRop) - -{$ENDIF} // _WIN32_IE >= 0x0300 -{$ENDIF} - - -CONST - ILC_MASK = $00000001; - ILC_COLOR = $00000000; - ILC_COLORDDB = $000000FE; - ILC_COLOR4 = $00000004; - ILC_COLOR8 = $00000008; - ILC_COLOR16 = $00000010; - ILC_COLOR24 = $00000018; - ILC_COLOR32 = $00000020; - ILC_PALETTE = $00000800; // (not implemented) -{$ifdef win32xp} - ILC_MIRROR = $00002000; // Mirror the icons contained, if the process is mirrored - ILC_PERITEMMIRROR = $00008000; // Causes the mirroring code to mirror each item when inserting a set of images, verses the whole strip -{$ENDIF} -{$ifdef win32vista} - ILC_ORIGINALSIZE = $00010000; // Imagelist should accept smaller than set images and apply OriginalSize based on image added - ILC_HIGHQUALITYSCALE = $00020000; // Imagelist should enable use of the high quality scaler. -{$endif} - -function ImageList_Create(cx:cint;cy:cint;flags:UINT;cInitial:cint;cGrow:cint):HIMAGELIST; stdcall; external commctrldll name 'ImageList_Create'; -function ImageList_Destroy(himl:HIMAGELIST):BOOL; stdcall; external commctrldll name 'ImageList_Destroy'; - -function ImageList_GetImageCount(himl:HIMAGELIST):cint; stdcall; external commctrldll name 'ImageList_GetImageCount'; -{$ifdef ie3plus} -function ImageList_SetImageCount(himl:HIMAGELIST;uNewCount:UINT):BOOL; stdcall; external commctrldll name 'ImageList_SetImageCount'; -{$ENDIF} - -function ImageList_Add(himl:HIMAGELIST;hbmImage:HBITMAP;hbmMask:HBITMAP):cint; stdcall; external commctrldll name 'ImageList_Add'; - -function ImageList_ReplaceIcon(himl:HIMAGELIST;i:cint;hicon:HICON):cint; stdcall; external commctrldll name 'ImageList_ReplaceIcon'; -function ImageList_SetBkColor(himl:HIMAGELIST;clrBk:COLORREF):COLORREF; stdcall; external commctrldll name 'ImageList_SetBkColor'; -function ImageList_GetBkColor(himl:HIMAGELIST):COLORREF; stdcall; external commctrldll name 'ImageList_GetBkColor'; -function ImageList_SetOverlayImage(himl:HIMAGELIST;iImage:cint;iOverlay:cint):BOOL; stdcall; external commctrldll name 'ImageList_SetOverlayImage'; - -// Macro 11 -Function ImageList_AddIcon(Himl:HIMAGELIST;hicon:HICON):cint; - -CONST - ILD_NORMAL = $00000000; - ILD_TRANSPARENT = $00000001; - ILD_MASK = $00000010; - ILD_IMAGE = $00000020; -{$ifdef ie3plus} - ILD_ROP = $00000040; -{$ENDIF} - ILD_BLEND25 = $00000002; - ILD_BLEND50 = $00000004; - ILD_OVERLAYMASK = $00000F00; - -// Macro 12 -// #define INDEXTOOVERLAYMASK(i) ((i) << 8) - -CONST - ILD_PRESERVEALPHA = $00001000; // This preserves the alpha channel in dest - ILD_SCALE = $00002000; // Causes the image to be scaled to cx, cy instead of clipped - ILD_DPISCALE = $00004000; -{$ifdef win32vista} - ILD_ASYNC = $00008000; -{$endif} - - ILD_SELECTED = ILD_BLEND50; - ILD_FOCUS = ILD_BLEND25; - ILD_BLEND = ILD_BLEND50; - CLR_HILIGHT = CLR_DEFAULT; - - ILS_NORMAL = $00000000; - ILS_GLOW = $00000001; - ILS_SHADOW = $00000002; - ILS_SATURATE = $00000004; - ILS_ALPHA = $00000008; - -{$ifdef win32vista} - ILGT_NORMAL = $00000000; - ILGT_ASYNC = $00000001; -{$endif} - -function ImageList_Draw(himl:HIMAGELIST;i:cint;hdcDst:HDC;x:cint;y:cint;fStyle:UINT):BOOL; stdcall; external commctrldll name 'ImageList_Draw'; - - -{$IFDEF _WIN32} - -{$ifdef win32vista} -const - HBITMAP_CALLBACK =HBITMAP(-1); // only for SparseImageList -{$endif} -function ImageList_Replace(himl:HIMAGELIST;i:cint;hbmImage:HBITMAP;hbmMask:HBITMAP):BOOL; stdcall; external commctrldll name 'ImageList_Replace'; - -function ImageList_AddMasked(himl:HIMAGELIST;hbmImage:HBITMAP;crMask:COLORREF):cint; stdcall; external commctrldll name 'ImageList_AddMasked'; -function ImageList_DrawEx(himl:HIMAGELIST;i:cint;hdcDst:HDC;x:cint;y:cint;dx:cint;dy:cint;rgbBk:COLORREF;rgbFg:COLORREF;fStyle:UINT):BOOL; stdcall; external commctrldll name 'ImageList_DrawEx'; -{$ifdef ie3plus} -function ImageList_DrawIndirect(pimldp:PIMAGELISTDRAWPARAMS):BOOL; stdcall; external commctrldll name 'ImageList_DrawIndirect'; -{$ENDIF} -function ImageList_Remove(himl:HIMAGELIST;i:cint):BOOL; stdcall; external commctrldll name 'ImageList_Remove'; -function ImageList_GetIcon(himl:HIMAGELIST;i:cint;flags:UINT):HICON; stdcall; external commctrldll name 'ImageList_GetIcon'; -function ImageList_LoadImageA(hi:HINST;lpbmp:LPCSTR;cx:cint;cGrow:cint;crMask:COLORREF;uType:UINT;uFlags:UINT):HIMAGELIST; stdcall; external commctrldll name 'ImageList_LoadImageA'; -function ImageList_LoadImageW(hi:HINST;lpbmp:LPCWSTR;cx:cint;cGrow:cint;crMask:COLORREF;uType:UINT;uFlags:UINT):HIMAGELIST; stdcall; external commctrldll name 'ImageList_LoadImageW'; -function ImageList_LoadImage(hi:HINST;lpbmp:LPCSTR;cx:cint;cGrow:cint;crMask:COLORREF;uType:UINT;uFlags:UINT):HIMAGELIST; stdcall; external commctrldll name 'ImageList_LoadImageA'; -function ImageList_LoadImage(hi:HINST;lpbmp:LPCWSTR;cx:cint;cGrow:cint;crMask:COLORREF;uType:UINT;uFlags:UINT):HIMAGELIST; stdcall; external commctrldll name 'ImageList_LoadImageW'; - -{$IFDEF UNICODE} -// function ImageList_LoadImageW(hi:HINSTANCE;lpbmp:LPCWSTR;cx:cint;cGrow:cint;crMask:COLORREF;uType:UINT;uFlags:UINT):HIMAGELIST; external commctrldll name 'ImageList_LoadImageW'; -{$ELSE} -// function ImageList_LoadImageA(hi:HINSTANCE;lpbmp:LPCSTR;cx:cint;cGrow:cint;crMask:COLORREF;uType:UINT;uFlags:UINT):HIMAGELIST; external commctrldll name 'ImageList_LoadImageA'; -{$ENDIF} - -{$ifdef ie3plus} - -CONST - ILCF_MOVE = ($00000000); - ILCF_SWAP = ($00000001); - -function ImageList_Copy(himlDst:HIMAGELIST;iDst:cint;himlSrc:HIMAGELIST;iSrc:cint;uFlags:UINT):BOOL; stdcall; external commctrldll name 'ImageList_Copy'; -{$ENDIF} - -function ImageList_BeginDrag(himlTrack:HIMAGELIST;iTrack:cint;dxHotspot:cint;dyHotspot:cint):BOOL; stdcall; external commctrldll name 'ImageList_BeginDrag'; -function ImageList_EndDrag:BOOL; stdcall; external commctrldll name 'ImageList_EndDrag'; -function ImageList_DragEnter(hwndLock:HWND;x:cint;y:cint):BOOL; stdcall; external commctrldll name 'ImageList_DragEnter'; -function ImageList_DragLeave(hwndLock:HWND):BOOL; stdcall; external commctrldll name 'ImageList_DragLeave'; -function ImageList_DragMove(x:cint;y:cint):BOOL; stdcall; external commctrldll name 'ImageList_DragMove'; -function ImageList_SetDragCursorImage(himlDrag:HIMAGELIST;iDrag:cint;dxHotspot:cint;dyHotspot:cint):BOOL; stdcall; external commctrldll name 'ImageList_SetDragCursorImage'; - -function ImageList_DragShowNolock(fShow:BOOL):BOOL; stdcall; external commctrldll name 'ImageList_DragShowNolock'; -function ImageList_GetDragImage(ppt:PPOINT;pptHotspot:PPOINT):HIMAGELIST; stdcall; external commctrldll name 'ImageList_GetDragImage'; - -// Macro 13 -Procedure ImageList_RemoveAll(himl:HIMAGELIST); - -// Macro 14 -function ImageList_ExtractIcon(hi:longint; himl:HIMAGELIST;i:longint):HICON; - - -// Macro 15 -Procedure ImageList_LoadBitmap(hi:HInst;bmp:LPCTSTR;cx:cint;cGrow:cint;crMask:COLORREF); - -{$IFDEF __IStream_INTERFACE_DEFINED__} - -function ImageList_Read(pstm:ISTREAM):HIMAGELIST; stdcall; external commctrldll name 'ImageList_Read'; -function ImageList_Write(himl:HIMAGELIST;pstm:ISTREAM):BOOL; stdcall; external commctrldll name 'ImageList_Write'; - -{$ifdef Win32XP} - -CONST - ILP_NORMAL = 0; // Writes or reads the stream using new sematics for this version of comctl32 - ILP_DOWNLEVEL = 1; // Write or reads the stream using downlevel sematics. - - -function ImageList_ReadEx(dwFlags:DWORD;pstm:ISTREAM;riid:TIID;ppv:PPointer):HRESULT; stdcall; external commctrldll name 'ImageList_ReadEx'; -function ImageList_WriteEx(himl:HIMAGELIST;dwFlags:DWORD;pstm:ISTREAM):HRESULT; stdcall; external commctrldll name 'ImageList_WriteEx'; -{$ENDIF} - -{$ENDIF} - -{$IFNDEF IMAGEINFO} -TYPE - - _IMAGEINFO = Record - hbmImage : HBITMAP; - hbmMask : HBITMAP; - Unused1 : cint; - Unused2 : cint; - rcImage : RECT; - END; - IMAGEINFO = _IMAGEINFO; - LPIMAGEINFO = ^_IMAGEINFO; - TIMAGEINFO = _IMAGEINFO; - PIMAGEINFO = ^_IMAGEINFO; - -{$ENDIF} - -function ImageList_GetIconSize(himl:HIMAGELIST;cx:Pint;cy:Pint):BOOL; stdcall; external commctrldll name 'ImageList_GetIconSize'; -function ImageList_GetIconSize(himl:HIMAGELIST;var cx:cint;var cy:cint):BOOL; stdcall; external commctrldll name 'ImageList_GetIconSize'; -function ImageList_SetIconSize(himl:HIMAGELIST;cx:cint;cy:cint):BOOL; stdcall; external commctrldll name 'ImageList_SetIconSize'; -function ImageList_GetImageInfo(himl:HIMAGELIST;i:cint;pImageInfo:PIMAGEINFO):BOOL; stdcall; external commctrldll name 'ImageList_GetImageInfo'; -function ImageList_GetImageInfo(himl:HIMAGELIST;i:cint;var pImageInfo:_IMAGEINFO):BOOL; stdcall; external commctrldll name 'ImageList_GetImageInfo'; -function ImageList_Merge(himl1:HIMAGELIST;i1:cint;himl2:HIMAGELIST;i2:cint;dx:cint;dy:cint):HIMAGELIST; stdcall; external commctrldll name 'ImageList_Merge'; -{$ifdef ie4plus} -function ImageList_Duplicate(himl:HIMAGELIST):HIMAGELIST; stdcall; external commctrldll name 'ImageList_Duplicate'; -{$ENDIF} - - -{$ENDIF} - - -{$ENDIF} - - -//====== HEADER CONTROL ======================================================= - -{$IFNDEF NOHEADER} - -{$IFDEF _WIN32} - -CONST - WC_HEADERA = 'SysHeader32'; - WC_HEADERW = {L}'SysHeader32'; -{$IFDEF UNICODE} - WC_HEADER = WC_HEADERW; -{$ELSE} - WC_HEADER = WC_HEADERA; -{$ENDIF} - -{$ELSE} - -CONST - WC_HEADER = 'SysHeader'; -{$ENDIF} - -CONST - -// begin_r_commctrl - - HDS_HORZ = $0000; - HDS_BUTTONS = $0002; -{$ifdef ie3plus} - HDS_HOTTRACK = $0004; -{$ENDIF} - HDS_HIDDEN = $0008; - -{$ifdef ie3plus} - HDS_DRAGDROP = $0040; - HDS_FULLDRAG = $0080; -{$ENDIF} -{$ifdef ie5plus} - HDS_FILTERBAR = $0100; -{$ENDIF} - -{$ifdef win32xp} - HDS_FLAT = $0200; -{$ENDIF} -{$ifdef win32vista} - HDS_CHECKBOXES = $0400; - HDS_NOSIZING = $0800; - HDS_OVERFLOW = $1000; -{$endif} -// end_r_commctrl - -{$ifdef ie5plus} - - HDFT_ISSTRING = $0000; // HD_ITEM.pvFilter points to a HD_TEXTFILTER - HDFT_ISNUMBER = $0001; // HD_ITEM.pvFilter points to a INT - - HDFT_HASNOVALUE = $8000; // clear the filter, by setting this bit - -TYPE - - - _HD_TEXTFILTERA = Record - pszText : LPSTR; // [in] pointer to the buffer containing the filter (ANSI) - cchTextMax : cint; // [in] max size of buffer/edit control buffer - END; - HD_TEXTFILTERA = _HD_TEXTFILTERA; - LPHD_TEXTFILTERA = ^_HD_TEXTFILTERA; - THD_TEXTFILTERA = _HD_TEXTFILTERA; - PHD_TEXTFILTERA = ^_HD_TEXTFILTERA; - - - _HD_TEXTFILTERW = Record - pszText : LPWSTR; // [in] pointer to the buffer contiaining the filter (UNICODE) - cchTextMax : cint; // [in] max size of buffer/edit control buffer - END; - HD_TEXTFILTERW = _HD_TEXTFILTERW; - LPHD_TEXTFILTERW = ^_HD_TEXTFILTERW; - THD_TEXTFILTERW = _HD_TEXTFILTERW; - PHD_TEXTFILTERW = ^_HD_TEXTFILTERW; - -{$IFDEF UNICODE} - HD_TEXTFILTER = HD_TEXTFILTERW; - HDTEXTFILTER = HD_TEXTFILTERW; - LPHD_TEXTFILTER = LPHD_TEXTFILTERW; - LPHDTEXTFILTER = LPHD_TEXTFILTERW; -{$ELSE} - HD_TEXTFILTER = HD_TEXTFILTERA; - HDTEXTFILTER = HD_TEXTFILTERA; - LPHD_TEXTFILTER = LPHD_TEXTFILTERA; - LPHDTEXTFILTER = LPHD_TEXTFILTERA; -{$ENDIF} - - -{$ENDIF} // _WIN32_IE >= 0x0500 - -TYPE - - - _HD_ITEMA = Record - mask : UINT; - cxy : cint; - pszText : LPSTR; - hbm : HBITMAP; - cchTextMax : cint; - fmt : cint; - lParam : LPARAM; -{$ifdef ie3plus} - iImage : cint; // index of bitmap in ImageList - iOrder : cint; // where to draw this item -{$ENDIF} -{$ifdef ie5plus} - _type : UINT; // [in] filter type (defined what pvFilter is a pointer to) - pvFilter : Pointer; // [in] fillter data see above -{$ENDIF} -{$ifdef win32vista} - state : UINT; -{$endif} - END; - HDITEMA = _HD_ITEMA; - pHDITEMA = ^_HD_ITEMA; - - LPHDITEMA = ^_HD_ITEMA; - THD_ITEMA = _HD_ITEMA; - PHD_ITEMA = ^_HD_ITEMA; - THDItem = THD_ITEMA; - PHDItem = PHD_ITEMA; - - -// #define HDITEMA_V1_SIZE CCSIZEOF_STRUCT(HDITEMA, lParam) -// #define HDITEMW_V1_SIZE CCSIZEOF_STRUCT(HDITEMW, lParam) - - - _HD_ITEMW = Record - mask : UINT; - cxy : cint; - pszText : LPWSTR; - hbm : HBITMAP; - cchTextMax : cint; - fmt : cint; - lParam : LPARAM; -{$ifdef ie3plus} - iImage : cint; // index of bitmap in ImageList - iOrder : cint; -{$ENDIF} -{$ifdef ie5plus} - _type : UINT; // [in] filter type (defined what pvFilter is a pointer to) - pvFilter : Pointer; // [in] fillter data see above -{$ENDIF} -{$ifdef win32vista} - state : UINT; -{$endif} - END; - HDITEMW = _HD_ITEMW; - pHDITEMW = ^_HD_ITEMW; - LPHDITEMW = ^_HD_ITEMW; - THD_ITEMW = _HD_ITEMW; - PHD_ITEMW = ^_HD_ITEMW; - - -TYPE -{$IFDEF UNICODE} - HDITEM = HDITEMW; - LPHDITEM = LPHDITEMW; -// HDITEM_V1_SIZE = HDITEMW_V1_SIZE; -{$ELSE} - - HDITEM = HDITEMA; - LPHDITEM = LPHDITEMA; -// HDITEM_V1_SIZE = HDITEMA_V1_SIZE; -{$ENDIF} - - HD_ITEM = HDITEM; - - -CONST - - HDI_WIDTH = $0001; - HDI_HEIGHT = HDI_WIDTH; - HDI_TEXT = $0002; - HDI_FORMAT = $0004; - HDI_LPARAM = $0008; - HDI_BITMAP = $0010; -{$ifdef ie3plus} - HDI_IMAGE = $0020; - HDI_DI_SETITEM = $0040; - HDI_ORDER = $0080; -{$ENDIF} -{$ifdef ie5plus} - HDI_FILTER = $0100; -{$ENDIF} -{$ifdef win32vista} - HDI_STATE = $0200; -{$endif} - - HDF_LEFT = $0000; - HDF_RIGHT = $0001; - HDF_CENTER = $0002; - HDF_JUSTIFYMASK = $0003; - HDF_RTLREADING = $0004; - - HDF_OWNERDRAW = $8000; - HDF_STRING = $4000; - HDF_BITMAP = $2000; -{$ifdef ie3plus} - HDF_BITMAP_ON_RIGHT = $1000; - HDF_IMAGE = $0800; -{$ENDIF} - -{$ifdef win32xp} - HDF_SORTUP = $0400; - HDF_SORTDOWN = $0200; -{$ENDIF} -{$ifdef win32vista} - HDF_CHECKBOX = $0040; - HDF_CHECKED = $0080; - HDF_FIXEDWIDTH = $0100; // Can't resize the column; same as LVCFMT_FIXED_WIDTH - HDF_SPLITBUTTON = $1000000; // Column is a split button; same as LVCFMT_SPLITBUTTON -{$endif} - -{$ifdef win32vista} - HDIS_FOCUSED = $00000001; -{$endif} - - - HDM_GETITEMCOUNT = (HDM_FIRST + 0); - -// Macro 16 -Function Header_GetItemCount( hwndHD : hwnd):cint; - -CONST - HDM_INSERTITEMA = (HDM_FIRST + 1); - HDM_INSERTITEMW = (HDM_FIRST + 10); - -{$IFDEF UNICODE} - HDM_INSERTITEM = HDM_INSERTITEMW; -{$ELSE} - HDM_INSERTITEM = HDM_INSERTITEMA; -{$ENDIF} - -// Macro 17 -Function Header_InsertItem( hwndHD : hwnd; i : cint;const phdi : HD_ITEM ):cint; - - -CONST - HDM_DELETEITEM = (HDM_FIRST + 2); - -// Macro 18 -Function Header_DeleteItem( hwndHD : hwnd; i : cint):BOOL; - -CONST - HDM_GETITEMA = (HDM_FIRST + 3); - HDM_GETITEMW = (HDM_FIRST + 11); - -{$IFDEF UNICODE} - HDM_GETITEM = HDM_GETITEMW; -{$ELSE} - HDM_GETITEM = HDM_GETITEMA; -{$ENDIF} - -// Macro 19 -Function Header_GetItem( hwndHD : hwnd; i : cint;var phdi : HD_ITEM ):BOOL; - -CONST - HDM_SETITEMA = (HDM_FIRST + 4); - HDM_SETITEMW = (HDM_FIRST + 12); - -{$IFDEF UNICODE} - HDM_SETITEM = HDM_SETITEMW; -{$ELSE} - HDM_SETITEM = HDM_SETITEMA; -{$ENDIF} - -// Macro 20 -Function Header_SetItem( hwndHD : hwnd; i : cint;const phdi : HD_ITEM ):BOOL; - -TYPE - - _HD_LAYOUT = Record - prc : PRECT; - pwpos : PWINDOWPOS; - END; - HDLAYOUT = _HD_LAYOUT; - LPHDLAYOUT = ^_HD_LAYOUT; - THD_LAYOUT = _HD_LAYOUT; - PHD_LAYOUT = ^_HD_LAYOUT; - -CONST - HDM_LAYOUT = (HDM_FIRST + 5); - -{$ifdef ie3plus} -TYPE - HD_LAYOUT = HDLAYOUT; -{$ELSE} -// HDLAYOUT = HD_LAYOUT; -{$ENDIF} - - -// Macro 21 -Function Header_Layout( hwndHD : hwnd;var playout : HD_LAYOUT ):BOOL; - -CONST - HHT_NOWHERE = $0001; - HHT_ONHEADER = $0002; - HHT_ONDIVIDER = $0004; - HHT_ONDIVOPEN = $0008; -{$ifdef ie5plus} - HHT_ONFILTER = $0010; - HHT_ONFILTERBUTTON = $0020; -{$ENDIF} - HHT_ABOVE = $0100; - HHT_BELOW = $0200; - HHT_TORIGHT = $0400; - HHT_TOLEFT = $0800; -{$ifdef win32vista} - HHT_ONITEMSTATEICON = $1000; - HHT_ONDROPDOWN = $2000; - HHT_ONOVERFLOW = $4000; -{$endif} - -TYPE - _HD_HITTESTINFO = Record - case integer of - 1: (pt : POINT;flags : UINT;iItem : cint); - { delphi } - 2: (point : POINT;dummyflags : UINT;Item : cint); - END; - HDHITTESTINFO = _HD_HITTESTINFO; - HD_HITTESTINFO = _HD_HITTESTINFO; - LPHDHITTESTINFO = ^_HD_HITTESTINFO; - THD_HITTESTINFO = _HD_HITTESTINFO; - PHD_HITTESTINFO = ^_HD_HITTESTINFO; - THDHitTestInfo = THD_HITTESTINFO; - PHDHitTestInfo = LPHDHITTESTINFO; - - -CONST - HDM_HITTEST = (HDM_FIRST + 6); - -{$ifdef ie3plus} - - HDM_GETITEMRECT = (HDM_FIRST + 7); - -// Macro 22 -Function Header_GetItemRect( hwnd : hwnd; iItem : WPARAM; lprc : LPARAM):BOOL; - -CONST - HDM_SETIMAGELIST = (HDM_FIRST + 8); - -// Macro 23 -Function Header_SetImageList( hwnd : hwnd; himl : LPARAM):HIMAGELIST; - -CONST - HDM_GETIMAGELIST = (HDM_FIRST + 9); - -// Macro 24 -Function Header_GetImageList( hwnd : hwnd):HIMAGELIST; - -CONST - HDM_ORDERTOINDEX = (HDM_FIRST + 15); - -// Macro 25 -Function Header_OrderToIndex( hwnd : hwnd; i : WPARAM):cint; - -CONST - HDM_CREATEDRAGIMAGE = (HDM_FIRST + 16); // wparam = which item (by index) - -// Macro 26 -Function Header_CreateDragImage( hwnd : hwnd; i : WPARAM):HIMAGELIST; - -CONST - HDM_GETORDERARRAY = (HDM_FIRST + 17); - -// Macro 27 -Function Header_GetOrderArray( hwnd : hwnd; iCount : WPARAM; lpi : LPARAM):BOOL; - -CONST - HDM_SETORDERARRAY = (HDM_FIRST + 18); - -// Macro 28 -Function Header_SetOrderArray( hwnd : hwnd; iCount : WPARAM; lpi : PInteger):BOOL;inline; - -// lparam = int array of size HDM_GETITEMCOUNT -// the array specifies the order that all items should be displayed. -// e.g. { 2, 0, 1} -// says the index 2 item should be shown in the 0ths position -// index 0 should be shown in the 1st position -// index 1 should be shown in the 2nd position - - -CONST - HDM_SETHOTDIVIDER = (HDM_FIRST + 19); - -// Macro 29 -Function Header_SetHotDivider( hwnd : hwnd; fPos : WPARAM; dw : LPARAM):cint; - -// convenience message for external dragdrop -// wParam = BOOL specifying whether the lParam is a dwPos of the cursor -// position or the index of which divider to hotlight -// lParam = depends on wParam (-1 and wParm = FALSE turns off hotlight) -{$ENDIF} // _WIN32_IE >= 0x0300 - -{$ifdef ie5plus} -CONST - HDM_SETBITMAPMARGIN = (HDM_FIRST + 20); - -// Macro 30 -Function Header_SetBitmapMargin( hwnd : hwnd; iWidth : WPARAM):cint; - -CONST - HDM_GETBITMAPMARGIN = (HDM_FIRST + 21); - -// Macro 31 -Function Header_GetBitmapMargin( hwnd : hwnd):cint; - -{$ENDIF} - - -{$ifdef ie4plus} - -CONST - HDM_SETUNICODEFORMAT = CCM_SETUNICODEFORMAT; - -// Macro 32 -Function Header_SetUnicodeFormat( hwnd : hwnd; fUnicode : WPARAM):BOOL; - -CONST - HDM_GETUNICODEFORMAT = CCM_GETUNICODEFORMAT; - -// Macro 33 -Function Header_GetUnicodeFormat( hwnd : hwnd):BOOL; - -{$ENDIF} - -{$ifdef ie5plus} -CONST - HDM_SETFILTERCHANGETIMEOUT = (HDM_FIRST+22); - -// Macro 34 -Function Header_SetFilterChangeTimeout( hwnd : hwnd; i : LPARAM):cint; - -CONST - HDM_EDITFILTER = (HDM_FIRST+23); - -// Macro 35 -Function Header_EditFilter( hwnd : hwnd; i : WPARAM; fDiscardChanges :cint ):cint; - - -// Clear filter takes -1 as a column value to indicate that all -// the filter should be cleared. When this happens you will -// only receive a single filter changed notification. - -CONST - HDM_CLEARFILTER = (HDM_FIRST+24); - -// Macro 36 -Function Header_ClearFilter( hwnd : hwnd; i : WPARAM):cint; - -// Macro 37 -Function Header_ClearAllFilters( hwnd : hwnd):cint; - -{$ENDIF} - -{$ifdef win32vista} -// HDM_TRANSLATEACCELERATOR = CCM_TRANSLATEACCELERATOR; // CCM_* not defined anywhere yet in w7 sdk - -const - HDM_GETITEMDROPDOWNRECT = (HDM_FIRST+25); - HDM_GETOVERFLOWRECT = (HDM_FIRST+26); - HDM_GETFOCUSEDITEM = (HDM_FIRST+27); - HDM_SETFOCUSEDITEM = (HDM_FIRST+28); - -// macro 37a through 37d -function Header_GetItemDropDownRect(hwnd : hwnd;iItem:cint; lprc:lprect):bool; -function Header_GetOverflowRect( hwnd : hwnd; lprc:lprect):bool; -function Header_GetFocusedItem (hwnd : hwnd):cint; -function Header_SetFocusedItem (hwnd:hwnd; iItem:cint):BOOL; -{$endif} - -CONST - HDN_ITEMCHANGINGA = (HDN_FIRST-0); - HDN_ITEMCHANGINGW = (HDN_FIRST-20); - HDN_ITEMCHANGEDA = (HDN_FIRST-1); - HDN_ITEMCHANGEDW = (HDN_FIRST-21); - HDN_ITEMCLICKA = (HDN_FIRST-2); - HDN_ITEMCLICKW = (HDN_FIRST-22); - HDN_ITEMDBLCLICKA = (HDN_FIRST-3); - HDN_ITEMDBLCLICKW = (HDN_FIRST-23); - HDN_DIVIDERDBLCLICKA = (HDN_FIRST-5); - HDN_DIVIDERDBLCLICKW = (HDN_FIRST-25); - HDN_BEGINTRACKA = (HDN_FIRST-6); - HDN_BEGINTRACKW = (HDN_FIRST-26); - HDN_ENDTRACKA = (HDN_FIRST-7); - HDN_ENDTRACKW = (HDN_FIRST-27); - HDN_TRACKA = (HDN_FIRST-8); - HDN_TRACKW = (HDN_FIRST-28); -{$ifdef ie3plus} - HDN_GETDISPINFOA = (HDN_FIRST-9); - HDN_GETDISPINFOW = (HDN_FIRST-29); - HDN_BEGINDRAG = (HDN_FIRST-10); - HDN_ENDDRAG = (HDN_FIRST-11); -{$ENDIF} -{$ifdef ie5plus} - HDN_FILTERCHANGE = (HDN_FIRST-12); - HDN_FILTERBTNCLICK = (HDN_FIRST-13); -{$ENDIF} -{$ifdef win32vista} - HDN_BEGINFILTEREDIT = (HDN_FIRST-14); - HDN_ENDFILTEREDIT = (HDN_FIRST-15); - - HDN_ITEMSTATEICONCLICK = (HDN_FIRST-16); - HDN_ITEMKEYDOWN = (HDN_FIRST-17); - HDN_DROPDOWN = (HDN_FIRST-18); - HDN_OVERFLOWCLICK = (HDN_FIRST-19); -{$endif} - -{$IFDEF UNICODE} - HDN_ITEMCHANGING = HDN_ITEMCHANGINGW; - HDN_ITEMCHANGED = HDN_ITEMCHANGEDW; - HDN_ITEMCLICK = HDN_ITEMCLICKW; - HDN_ITEMDBLCLICK = HDN_ITEMDBLCLICKW; - HDN_DIVIDERDBLCLICK = HDN_DIVIDERDBLCLICKW; - HDN_BEGINTRACK = HDN_BEGINTRACKW; - HDN_ENDTRACK = HDN_ENDTRACKW; - HDN_TRACK = HDN_TRACKW; -{$ifdef ie3plus} - HDN_GETDISPINFO = HDN_GETDISPINFOW; -{$ENDIF} -{$ELSE} - HDN_ITEMCHANGING = HDN_ITEMCHANGINGA; - HDN_ITEMCHANGED = HDN_ITEMCHANGEDA; - HDN_ITEMCLICK = HDN_ITEMCLICKA; - HDN_ITEMDBLCLICK = HDN_ITEMDBLCLICKA; - HDN_DIVIDERDBLCLICK = HDN_DIVIDERDBLCLICKA; - HDN_BEGINTRACK = HDN_BEGINTRACKA; - HDN_ENDTRACK = HDN_ENDTRACKA; - HDN_TRACK = HDN_TRACKA; -{$ifdef ie3plus} - HDN_GETDISPINFO = HDN_GETDISPINFOA; -{$ENDIF} -{$ENDIF} - -TYPE - tagNMHEADERA = Record - hdr : NMHDR; - case integer of - 1: (iItem : cint;iButton : cint;pitem : PHDITEMA); - { delphi: } - 2: (Item : cint;Button : cint); - END; - NMHEADERA = tagNMHEADERA; - LPNMHEADERA = ^tagNMHEADERA; - TNMHEADERA = tagNMHEADERA; - PNMHEADERA = ^tagNMHEADERA; - - tagNMHEADERW = Record - hdr : NMHDR; - iItem : cint; - iButton : cint; - pitem : PHDITEMW; - END; - NMHEADERW = tagNMHEADERW; - LPNMHEADERW = ^tagNMHEADERW; - TNMHEADERW = tagNMHEADERW; - PNMHEADERW = ^tagNMHEADERW; - - -{$IFDEF UNICODE} - NMHEADER = NMHEADERW; - LPNMHEADER = LPNMHEADERW; -{$ELSE} - NMHEADER = NMHEADERA; - LPNMHEADER = LPNMHEADERA; -{$ENDIF} - - -{$ifdef ie3plus} - HD_NOTIFYA = NMHEADERA; - HD_NOTIFYW = NMHEADERW; -{$ELSE} -// tagNMHEADERA = _HD_NOTIFY; -// NMHEADERA = HD_NOTIFYA; -// tagHMHEADERW = _HD_NOTIFYW; -// NMHEADERW = HD_NOTIFYW; -{$ENDIF} - - HD_NOTIFY = NMHEADER; - THDNotify = HD_NOTIFY; - PHDNotify = ^HD_NOTIFY; - - tagNMHDDISPINFOW = Record - hdr : NMHDR; - iItem : cint; - mask : UINT; - pszText : LPWSTR; - cchTextMax : cint; - iImage : cint; - lParam : LPARAM; - END; - NMHDDISPINFOW = tagNMHDDISPINFOW; - LPNMHDDISPINFOW = ^tagNMHDDISPINFOW; - TNMHDDISPINFOW = tagNMHDDISPINFOW; - PNMHDDISPINFOW = ^tagNMHDDISPINFOW; - - - tagNMHDDISPINFOA = Record - hdr : NMHDR; - iItem : cint; - mask : UINT; - pszText : LPSTR; - cchTextMax : cint; - iImage : cint; - lParam : LPARAM; - END; - NMHDDISPINFOA = tagNMHDDISPINFOA; - LPNMHDDISPINFOA = ^tagNMHDDISPINFOA; - TNMHDDISPINFOA = tagNMHDDISPINFOA; - PNMHDDISPINFOA = ^tagNMHDDISPINFOA; - - - -{$IFDEF UNICODE} - NMHDDISPINFO = NMHDDISPINFOW; - LPNMHDDISPINFO = LPNMHDDISPINFOW; -{$ELSE} - NMHDDISPINFO = NMHDDISPINFOA; - LPNMHDDISPINFO = LPNMHDDISPINFOA; -{$ENDIF} - -{$ifdef ie5plus} - tagNMHDFILTERBTNCLICK = Record - hdr : NMHDR; - iItem : cint; - rc : RECT; - END; - NMHDFILTERBTNCLICK = tagNMHDFILTERBTNCLICK; - LPNMHDFILTERBTNCLICK = ^tagNMHDFILTERBTNCLICK; - TNMHDFILTERBTNCLICK = tagNMHDFILTERBTNCLICK; - PNMHDFILTERBTNCLICK = ^tagNMHDFILTERBTNCLICK; - -{$ENDIF} - -{$ENDIF} // NOHEADER - - -//====== TOOLBAR CONTROL ====================================================== - -{$IFNDEF NOTOOLBAR} - -{$IFDEF _WIN32} - -CONST - TOOLBARCLASSNAMEW = {L}'ToolbarWindow32'; - TOOLBARCLASSNAMEA = 'ToolbarWindow32'; - -{$IFDEF UNICODE} - TOOLBARCLASSNAME = TOOLBARCLASSNAMEW; -{$ELSE} - TOOLBARCLASSNAME = TOOLBARCLASSNAMEA; -{$ENDIF} - -{$ELSE} -CONST - TOOLBARCLASSNAME = 'ToolbarWindow'; -{$ENDIF} - -TYPE - - _TBBUTTON = Record - iBitmap : cint; - idCommand : cint; - fsState : BYTE; - fsStyle : BYTE; -{$IFDEF _WIN64} - bReserved : ARRAY[0..5] OF BYTE; // padding for alignment -{$ELSE} -{$IFDEF _WIN32} - bReserved : ARRAY[0..1] OF BYTE; // padding for alignment -{$ENDIF} -{$ENDIF} - dwData : DWORD_PTR; - iString : INT_PTR; - END; - TBBUTTON = _TBBUTTON; - PTBBUTTON = {NEAR} ^_TBBUTTON; // ??? - LPTBBUTTON = ^_TBBUTTON; - TTBBUTTON = _TBBUTTON; -// PTBBUTTON = ^_TBBUTTON; - - LPCTBBUTTON = {const} ^TBBUTTON; - - - _COLORMAP = Record - xfrom : COLORREF; - xto : COLORREF; - END; - COLORMAP = _COLORMAP; - LPCOLORMAP = ^_COLORMAP; - TCOLORMAP = _COLORMAP; - PCOLORMAP = ^_COLORMAP; - -function CreateToolbarEx(hwnd:HWND;ws:DWORD;wID:UINT;nBitmaps:cint; - hBMInst:HINST; - wBMID:UINT_PTR;lpButtons:LPCTBBUTTON;iNumButtons:cint;dxButton:cint; - dyButton:cint;dxBitmap:cint;dyBitmap:cint;uStructSize:UINT):HWND; stdcall; external commctrldll name 'CreateToolbarEx'; - -function CreateMappedBitmap(hInstance:HINST;idBitmap:INT_PTR;wFlags:UINT;lpColorMap:LPCOLORMAP;iNumMaps:cint):HBITMAP; stdcall; external commctrldll name 'CreateMappedBitmap'; - -CONST - CMB_MASKED = $02; - TBSTATE_CHECKED = $01; - TBSTATE_PRESSED = $02; - TBSTATE_ENABLED = $04; - TBSTATE_HIDDEN = $08; - TBSTATE_INDETERMINATE = $10; - TBSTATE_WRAP = $20; -{$ifdef ie3plus} - TBSTATE_ELLIPSES = $40; -{$ENDIF} -{$ifdef ie4plus} - TBSTATE_MARKED = $80; -{$ENDIF} - - TBSTYLE_BUTTON = $0000; // obsolete; use BTNS_BUTTON instead - TBSTYLE_SEP = $0001; // obsolete; use BTNS_SEP instead - TBSTYLE_CHECK = $0002; // obsolete; use BTNS_CHECK instead - TBSTYLE_GROUP = $0004; // obsolete; use BTNS_GROUP instead - TBSTYLE_CHECKGROUP = (TBSTYLE_GROUP OR TBSTYLE_CHECK);// obsolete; use BTNS_CHECKGROUP instead -{$ifdef ie3plus} - TBSTYLE_DROPDOWN = $0008; // obsolete; use BTNS_DROPDOWN instead -{$ENDIF} -{$ifdef ie4plus} - TBSTYLE_AUTOSIZE = $0010; // obsolete; use BTNS_AUTOSIZE instead - TBSTYLE_NOPREFIX = $0020; // obsolete; use BTNS_NOPREFIX instead -{$ENDIF} - - TBSTYLE_TOOLTIPS = $0100; - TBSTYLE_WRAPABLE = $0200; - TBSTYLE_ALTDRAG = $0400; -{$ifdef ie3plus} - TBSTYLE_FLAT = $0800; - TBSTYLE_LIST = $1000; - TBSTYLE_CUSTOMERASE = $2000; -{$ENDIF} -{$ifdef ie4plus} - TBSTYLE_REGISTERDROP = $4000; - TBSTYLE_TRANSPARENT = $8000; - TBSTYLE_EX_DRAWDDARROWS = $00000001; -{$ENDIF} - -{$ifdef ie5plus} - BTNS_BUTTON = TBSTYLE_BUTTON; // 0x0000 - BTNS_SEP = TBSTYLE_SEP; // 0x0001 - BTNS_CHECK = TBSTYLE_CHECK; // 0x0002 - BTNS_GROUP = TBSTYLE_GROUP; // 0x0004 - BTNS_CHECKGROUP = TBSTYLE_CHECKGROUP; // (TBSTYLE_GROUP | TBSTYLE_CHECK) - BTNS_DROPDOWN = TBSTYLE_DROPDOWN; // 0x0008 - BTNS_AUTOSIZE = TBSTYLE_AUTOSIZE; // 0x0010; automatically calculate the cx of the button - BTNS_NOPREFIX = TBSTYLE_NOPREFIX; // 0x0020; this button should not have accel prefix -{$ifdef ie501plus} - BTNS_SHOWTEXT = $0040; // ignored unless TBSTYLE_EX_MIXEDBUTTONS is set -{$ENDIF} // 0x0501 - BTNS_WHOLEDROPDOWN = $0080; // draw drop-down arrow, but without split arrow section -{$ENDIF} - -{$ifdef ie501plus} - TBSTYLE_EX_MIXEDBUTTONS = $00000008; - TBSTYLE_EX_HIDECLIPPEDBUTTONS = $00000010; // don't show partially obscured buttons -{$ENDIF} // 0x0501 - - -{$ifdef win32xp} - TBSTYLE_EX_DOUBLEBUFFER = $00000080; // Double Buffer the toolbar -{$ENDIF} - -{$ifdef ie4plus} -// Custom Draw Structure -TYPE - - _NMTBCUSTOMDRAW = Record - nmcd : NMCUSTOMDRAW; - hbrMonoDither : HBRUSH; - hbrLines : HBRUSH; // For drawing lines on buttons - hpenLines : HPEN; // For drawing lines on buttons - clrText : COLORREF; // Color of text - clrMark : COLORREF; // Color of text bk when marked. (only if TBSTATE_MARKED) - clrTextHighlight : COLORREF; // Color of text when highlighted - clrBtnFace : COLORREF; // Background of the button - clrBtnHighlight : COLORREF; // 3D highlight - clrHighlightHotTrack : COLORREF; // In conjunction with fHighlightHotTrack - - rcText : RECT; // Rect for text - nStringBkMode : cint; - nHLStringBkMode : cint; -{$ifdef win32xp} - iListGap : cint; -{$ENDIF} - END; - NMTBCUSTOMDRAW = _NMTBCUSTOMDRAW; - LPNMTBCUSTOMDRAW = ^_NMTBCUSTOMDRAW; - TNMTBCUSTOMDRAW = _NMTBCUSTOMDRAW; - PNMTBCUSTOMDRAW = ^_NMTBCUSTOMDRAW; - - -// Toolbar custom draw return flags - -CONST - TBCDRF_NOEDGES = $00010000; // Don't draw button edges - TBCDRF_HILITEHOTTRACK = $00020000; // Use color of the button bk when hottracked - TBCDRF_NOOFFSET = $00040000; // Don't offset button if pressed - TBCDRF_NOMARK = $00080000; // Don't draw default highlight of image/text for TBSTATE_MARKED - TBCDRF_NOETCHEDEFFECT = $00100000; // Don't draw etched effect for disabled items -{$ENDIF} - -{$ifdef ie5plus} - TBCDRF_BLENDICON = $00200000; // Use ILD_BLEND50 on the icon image - TBCDRF_NOBACKGROUND = $00400000; // Use ILD_BLEND50 on the icon image -{$ENDIF} -{$ifdef win32vista} - TBCDRF_USECDCOLORS = $00800000; // Use CustomDrawColors to RenderText regardless of VisualStyle -{$endif} - -CONST - TB_ENABLEBUTTON = (WM_USER + 1); - TB_CHECKBUTTON = (WM_USER + 2); - TB_PRESSBUTTON = (WM_USER + 3); - TB_HIDEBUTTON = (WM_USER + 4); - TB_INDETERMINATE = (WM_USER + 5); -{$ifdef ie4plus} - TB_MARKBUTTON = (WM_USER + 6); -{$ENDIF} - TB_ISBUTTONENABLED = (WM_USER + 9); - TB_ISBUTTONCHECKED = (WM_USER + 10); - TB_ISBUTTONPRESSED = (WM_USER + 11); - TB_ISBUTTONHIDDEN = (WM_USER + 12); - TB_ISBUTTONINDETERMINATE = (WM_USER + 13); -{$ifdef ie4plus} - TB_ISBUTTONHIGHLIGHTED = (WM_USER + 14); -{$ENDIF} - TB_SETSTATE = (WM_USER + 17); - TB_GETSTATE = (WM_USER + 18); - TB_ADDBITMAP = (WM_USER + 19); - -{$IFDEF _WIN32} - -TYPE - - tagTBADDBITMAP = Record - hInst : HINST; - nID : UINT_PTR; - END; - TBADDBITMAP = tagTBADDBITMAP; - LPTBADDBITMAP = ^tagTBADDBITMAP; - TTBADDBITMAP = tagTBADDBITMAP; - PTBADDBITMAP = ^tagTBADDBITMAP; - - - -CONST - HINST_COMMCTRL = HINST(-1); - IDB_STD_SMALL_COLOR = 0; - IDB_STD_LARGE_COLOR = 1; - IDB_VIEW_SMALL_COLOR = 4; - IDB_VIEW_LARGE_COLOR = 5; -{$ifdef ie3plus} - IDB_HIST_SMALL_COLOR = 8; - IDB_HIST_LARGE_COLOR = 9; -{$ENDIF} -{$ifdef win32vista} - IDB_HIST_NORMAL = 12; - IDB_HIST_HOT = 13; - IDB_HIST_DISABLED = 14; - IDB_HIST_PRESSED = 15; -{$endif} - -// icon indexes for standard bitmap - - STD_CUT = 0; - STD_COPY = 1; - STD_PASTE = 2; - STD_UNDO = 3; - STD_REDOW = 4; - STD_DELETE = 5; - STD_FILENEW = 6; - STD_FILEOPEN = 7; - STD_FILESAVE = 8; - STD_PRINTPRE = 9; - STD_PROPERTIES = 10; - STD_HELP = 11; - STD_FIND = 12; - STD_REPLACE = 13; - STD_PRINT = 14; - -// icon indexes for standard view bitmap - - VIEW_LARGEICONS = 0; - VIEW_SMALLICONS = 1; - VIEW_LIST = 2; - VIEW_DETAILS = 3; - VIEW_SORTNAME = 4; - VIEW_SORTSIZE = 5; - VIEW_SORTDATE = 6; - VIEW_SORTTYPE = 7; - VIEW_PARENTFOLDER = 8; - VIEW_NETCONNECT = 9; - VIEW_NETDISCONNECT = 10; - VIEW_NEWFOLDER = 11; -{$ifdef ie4plus} - VIEW_VIEWMENU = 12; -{$ENDIF} - -{$ifdef ie3plus} - HIST_BACK = 0; - HIST_FORWARD = 1; - HIST_FAVORITES = 2; - HIST_ADDTOFAVORITES = 3; - HIST_VIEWTREE = 4; -{$ENDIF} - -{$ENDIF} - -{$ifdef ie4plus} - TB_ADDBUTTONSA = (WM_USER + 20); - TB_INSERTBUTTONA = (WM_USER + 21); -{$ELSE} - TB_ADDBUTTONS = (WM_USER + 20); - TB_INSERTBUTTON = (WM_USER + 21); -{$ENDIF} - - TB_DELETEBUTTON = (WM_USER + 22); - TB_GETBUTTON = (WM_USER + 23); - TB_BUTTONCOUNT = (WM_USER + 24); - TB_COMMANDTOINDEX = (WM_USER + 25); - -{$IFDEF _WIN32} -TYPE - - tagTBSAVEPARAMSA = Record - hkr : HKEY; - pszSubKey : LPCSTR; - pszValueName : LPCSTR; - END; - TBSAVEPARAMSA = tagTBSAVEPARAMSA; - LPTBSAVEPARAMSA = ^tagTBSAVEPARAMSA; - TTBSAVEPARAMSA = tagTBSAVEPARAMSA; - PTBSAVEPARAMSA = ^tagTBSAVEPARAMSA; - - - tagTBSAVEPARAMSW = Record - hkr : HKEY; - pszSubKey : LPCWSTR; - pszValueName : LPCWSTR; - END; - TBSAVEPARAMSW = tagTBSAVEPARAMSW; - LPTBSAVEPARAMW = ^tagTBSAVEPARAMSW; - TTBSAVEPARAMSW = tagTBSAVEPARAMSW; - PTBSAVEPARAMSW = ^tagTBSAVEPARAMSW; - - -{$IFDEF UNICODE} - TBSAVEPARAMS = TBSAVEPARAMSW; - LPTBSAVEPARAMS = LPTBSAVEPARAMSW; -{$ELSE} - TBSAVEPARAMS = TBSAVEPARAMSA; - LPTBSAVEPARAMS = LPTBSAVEPARAMSA; -{$ENDIF} - -{$ENDIF} // _WIN32 - - -CONST - TB_SAVERESTOREA = (WM_USER + 26); - TB_SAVERESTOREW = (WM_USER + 76); - TB_CUSTOMIZE = (WM_USER + 27); - TB_ADDSTRINGA = (WM_USER + 28); - TB_ADDSTRINGW = (WM_USER + 77); - TB_GETITEMRECT = (WM_USER + 29); - TB_BUTTONSTRUCTSIZE = (WM_USER + 30); - TB_SETBUTTONSIZE = (WM_USER + 31); - TB_SETBITMAPSIZE = (WM_USER + 32); - TB_AUTOSIZE = (WM_USER + 33); - TB_GETTOOLTIPS = (WM_USER + 35); - TB_SETTOOLTIPS = (WM_USER + 36); - TB_SETPARENT = (WM_USER + 37); - TB_SETROWS = (WM_USER + 39); - TB_GETROWS = (WM_USER + 40); - TB_SETCMDID = (WM_USER + 42); - TB_CHANGEBITMAP = (WM_USER + 43); - TB_GETBITMAP = (WM_USER + 44); - TB_GETBUTTONTEXTA = (WM_USER + 45); - TB_GETBUTTONTEXTW = (WM_USER + 75); - TB_REPLACEBITMAP = (WM_USER + 46); -{$ifdef ie3plus} - TB_SETINDENT = (WM_USER + 47); - TB_SETIMAGELIST = (WM_USER + 48); - TB_GETIMAGELIST = (WM_USER + 49); - TB_LOADIMAGES = (WM_USER + 50); - TB_GETRECT = (WM_USER + 51); // wParam is the Cmd instead of index - TB_SETHOTIMAGELIST = (WM_USER + 52); - TB_GETHOTIMAGELIST = (WM_USER + 53); - TB_SETDISABLEDIMAGELIST = (WM_USER + 54); - TB_GETDISABLEDIMAGELIST = (WM_USER + 55); - TB_SETSTYLE = (WM_USER + 56); - TB_GETSTYLE = (WM_USER + 57); - TB_GETBUTTONSIZE = (WM_USER + 58); - TB_SETBUTTONWIDTH = (WM_USER + 59); - TB_SETMAXTEXTROWS = (WM_USER + 60); - TB_GETTEXTROWS = (WM_USER + 61); -{$ENDIF} // _WIN32_IE >= 0x0300 - -CONST -{$IFDEF UNICODE} - - TB_SAVERESTORE = TB_SAVERESTOREW; - TB_ADDSTRING = TB_ADDSTRINGW; -{$ELSE} - TB_GETBUTTONTEXT = TB_GETBUTTONTEXTA; - TB_SAVERESTORE = TB_SAVERESTOREA; - TB_ADDSTRING = TB_ADDSTRINGA; -{$ENDIF} -{$ifdef ie4plus} - -CONST - TB_GETOBJECT = (WM_USER + 62); // wParam == IID, lParam void **ppv - TB_GETHOTITEM = (WM_USER + 71); - TB_SETHOTITEM = (WM_USER + 72); // wParam == iHotItem - TB_SETANCHORHIGHLIGHT = (WM_USER + 73); // wParam == TRUE/FALSE - TB_GETANCHORHIGHLIGHT = (WM_USER + 74); - TB_MAPACCELERATORA = (WM_USER + 78); // wParam == ch, lParam int * pidBtn - -TYPE - TBINSERTMARK = Record - iButton : cint; - dwFlags : DWORD; - END; - LPTBINSERTMARK = ^TBINSERTMARK; - TTBINSERTMARK = TBINSERTMARK; - PTBINSERTMARK = ^TBINSERTMARK; - - -CONST - TBIMHT_AFTER = $00000001; // TRUE = insert After iButton, otherwise before - TBIMHT_BACKGROUND = $00000002; // TRUE iff missed buttons completely - - TB_GETINSERTMARK = (WM_USER + 79); // lParam == LPTBINSERTMARK - TB_SETINSERTMARK = (WM_USER + 80); // lParam == LPTBINSERTMARK - TB_INSERTMARKHITTEST = (WM_USER + 81); // wParam == LPPOINT lParam == LPTBINSERTMARK - TB_MOVEBUTTON = (WM_USER + 82); - TB_GETMAXSIZE = (WM_USER + 83); // lParam == LPSIZE - TB_SETEXTENDEDSTYLE = (WM_USER + 84); // For TBSTYLE_EX_* - TB_GETEXTENDEDSTYLE = (WM_USER + 85); // For TBSTYLE_EX_* - TB_GETPADDING = (WM_USER + 86); - TB_SETPADDING = (WM_USER + 87); - TB_SETINSERTMARKCOLOR = (WM_USER + 88); - TB_GETINSERTMARKCOLOR = (WM_USER + 89); - - TB_SETCOLORSCHEME = CCM_SETCOLORSCHEME; // lParam is color scheme - TB_GETCOLORSCHEME = CCM_GETCOLORSCHEME; // fills in COLORSCHEME pointed to by lParam - - TB_SETUNICODEFORMAT = CCM_SETUNICODEFORMAT; - TB_GETUNICODEFORMAT = CCM_GETUNICODEFORMAT; - - TB_MAPACCELERATORW = (WM_USER + 90); // wParam == ch, lParam int * pidBtn - -CONST -{$IFDEF UNICODE} - TB_MAPACCELERATOR = TB_MAPACCELERATORW; -{$ELSE} - TB_MAPACCELERATOR = TB_MAPACCELERATORA; -{$ENDIF} - -{$ENDIF} // _WIN32_IE >= 0x0400 -TYPE - TBREPLACEBITMAP = Record - hInstOld : HINST; - nIDOld : UINT_PTR; - hInstNew : HINST; - nIDNew : UINT_PTR; - nButtons : cint; - END; - LPTBREPLACEBITMAP = ^TBREPLACEBITMAP; - TTBREPLACEBITMAP = TBREPLACEBITMAP; - PTBREPLACEBITMAP = ^TBREPLACEBITMAP; - - -{$IFDEF _WIN32} - -CONST - TBBF_LARGE = $0001; - TB_GETBITMAPFLAGS = (WM_USER + 41); - -{$ifdef ie4plus} - TBIF_IMAGE = $00000001; - TBIF_TEXT = $00000002; - TBIF_STATE = $00000004; - TBIF_STYLE = $00000008; - TBIF_LPARAM = $00000010; - TBIF_COMMAND = $00000020; - TBIF_SIZE = $00000040; - -{$ifdef ie5plus} - TBIF_BYINDEX = $80000000; // this specifies that the wparam in Get/SetButtonInfo is an index, not id -{$ENDIF} - -TYPE - - TBBUTTONINFOA = Record - cbSize : UINT; - dwMask : DWORD; - idCommand : cint; - iImage : cint; - fsState : BYTE; - fsStyle : BYTE; - cx : WORD; - lParam : DWORD_PTR; - pszText : LPSTR; - cchText : cint; - END; - LPTBBUTTONINFOA = ^TBBUTTONINFOA; - TTBBUTTONINFOA = TBBUTTONINFOA; - PTBBUTTONINFOA = ^TBBUTTONINFOA; - - - TBBUTTONINFOW = Record - cbSize : UINT; - dwMask : DWORD; - idCommand : cint; - iImage : cint; - fsState : BYTE; - fsStyle : BYTE; - cx : WORD; - lParam : DWORD_PTR; - pszText : LPWSTR; - cchText : cint; - END; - LPTBBUTTONINFOW = ^TBBUTTONINFOW; - TTBBUTTONINFOW= TBBUTTONINFOW; - PTBBUTTONINFOW= ^TBBUTTONINFOW; - - -{$IFDEF UNICODE} - TBBUTTONINFO = TBBUTTONINFOW; - LPTBBUTTONINFO = LPTBBUTTONINFOW; -{$ELSE} - TBBUTTONINFO = TBBUTTONINFOA; - LPTBBUTTONINFO = LPTBBUTTONINFOA; -{$ENDIF} - TTBButtonInfo = TBBUTTONINFO; - PTBButtonInfo = LPTBBUTTONINFO; - - -// BUTTONINFO APIs do NOT support the string pool. - -CONST - TB_GETBUTTONINFOW = (WM_USER + 63); - TB_SETBUTTONINFOW = (WM_USER + 64); - TB_GETBUTTONINFOA = (WM_USER + 65); - TB_SETBUTTONINFOA = (WM_USER + 66); - -{$IFDEF UNICODE} -CONST - TB_GETBUTTONINFO = TB_GETBUTTONINFOW; - TB_SETBUTTONINFO = TB_SETBUTTONINFOW; -{$ELSE} -CONST - TB_GETBUTTONINFO = TB_GETBUTTONINFOA; - TB_SETBUTTONINFO = TB_SETBUTTONINFOA; -{$ENDIF} - -CONST - TB_INSERTBUTTONW = (WM_USER + 67); - TB_ADDBUTTONSW = (WM_USER + 68); - - TB_HITTEST = (WM_USER + 69); - -// New post Win95/NT4 for InsertButton and AddButton. if iString member -// is a pointer to a string, it will be handled as a string like listview -// (although LPSTR_TEXTCALLBACK is not supported). - -{$IFDEF UNICODE} -CONST - TB_INSERTBUTTON = TB_INSERTBUTTONW; - TB_ADDBUTTONS = TB_ADDBUTTONSW; -{$ELSE} -CONST - TB_INSERTBUTTON = TB_INSERTBUTTONA; - TB_ADDBUTTONS = TB_ADDBUTTONSA; -{$ENDIF} - - -CONST - TB_SETDRAWTEXTFLAGS = (WM_USER + 70); // wParam == mask lParam == bit values - -{$ENDIF} // _WIN32_IE >= 0x0400 - -{$ifdef ie5plus} - - TB_GETSTRINGW = (WM_USER + 91); - TB_GETSTRINGA = (WM_USER + 92); -{$IFDEF UNICODE} - - TB_GETSTRING = TB_GETSTRINGW; -{$ELSE} - TB_GETSTRING = TB_GETSTRINGA; -{$ENDIF} - - -{$ENDIF} // _WIN32_IE >= 0x0500 - -{$ifdef win32xp} - -CONST - TBMF_PAD = $00000001; - TBMF_BARPAD = $00000002; - TBMF_BUTTONSPACING = $00000004; - -TYPE - - TBMETRICS = Record - cbSize : UINT; - dwMask : DWORD; - cxPad : cint; // PAD - cyPad : cint; - cxBarPad : cint; // BARPAD - cyBarPad : cint; - cxButtonSpacing : cint; // BUTTONSPACING - cyButtonSpacing : cint; - END; - LPTBMETRICS = ^TBMETRICS; - TTBMETRICS = TBMETRICS; - PTBMETRICS = ^TBMETRICS; - -CONST - TB_GETMETRICS = (WM_USER + 101); - TB_SETMETRICS = (WM_USER + 102); -{$ENDIF} - -{$ifdef win32vista} - TB_SETPRESSEDIMAGELIST = (WM_USER + 104); - TB_GETPRESSEDIMAGELIST = (WM_USER + 105); -{$endif} - -{$ifdef win32xp} - TB_SETWINDOWTHEME = CCM_SETWINDOWTHEME; -{$ENDIF} - - TBN_GETBUTTONINFOA = (TBN_FIRST-0); - TBN_BEGINDRAG = (TBN_FIRST-1); - TBN_ENDDRAG = (TBN_FIRST-2); - TBN_BEGINADJUST = (TBN_FIRST-3); - TBN_ENDADJUST = (TBN_FIRST-4); - TBN_RESET = (TBN_FIRST-5); - TBN_QUERYINSERT = (TBN_FIRST-6); - TBN_QUERYDELETE = (TBN_FIRST-7); - TBN_TOOLBARCHANGE = (TBN_FIRST-8); - TBN_CUSTHELP = (TBN_FIRST-9); -{$ifdef ie3plus} - TBN_DROPDOWN = (TBN_FIRST - 10); -{$ENDIF} -{$ifdef ie4plus} - TBN_GETOBJECT = (TBN_FIRST - 12); - -// Structure for TBN_HOTITEMCHANGE notification -// -TYPE - - tagNMTBHOTITEM = Record - hdr : NMHDR; - idOld : cint; - idNew : cint; - dwFlags : DWORD; // HICF_* - END; - NMTBHOTITEM = tagNMTBHOTITEM; - LPNMTBHOTITEM = ^tagNMTBHOTITEM; - TNMTBHOTITEM = tagNMTBHOTITEM; - PNMTBHOTITEM = ^tagNMTBHOTITEM; - - -// Hot item change flags - -CONST - HICF_OTHER = $00000000; - HICF_MOUSE = $00000001; // Triggered by mouse - HICF_ARROWKEYS = $00000002; // Triggered by arrow keys - HICF_ACCELERATOR = $00000004; // Triggered by accelerator - HICF_DUPACCEL = $00000008; // This accelerator is not unique - HICF_ENTERING = $00000010; // idOld is invalid - HICF_LEAVING = $00000020; // idNew is invalid - HICF_RESELECT = $00000040; // hot item reselected - HICF_LMOUSE = $00000080; // left mouse button selected - HICF_TOGGLEDROPDOWN = $00000100; // Toggle button's dropdown state - - - TBN_HOTITEMCHANGE = (TBN_FIRST - 13); - TBN_DRAGOUT = (TBN_FIRST - 14); // this is sent when the user clicks down on a button then drags off the button - TBN_DELETINGBUTTON = (TBN_FIRST - 15); // uses TBNOTIFY - TBN_GETDISPINFOA = (TBN_FIRST - 16); // This is sent when the toolbar needs some display information - TBN_GETDISPINFOW = (TBN_FIRST - 17); // This is sent when the toolbar needs some display information - TBN_GETINFOTIPA = (TBN_FIRST - 18); - TBN_GETINFOTIPW = (TBN_FIRST - 19); - TBN_GETBUTTONINFOW = (TBN_FIRST - 20); -{$ifdef ie5plus} - TBN_RESTORE = (TBN_FIRST - 21); - TBN_SAVE = (TBN_FIRST - 22); - TBN_INITCUSTOMIZE = (TBN_FIRST - 23); - TBNRF_HIDEHELP = $00000001; - TBNRF_ENDCUSTOMIZE = $00000002; -{$ENDIF} // (_WIN32_IE >= 0x0500) - - - -{$ifdef ie5plus} - -TYPE - - tagNMTBSAVE = Record - hdr : NMHDR; - pData : PDWORD; - pCurrent : PDWORD; - cbData : UINT; - iItem : cint; - cButtons : cint; - tbButton : TBBUTTON; - END; - NMTBSAVE = tagNMTBSAVE; - LPNMTBSAVE = ^tagNMTBSAVE; - TNMTBSAVE = tagNMTBSAVE; - PNMTBSAVE = ^tagNMTBSAVE; - - - tagNMTBRESTORE = Record - hdr : NMHDR; - pData : PDWORD; - pCurrent : PDWORD; - cbData : UINT; - iItem : cint; - cButtons : cint; - cbBytesPerRecord : cint; - tbButton : TBBUTTON; - END; - NMTBRESTORE = tagNMTBRESTORE; - LPNMTBRESTORE = ^tagNMTBRESTORE; - TNMTBRESTORE = tagNMTBRESTORE; - PNMTBRESTORE = ^tagNMTBRESTORE; - -{$ENDIF} // (_WIN32_IE >= 0x0500) - - tagNMTBGETINFOTIPA = Record - hdr : NMHDR; - pszText : LPSTR; - cchTextMax : cint; - iItem : cint; - lParam : LPARAM; - END; - NMTBGETINFOTIPA = tagNMTBGETINFOTIPA; - LPNMTBGETINFOTIPA = ^tagNMTBGETINFOTIPA; - TNMTBGETINFOTIPA = tagNMTBGETINFOTIPA; - PNMTBGETINFOTIPA = ^tagNMTBGETINFOTIPA; - - - tagNMTBGETINFOTIPW = Record - hdr : NMHDR; - pszText : LPWSTR; - cchTextMax : cint; - iItem : cint; - lParam : LPARAM; - END; - NMTBGETINFOTIPW = tagNMTBGETINFOTIPW; - LPNMTBGETINFOTIPW = ^tagNMTBGETINFOTIPW; - TNMTBGETINFOTIPW = tagNMTBGETINFOTIPW; - PNMTBGETINFOTIPW = ^tagNMTBGETINFOTIPW; - - -{$IFDEF UNICODE} -CONST - TBN_GETINFOTIP = TBN_GETINFOTIPW; -TYPE - NMTBGETINFOTIP = NMTBGETINFOTIPW; - LPNMTBGETINFOTIP = LPNMTBGETINFOTIPW; -{$ELSE} -CONST - TBN_GETINFOTIP = TBN_GETINFOTIPA; -TYPE - NMTBGETINFOTIP = NMTBGETINFOTIPA; - LPNMTBGETINFOTIP = LPNMTBGETINFOTIPA; -{$ENDIF} - - -CONST - TBNF_IMAGE = $00000001; - TBNF_TEXT = $00000002; - TBNF_DI_SETITEM = $10000000; - -TYPE - - NMTBDISPINFOA = Record - hdr : NMHDR; - dwMask : DWORD; // [in] Specifies the values requested .[out] Client ask the data to be set for future use - idCommand : cint; // [in] id of button we're requesting info for - lParam : DWORD_PTR; // [in] lParam of button - iImage : cint; // [out] image index - pszText : LPSTR; // [out] new text for item - cchText : cint; // [in] size of buffer pointed to by pszText - END; - LPNMTBDISPINFOA = ^NMTBDISPINFOA; - TNMTBDISPINFOA = NMTBDISPINFOA; - PNMTBDISPINFOA = ^NMTBDISPINFOA; - - - NMTBDISPINFOW = Record - hdr : NMHDR; - dwMask : DWORD; //[in] Specifies the values requested .[out] Client ask the data to be set for future use - idCommand : cint; // [in] id of button we're requesting info for - lParam : DWORD_PTR; // [in] lParam of button - iImage : cint; // [out] image index - pszText : LPWSTR; // [out] new text for item - cchText : cint; // [in] size of buffer pointed to by pszText - END; - LPNMTBDISPINFOW = ^NMTBDISPINFOW; - TNMTBDISPINFOW = NMTBDISPINFOW; - PNMTBDISPINFOW = ^NMTBDISPINFOW; - -{$IFDEF UNICODE} -CONST - TBN_GETDISPINFO = TBN_GETDISPINFOW; -TYPE - NMTBDISPINFO = NMTBDISPINFOW; - LPNMTBDISPINFO = LPNMTBDISPINFOW; -{$ELSE} -CONST - TBN_GETDISPINFO = TBN_GETDISPINFOA; -TYPE - NMTBDISPINFO = NMTBDISPINFOA; - LPNMTBDISPINFO = LPNMTBDISPINFOA; -{$ENDIF} - -// Return codes for TBN_DROPDOWN - -CONST - TBDDRET_DEFAULT = 0; - TBDDRET_NODEFAULT = 1; - TBDDRET_TREATPRESSED = 2; // Treat as a standard press button - -{$ENDIF} -{$IFDEF UNICODE} - TBN_GETBUTTONINFO = TBN_GETBUTTONINFOW; -{$ELSE} - TBN_GETBUTTONINFO = TBN_GETBUTTONINFOA; -{$ENDIF} -TYPE - -{$ifdef ie3plus} - tagNMTOOLBARA = Record - hdr : NMHDR; - iItem : cint; - tbButton : TBBUTTON; - cchText : cint; - pszText : LPSTR; -{$ifdef ie5plus} - rcButton : RECT; -{$ENDIF} - END; - NMTOOLBARA = tagNMTOOLBARA; - LPNMTOOLBARA = ^tagNMTOOLBARA; - LPNMTOOLBAR = LPNMTOOLBARA; - TNMTOOLBARA = tagNMTOOLBARA; - PNMTOOLBARA = LPNMTOOLBARA; -{$ENDIF} - LPTBNOTIFY = LPNMTOOLBARA; - TBNOTIFYA = NMTOOLBARA; - - -{$ifdef ie3plus} - tagNMTOOLBARW = Record - hdr : NMHDR; - iItem : cint; - tbButton : TBBUTTON; - cchText : cint; - pszText : LPWSTR; -{$ifdef ie5plus} - rcButton : RECT; -{$ENDIF} - END; - NMTOOLBARW = tagNMTOOLBARW; - LPNMTOOLBARW = ^tagNMTOOLBARW; - TNMTOOLBARW = tagNMTOOLBARW; - PNMTOOLBARW = ^tagNMTOOLBARW; -{$ENDIF} - - -{$ifdef ie3plus} - TBNOTIFYW = NMTOOLBARW; - LPTBNOTIFYA = LPNMTOOLBARA; -{$ELSE} - tagNMTOOLBARA = tagTBNOTIFYA; - NMTOOLBARA = TBNOTIFYA; - LPNMTOOLBARA = LPTBNOTIFYA; - tagNMTOOLBARW = tagTBNOTIFYW; - NMTOOLBARW = TBNOTIFYW; - LPNMTOOLBARW = LPTBNOTIFYW; -{$ENDIF} - - -{$IFDEF UNICODE} - NMTOOLBAR = NMTOOLBARW; - LPNMTOOLBAR = LPNMTOOLBARW; -{$ELSE} - NMTOOLBAR = NMTOOLBARA; - TNMTOOLBAR = NMTOOLBARA; - PNMTOOLBAR = LPNMTOOLBARA; - -{$ENDIF} - - TBNOTIFY = NMTOOLBAR; -{$ENDIF} - -{$ENDIF} // NOTOOLBAR - - LPTBNOTIFYW = LPNMTOOLBARW; - -{$ifdef ie3plus} -//====== REBAR CONTROL ======================================================== - -{$IFNDEF NOREBAR} - -{$IFDEF _WIN32} - -CONST - REBARCLASSNAMEW = {L}'ReBarWindow32'; - REBARCLASSNAMEA = 'ReBarWindow32'; - -{$IFDEF UNICODE} - REBARCLASSNAME = REBARCLASSNAMEW; -{$ELSE} - REBARCLASSNAME = REBARCLASSNAMEA; -{$ENDIF} - -{$ELSE} - -CONST - REBARCLASSNAME = 'ReBarWindow'; -{$ENDIF} - -CONST - RBIM_IMAGELIST = $00000001; - -// begin_r_commctrl - -{$ifdef ie4plus} - RBS_TOOLTIPS = $0100; - RBS_VARHEIGHT = $0200; - RBS_BANDBORDERS = $0400; - RBS_FIXEDORDER = $0800; - RBS_REGISTERDROP = $1000; - RBS_AUTOSIZE = $2000; - RBS_VERTICALGRIPPER = $4000; // this always has the vertical gripper (default for horizontal mode) - RBS_DBLCLKTOGGLE = $8000; -{$ELSE} - RBS_TOOLTIPS = $00000100; - RBS_VARHEIGHT = $00000200; - RBS_BANDBORDERS = $00000400; - RBS_FIXEDORDER = $00000800; -{$ENDIF} // _WIN32_IE >= 0x0400 - - -// end_r_commctrl - -TYPE - - tagREBARINFO = Record - cbSize : UINT; - fMask : UINT; -{$IFNDEF NOIMAGEAPIS} - himl : HIMAGELIST; -{$ELSE} - himl : HANDLE; -{$ENDIF} - END; - REBARINFO = tagREBARINFO; - LPREBARINFO = ^tagREBARINFO; - TREBARINFO = tagREBARINFO; - PREBARINFO = ^tagREBARINFO; - - -CONST - RBBS_BREAK = $00000001; // break to new line - RBBS_FIXEDSIZE = $00000002; // band can't be sized - RBBS_CHILDEDGE = $00000004; // edge around top & bottom of child window - RBBS_HIDDEN = $00000008; // don't show - RBBS_NOVERT = $00000010; // don't show when vertical - RBBS_FIXEDBMP = $00000020; // bitmap doesn't move during band resize -{$ifdef ie4plus } - RBBS_VARIABLEHEIGHT = $00000040; // allow autosizing of this child vertically - RBBS_GRIPPERALWAYS = $00000080; // always show the gripper - RBBS_NOGRIPPER = $00000100; // never show the gripper -{$ifdef ie5plus} - RBBS_USECHEVRON = $00000200; // display drop-down button for this band if it's sized smaller than ideal width -{$ifdef IE501plus} - RBBS_HIDETITLE = $00000400; // keep band title hidden - RBBS_TOPALIGN = $00000800; // keep band title hidden -{$ENDIF} // 0x0501 // -{$ENDIF} // 0x0500 // -{$ENDIF} // 0x0400 // - - RBBIM_STYLE = $00000001; - RBBIM_COLORS = $00000002; - RBBIM_TEXT = $00000004; - RBBIM_IMAGE = $00000008; - RBBIM_CHILD = $00000010; - RBBIM_CHILDSIZE = $00000020; - RBBIM_SIZE = $00000040; - RBBIM_BACKGROUND = $00000080; - RBBIM_ID = $00000100; -{$ifdef ie4plus} - RBBIM_IDEALSIZE = $00000200; - RBBIM_LPARAM = $00000400; - RBBIM_HEADERSIZE = $00000800; // control the size of the header -{$ENDIF} -{$ifdef win32vista} - RBBIM_CHEVRONLOCATION = $00001000; - RBBIM_CHEVRONSTATE = $00002000; -{$endif} - -TYPE - - tagREBARBANDINFOA = Record - cbSize : UINT; - fMask : UINT; - fStyle : UINT; - clrFore : COLORREF; - clrBack : COLORREF; - lpText : LPSTR; - cch : UINT; - iImage : cint; - hwndChild : HWND; - cxMinChild : UINT; - cyMinChild : UINT; - cx : UINT; - hbmBack : HBITMAP; - wID : UINT; -{$ifdef ie4plus} - cyChild : UINT; - cyMaxChild : UINT; - cyIntegral : UINT; - cxIdeal : UINT; - lParam : LPARAM; - cxHeader : UINT; -{$ENDIF} -{$ifdef win32vista} - rcChevronLocation : RECT; // the rect is in client co-ord wrt hwndChild - uChevronState : cUINT; // STATE_SYSTEM_* -{$endif} - END; - REBARBANDINFOA = tagREBARBANDINFOA; - LPREBARBANDINFOA = ^tagREBARBANDINFOA; - TREBARBANDINFOA = tagREBARBANDINFOA; - PREBARBANDINFOA = ^tagREBARBANDINFOA; - - LPCREBARBANDINFOA = ^REBARBANDINFOA; - -// #define REBARBANDINFOA_V3_SIZE CCSIZEOF_STRUCT(REBARBANDINFOA, wID) -// #define REBARBANDINFOW_V3_SIZE CCSIZEOF_STRUCT(REBARBANDINFOW, wID) - - tagREBARBANDINFOW = Record - cbSize : UINT; - fMask : UINT; - fStyle : UINT; - clrFore : COLORREF; - clrBack : COLORREF; - lpText : LPWSTR; - cch : UINT; - iImage : cint; - hwndChild : HWND; - cxMinChild : UINT; - cyMinChild : UINT; - cx : UINT; - hbmBack : HBITMAP; - wID : UINT; -{$ifdef ie4plus} - cyChild : UINT; - cyMaxChild : UINT; - cyIntegral : UINT; - cxIdeal : UINT; - lParam : LPARAM; - cxHeader : UINT; -{$ENDIF} -{$ifdef win32vista} - rcChevronLocation : RECT; // the rect is in client co-ord wrt hwndChild - uChevronState : cUINT; // STATE_SYSTEM_* -{$endif} - - END; - REBARBANDINFOW = tagREBARBANDINFOW; - LPREBARBANDINFOW = ^tagREBARBANDINFOW; - TREBARBANDINFOW = tagREBARBANDINFOW; - PREBARBANDINFOW = ^tagREBARBANDINFOW; - - LPCREBARBANDINFOW = {const} ^REBARBANDINFOW; - -{$IFDEF UNICODE} - REBARBANDINFO = REBARBANDINFOW; - LPREBARBANDINFO = LPREBARBANDINFOW; - LPCREBARBANDINFO = LPCREBARBANDINFOW; - -// REBARBANDINFO_V3_SIZE = REBARBANDINFOW_V3_SIZE; -{$ELSE} - - REBARBANDINFO = REBARBANDINFOA; - LPREBARBANDINFO = LPREBARBANDINFOA; - LPCREBARBANDINFO = LPCREBARBANDINFOA; - - TRebarBandInfo = REBARBANDINFO; - PRebarBandInfo = ^LPREBARBANDINFO; - -// REBARBANDINFO_V3_SIZE = REBARBANDINFOA_V3_SIZE; -{$ENDIF} - -CONST - RB_INSERTBANDA = (WM_USER + 1); - RB_DELETEBAND = (WM_USER + 2); - RB_GETBARINFO = (WM_USER + 3); - RB_SETBARINFO = (WM_USER + 4); -{$ifdef IE4plus} - RB_GETBANDINFO = (WM_USER + 5); - RB_GETBANDINFO_PRE_IE4 = (WM_USER + 5); -{$ENDIF} - RB_SETBANDINFOA = (WM_USER + 6); - RB_SETPARENT = (WM_USER + 7); -{$ifdef ie4plus} - RB_HITTEST = (WM_USER + 8); - RB_GETRECT = (WM_USER + 9); -{$ENDIF} - RB_INSERTBANDW = (WM_USER + 10); - RB_SETBANDINFOW = (WM_USER + 11); - RB_GETBANDCOUNT = (WM_USER + 12); - RB_GETROWCOUNT = (WM_USER + 13); - RB_GETROWHEIGHT = (WM_USER + 14); -{$ifdef ie4plus} - RB_IDTOINDEX = (WM_USER + 16); // wParam == id - RB_GETTOOLTIPS = (WM_USER + 17); - RB_SETTOOLTIPS = (WM_USER + 18); - RB_SETBKCOLOR = (WM_USER + 19); // sets the default BK color - RB_GETBKCOLOR = (WM_USER + 20); // defaults to CLR_NONE - RB_SETTEXTCOLOR = (WM_USER + 21); - RB_GETTEXTCOLOR = (WM_USER + 22); // defaults to 0x00000000 - -{$ifdef Win32XP} - RBSTR_CHANGERECT = $0001; // flags for RB_SIZETORECT -{$ENDIF} - - RB_SIZETORECT = (WM_USER + 23); // resize the rebar/break bands and such to this rect (lparam) -{$ENDIF} // _WIN32_IE >= 0x0400 - - RB_SETCOLORSCHEME = CCM_SETCOLORSCHEME; // lParam is color scheme - RB_GETCOLORSCHEME = CCM_GETCOLORSCHEME; // fills in COLORSCHEME pointed to by lParam - -{$IFDEF UNICODE} - RB_INSERTBAND = RB_INSERTBANDW; - RB_SETBANDINFO = RB_SETBANDINFOW; -{$ELSE} - RB_INSERTBAND = RB_INSERTBANDA; - RB_SETBANDINFO = RB_SETBANDINFOA; -{$ENDIF} - -{$ifdef ie4plus} -// for manual drag control -// lparam == cursor pos - // -1 means do it yourself. - // -2 means use what you had saved before - -CONST - RB_BEGINDRAG = (WM_USER + 24); - RB_ENDDRAG = (WM_USER + 25); - RB_DRAGMOVE = (WM_USER + 26); - RB_GETBARHEIGHT = (WM_USER + 27); - RB_GETBANDINFOW = (WM_USER + 28); - RB_GETBANDINFOA = (WM_USER + 29); - -//TYPE -{$IFDEF UNICODE} -// RB_GETBANDINFO = RB_GETBANDINFOW; -{$ELSE} -// RB_GETBANDINFO = RB_GETBANDINFOA; -{$ENDIF} - -CONST - RB_MINIMIZEBAND = (WM_USER + 30); - RB_MAXIMIZEBAND = (WM_USER + 31); - - RB_GETDROPTARGET = (CCM_GETDROPTARGET); - - RB_GETBANDBORDERS = (WM_USER + 34); // returns in lparam = lprc the amount of edges added to band wparam - - RB_SHOWBAND = (WM_USER + 35); // show/hide band - RB_SETPALETTE = (WM_USER + 37); - RB_GETPALETTE = (WM_USER + 38); - RB_MOVEBAND = (WM_USER + 39); - - RB_SETUNICODEFORMAT = CCM_SETUNICODEFORMAT; - RB_GETUNICODEFORMAT = CCM_GETUNICODEFORMAT; - -{$ENDIF} // _WIN32_IE >= 0x0400 - -{$ifdef win32xp} - RB_GETBANDMARGINS = (WM_USER + 40); - RB_SETWINDOWTHEME = CCM_SETWINDOWTHEME; -{$ENDIF} -{$ifdef win32vista} - RB_SETEXTENDEDSTYLE = (WM_USER + 41); - RB_GETEXTENDEDSTYLE = (WM_USER + 42); -{$endif} - -{$ifdef ie5plus} - RB_PUSHCHEVRON = (WM_USER + 43); -{$ENDIF} // _WIN32_IE >= 0x0500 - -{$ifdef win32vista} - RB_SETBANDWIDTH = (WM_USER + 44); // set width for docked band -{$endif} - - RBN_HEIGHTCHANGE = (RBN_FIRST - 0); - -{$ifdef ie4plus} - RBN_GETOBJECT = (RBN_FIRST - 1); - RBN_LAYOUTCHANGED = (RBN_FIRST - 2); - RBN_AUTOSIZE = (RBN_FIRST - 3); - RBN_BEGINDRAG = (RBN_FIRST - 4); - RBN_ENDDRAG = (RBN_FIRST - 5); - RBN_DELETINGBAND = (RBN_FIRST - 6); // Uses NMREBAR - RBN_DELETEDBAND = (RBN_FIRST - 7); // Uses NMREBAR - RBN_CHILDSIZE = (RBN_FIRST - 8); - -{$ifdef ie5plus} - RBN_CHEVRONPUSHED = (RBN_FIRST - 10); -{$ENDIF} // _WIN32_IE >= 0x0500 -{$ifdef win32vista} - RBN_SPLITTERDRAG = (RBN_FIRST - 11); -{$endif} - -{$ifdef ie5plus} - RBN_MINMAX = (RBN_FIRST - 21); -{$ENDIF} - -{$ifdef Win32XP} - RBN_AUTOBREAK = (RBN_FIRST - 22); -{$ENDIF} - -TYPE - - tagNMREBARCHILDSIZE = Record - hdr : NMHDR; - uBand : UINT; - wID : UINT; - rcChild : RECT; - rcBand : RECT; - END; - NMREBARCHILDSIZE = tagNMREBARCHILDSIZE; - LPNMREBARCHILDSIZE = ^tagNMREBARCHILDSIZE; - TNMREBARCHILDSIZE = tagNMREBARCHILDSIZE; - PNMREBARCHILDSIZE = ^tagNMREBARCHILDSIZE; - - - tagNMREBAR = Record - hdr : NMHDR; - dwMask : DWORD; // RBNM_* - uBand : UINT; - fStyle : UINT; - wID : UINT; - lParam : LPARAM; - END; - NMREBAR = tagNMREBAR; - LPNMREBAR = ^tagNMREBAR; - TNMREBAR = tagNMREBAR; - PNMREBAR = ^tagNMREBAR; - -// Mask flags for NMREBAR - -CONST - RBNM_ID = $00000001; - RBNM_STYLE = $00000002; - RBNM_LPARAM = $00000004; - -TYPE - - tagNMRBAUTOSIZE = Record - hdr : NMHDR; - fChanged : BOOL; - rcTarget : RECT; - rcActual : RECT; - END; - NMRBAUTOSIZE = tagNMRBAUTOSIZE; - LPNMRBAUTOSIZE = ^tagNMRBAUTOSIZE; - TNMRBAUTOSIZE = tagNMRBAUTOSIZE; - PNMRBAUTOSIZE = ^tagNMRBAUTOSIZE; - - -{$ifdef ie5plus} - tagNMREBARCHEVRON = Record - hdr : NMHDR; - uBand : UINT; - wID : UINT; - lParam : LPARAM; - rc : RECT; - lParamNM : LPARAM; - END; - NMREBARCHEVRON = tagNMREBARCHEVRON; - LPNMREBARCHEVRON = ^tagNMREBARCHEVRON; - TNMREBARCHEVRON = tagNMREBARCHEVRON; - PNMREBARCHEVRON = ^tagNMREBARCHEVRON; - -{$ENDIF} -{$ifdef win32vista} - tagNMREBARSPLITTER = record - hdr: NMHDR; - rcSizing: RECT; - end; - NMREBARSPLITTER = tagNMREBARSPLITTER; - LPNMREBARSPLITTER = ^tagNMREBARSPLITTER; - TNMREBARSPLITTER = tagNMREBARSPLITTER; - PNMREBARSPLITTER = LPNMREBARSPLITTER; -{$endif} - -{$ifdef Win32XP} -CONST - RBAB_AUTOSIZE = $0001; // These are not flags and are all mutually exclusive - RBAB_ADDBAND = $0002; - -TYPE - - tagNMREBARAUTOBREAK = Record - hdr : NMHDR; - uBand : UINT; - wID : UINT; - lParam : LPARAM; - uMsg : UINT; - fStyleCurrent : UINT; - fAutoBreak : BOOL; - END; - NMREBARAUTOBREAK = tagNMREBARAUTOBREAK; - LPNMREBARAUTOBREAK = ^tagNMREBARAUTOBREAK; - TNMREBARAUTOBREAK = tagNMREBARAUTOBREAK; - PNMREBARAUTOBREAK = ^tagNMREBARAUTOBREAK; - -{$ENDIF} - -CONST - RBHT_NOWHERE = $0001; - RBHT_CAPTION = $0002; - RBHT_CLIENT = $0003; - RBHT_GRABBER = $0004; -{$ifdef ie5plus} - RBHT_CHEVRON = $0008; -{$ENDIF} -{$ifdef win32vista} - RBHT_SPLITTER = $0010; -{$endif} - -TYPE - _RB_HITTESTINFO = Record - pt : POINT; - flags : UINT; - iBand : cint; - END; - RBHITTESTINFO = _RB_HITTESTINFO; - LPRBHITTESTINFO = ^_RB_HITTESTINFO; - TRB_HITTESTINFO = _RB_HITTESTINFO; - PRB_HITTESTINFO = ^_RB_HITTESTINFO; - PRBHitTestInfo = PRB_HITTESTINFO; - TRBHitTestInfo = TRB_HITTESTINFO; - - -{$ENDIF} // _WIN32_IE >= 0x0400 -{$ENDIF} // NOREBAR -{$ENDIF} // _WIN32_IE >= 0x0300 - -//====== TOOLTIPS CONTROL ===================================================== - -{$IFNDEF NOTOOLTIPS} - -{$IFDEF _WIN32} - -CONST - TOOLTIPS_CLASSW = {L}'tooltips_class32'; - TOOLTIPS_CLASSA = 'tooltips_class32'; - -{$IFDEF UNICODE} - TOOLTIPS_CLASS = TOOLTIPS_CLASSW; -{$ELSE} - TOOLTIPS_CLASS = TOOLTIPS_CLASSA; -{$ENDIF} - -{$ELSE} - -CONST - TOOLTIPS_CLASS = 'tooltips_class'; -{$ENDIF} - - - -TYPE - - tagTOOLINFOA = Record - cbSize : UINT; - uFlags : UINT; - hwnd : HWND; - uId : UINT_PTR; - rect : RECT; - hinst : HINST; - lpszText : LPSTR; -{$ifdef ie3plus} - lParam : LPARAM; -{$ENDIF} -{$ifdef Win32XP} - lpReserved : Pointer; -{$ENDIF} - END; - TTTOOLINFOA = tagTOOLINFOA; - PTOOLINFOA = {near} ^tagTOOLINFOA; - LPTTTOOLINFOA = ^tagTOOLINFOA; - TTOOLINFOA = tagTOOLINFOA; - LPTOOLINFOA = ^tagTOOLINFOA; - - - tagTOOLINFOW = Record - cbSize : UINT; - uFlags : UINT; - hwnd : HWND; - uId : UINT_PTR; - rect : RECT; - hinst : HINST; - lpszText : LPWSTR; -{$ifdef ie3plus} - lParam : LPARAM; -{$ENDIF} -{$ifdef Win32XP} - lpReserved : Pointer; -{$ENDIF} - END; - TTTOOLINFOW = tagTOOLINFOW; - PTOOLINFOW = {near} ^tagTOOLINFOW; - LPTTTOOLINFOW = ^tagTOOLINFOW; - TTOOLINFOW = tagTOOLINFOW; - LPTOOLINFOW = ^tagTOOLINFOW; - - -{$IFDEF UNICODE} - TTTOOLINFO = TTTOOLINFOW; - PTOOLINFO = PTOOLINFOW; - LPTTTOOLINFO = LPTTTOOLINFOW; -// TTTOOLINFO_V1_SIZE = TTTOOLINFOW_V1_SIZE; -{$ELSE} - PTOOLINFO = PTOOLINFOA; - TTTOOLINFO = TTTOOLINFOA; - LPTTTOOLINFO = LPTTTOOLINFOA; -// TTTOOLINFO_V1_SIZE = TTTOOLINFOA_V1_SIZE; -{$ENDIF} - - -TYPE - -{$ifdef ie3plus} -// LPTOOLINFOA = LPTTTOOLINFOA; -// LPTOOLINFOW = LPTTTOOLINFOW; - TOOLINFOA = TTTOOLINFOA; - TOOLINFOW = TTTOOLINFOW; -{$ELSE} -// TTTOOLINFOA = TOOLINFOA; -// LPTTTOOLINFOA = LPTOOLINFOA; -// TTTOOLINFOW = TOOLINFOW; -// LPTTTOOLINFOW = LPTOOLINFOW; -{$ENDIF} - - - - LPTOOLINFO = LPTTTOOLINFO; - - TOOLINFO = TTTOOLINFO; - -// #define TTTOOLINFOA_V1_SIZE CCSIZEOF_STRUCT(TTTOOLINFOA, lpszText) -// #define TTTOOLINFOW_V1_SIZE CCSIZEOF_STRUCT(TTTOOLINFOW, lpszText) -// #define TTTOOLINFOA_V2_SIZE CCSIZEOF_STRUCT(TTTOOLINFOA, lParam) -// #define TTTOOLINFOW_V2_SIZE CCSIZEOF_STRUCT(TTTOOLINFOW, lParam) -// #define TTTOOLINFOA_V3_SIZE CCSIZEOF_STRUCT(TTTOOLINFOA, lpReserved) -// #define TTTOOLINFOW_V3_SIZE CCSIZEOF_STRUCT(TTTOOLINFOW, lpReserved) - - -CONST -// begin_r_commctrl - - TTS_ALWAYSTIP = $01; - TTS_NOPREFIX = $02; -{$ifdef ie5plus} - TTS_NOANIMATE = $10; - TTS_NOFADE = $20; - TTS_BALLOON = $40; - TTS_CLOSE = $80; -{$ENDIF} -{$ifdef win32vista} - TTS_USEVISUALSTYLE = $100; // Use themed hyperlinks -{$endif} - -// end_r_commctrl - - TTF_IDISHWND = $0001; - -// Use this to center around trackpoint in trackmode -// -OR- to center around tool in normal mode. -// Use TTF_ABSOLUTE to place the tip exactly at the track coords when -// in tracking mode. TTF_ABSOLUTE can be used in conjunction with TTF_CENTERTIP -// to center the tip absolutely about the track point. - - TTF_CENTERTIP = $0002; - TTF_RTLREADING = $0004; - TTF_SUBCLASS = $0010; -{$ifdef ie3plus} - TTF_TRACK = $0020; - TTF_ABSOLUTE = $0080; - TTF_TRANSPARENT = $0100; -{$ifdef ie501plus} - TTF_PARSELINKS = $1000; -{$ENDIF} // _WIN32_IE >= 0x0501 - TTF_DI_SETITEM = $8000; // valid only on the TTN_NEEDTEXT callback -{$ENDIF} // _WIN32_IE >= 0x0300 - - - TTDT_AUTOMATIC = 0; - TTDT_RESHOW = 1; - TTDT_AUTOPOP = 2; - TTDT_INITIAL = 3; - -// ToolTip Icons (Set with TTM_SETTITLE) - TTI_NONE = 0; - TTI_INFO = 1; - TTI_WARNING = 2; - TTI_ERROR = 3; -{$ifdef win32vista} - TTI_INFO_LARGE = 4; - TTI_WARNING_LARGE = 5; - TTI_ERROR_LARGE = 6; -{$endif} - -// Tool Tip Messages - TTM_ACTIVATE = (WM_USER + 1); - TTM_SETDELAYTIME = (WM_USER + 3); - TTM_ADDTOOLA = (WM_USER + 4); - TTM_ADDTOOLW = (WM_USER + 50); - TTM_DELTOOLA = (WM_USER + 5); - TTM_DELTOOLW = (WM_USER + 51); - TTM_NEWTOOLRECTA = (WM_USER + 6); - TTM_NEWTOOLRECTW = (WM_USER + 52); - TTM_RELAYEVENT = (WM_USER + 7); - - TTM_GETTOOLINFOA = (WM_USER + 8); - TTM_GETTOOLINFOW = (WM_USER + 53); - - TTM_SETTOOLINFOA = (WM_USER + 9); - TTM_SETTOOLINFOW = (WM_USER + 54); - - TTM_HITTESTA = (WM_USER + 10); - TTM_HITTESTW = (WM_USER + 55); - TTM_GETTEXTA = (WM_USER + 11); - TTM_GETTEXTW = (WM_USER + 56); - TTM_UPDATETIPTEXTA = (WM_USER + 12); - TTM_UPDATETIPTEXTW = (WM_USER + 57); - TTM_GETTOOLCOUNT = (WM_USER + 13); - TTM_ENUMTOOLSA = (WM_USER + 14); - TTM_ENUMTOOLSW = (WM_USER + 58); - TTM_GETCURRENTTOOLA = (WM_USER + 15); - TTM_GETCURRENTTOOLW = (WM_USER + 59); - TTM_WINDOWFROMPOINT = (WM_USER + 16); -{$ifdef ie3plus} - TTM_TRACKACTIVATE = (WM_USER + 17); // wParam = TRUE/FALSE start end lparam = LPTOOLINFO - TTM_TRACKPOSITION = (WM_USER + 18); // lParam = dwPos - TTM_SETTIPBKCOLOR = (WM_USER + 19); - TTM_SETTIPTEXTCOLOR = (WM_USER + 20); - TTM_GETDELAYTIME = (WM_USER + 21); - TTM_GETTIPBKCOLOR = (WM_USER + 22); - TTM_GETTIPTEXTCOLOR = (WM_USER + 23); - TTM_SETMAXTIPWIDTH = (WM_USER + 24); - TTM_GETMAXTIPWIDTH = (WM_USER + 25); - TTM_SETMARGIN = (WM_USER + 26); // lParam = lprc - TTM_GETMARGIN = (WM_USER + 27); // lParam = lprc - TTM_POP = (WM_USER + 28); -{$ENDIF} -{$ifdef ie4plus} - TTM_UPDATE = (WM_USER + 29); -{$ENDIF} -{$ifdef ie5plus} - TTM_GETBUBBLESIZE = (WM_USER + 30); - TTM_ADJUSTRECT = (WM_USER + 31); - TTM_SETTITLEA = (WM_USER + 32); // wParam = TTI_*, lParam = char* szTitle - TTM_SETTITLEW = (WM_USER + 33); // wParam = TTI_*, lParam = wchar* szTitle -{$ENDIF} - -{$ifdef Win32XP} - TTM_POPUP = (WM_USER + 34); - TTM_GETTITLE = (WM_USER + 35); // wParam = 0, lParam = TTGETTITLE* - -TYPE - - _TTGETTITLE = Record - dwSize : DWORD; - uTitleBitmap : UINT; - cch : UINT; - pszTitle : PWCHAR; - END; - TTGETTITLE = _TTGETTITLE; - PTTGETTITLE = ^_TTGETTITLE; - TTTGETTITLE = _TTGETTITLE; - PTTTGETTITLE = ^TTTGETTITLE; - -{$ENDIF} - -const -{$IFDEF UNICODE} - TTM_ADDTOOL = TTM_ADDTOOLW; - TTM_DELTOOL = TTM_DELTOOLW; - TTM_NEWTOOLRECT = TTM_NEWTOOLRECTW; - TTM_GETTOOLINFO = TTM_GETTOOLINFOW; - TTM_SETTOOLINFO = TTM_SETTOOLINFOW; - TTM_HITTEST = TTM_HITTESTW; - TTM_GETTEXT = TTM_GETTEXTW; - TTM_UPDATETIPTEXT = TTM_UPDATETIPTEXTW; - TTM_ENUMTOOLS = TTM_ENUMTOOLSW; - TTM_GETCURRENTTOOL = TTM_GETCURRENTTOOLW; -{$ifdef ie5plus} - TTM_SETTITLE = TTM_SETTITLEW; -{$ENDIF} -{$ELSE} - TTM_ADDTOOL = TTM_ADDTOOLA; - TTM_DELTOOL = TTM_DELTOOLA; - TTM_NEWTOOLRECT = TTM_NEWTOOLRECTA; - TTM_GETTOOLINFO = TTM_GETTOOLINFOA; - TTM_SETTOOLINFO = TTM_SETTOOLINFOA; - TTM_HITTEST = TTM_HITTESTA; - TTM_GETTEXT = TTM_GETTEXTA; - TTM_UPDATETIPTEXT = TTM_UPDATETIPTEXTA; - TTM_ENUMTOOLS = TTM_ENUMTOOLSA; - TTM_GETCURRENTTOOL = TTM_GETCURRENTTOOLA; -{$ifdef ie5plus} - TTM_SETTITLE = TTM_SETTITLEA; -{$ENDIF} -{$ENDIF} - -{$ifdef win32xp} -CONST - TTM_SETWINDOWTHEME = CCM_SETWINDOWTHEME; -{$ENDIF} - - -TYPE - - - _TT_HITTESTINFOA = Record - hwnd : HWND; - pt : POINT; - ti : TTTOOLINFOA; - END; - TTHITTESTINFOA = _TT_HITTESTINFOA; - LPTTHITTESTINFOA = ^_TT_HITTESTINFOA; - TTT_HITTESTINFOA = _TT_HITTESTINFOA; - PTT_HITTESTINFOA = ^_TT_HITTESTINFOA; - - - - _TT_HITTESTINFOW = Record - hwnd : HWND; - pt : POINT; - ti : TTTOOLINFOW; - END; - TTHITTESTINFOW = _TT_HITTESTINFOW; - LPTTHITTESTINFOW = ^_TT_HITTESTINFOW; - TTT_HITTESTINFOW = _TT_HITTESTINFOW; - PTT_HITTESTINFOW = ^_TT_HITTESTINFOW; - -{$IFDEF UNICODE} - TTHITTESTINFO = TTHITTESTINFOW; - LPTTHITTESTINFO = LPTTHITTESTINFOW; -{$ELSE} - TTHITTESTINFO = TTHITTESTINFOA; - LPTTHITTESTINFO = LPTTHITTESTINFOA; -{$ENDIF} - LPHITTESTINFO = LPTTHITTESTINFO; -{$ifdef ie3plus} - LPHITTESTINFOW = LPTTHITTESTINFOW; - LPHITTESTINFOA = LPTTHITTESTINFOA; -{$ELSE} -// LPTTHITTESTINFOA = LPHITTESTINFOA; -// LPTTHITTESTINFOW = LPHITTESTINFOW; -{$ENDIF} - -CONST - TTN_GETDISPINFOA = (TTN_FIRST - 0); - TTN_GETDISPINFOW = (TTN_FIRST - 10); - TTN_SHOW = (TTN_FIRST - 1); - TTN_POP = (TTN_FIRST - 2); - TTN_LINKCLICK = (TTN_FIRST - 3); - -CONST -{$IFDEF UNICODE} - TTN_GETDISPINFO = TTN_GETDISPINFOW; -{$ELSE} - TTN_GETDISPINFO = TTN_GETDISPINFOA; -{$ENDIF} - -CONST - TTN_NEEDTEXT = TTN_GETDISPINFO; - - - TTN_NEEDTEXTA = TTN_GETDISPINFOA; - TTN_NEEDTEXTW = TTN_GETDISPINFOW; - - - - - -TYPE - - -// #define NMTTDISPINFOA_V1_SIZE CCSIZEOF_STRUCT(NMTTDISPINFOA, uFlags) -// #define NMTTDISPINFOW_V1_SIZE CCSIZEOF_STRUCT(NMTTDISPINFOW, uFlags) - - tagNMTTDISPINFOA = Record - hdr : NMHDR; - lpszText : LPSTR; - szText : Array[0..79] of char; - hinst : HINST; - uFlags : UINT; -{$ifdef ie3plus} - lParam : LPARAM; -{$ENDIF} - END; - NMTTDISPINFOA = tagNMTTDISPINFOA; - LPNMTTDISPINFOA = ^tagNMTTDISPINFOA; - TNMTTDISPINFOA = tagNMTTDISPINFOA; - PNMTTDISPINFOA = ^tagNMTTDISPINFOA; - - - tagNMTTDISPINFOW = Record - hdr : NMHDR; - lpszText : LPWSTR; - szText : Array[0..79] of WCHAR; - hinst : HINST; - uFlags : UINT; -{$ifdef ie3plus} - lParam : LPARAM; -{$ENDIF} - END; - NMTTDISPINFOW = tagNMTTDISPINFOW; - LPNMTTDISPINFOW = ^tagNMTTDISPINFOW; - TNMTTDISPINFOW = tagNMTTDISPINFOW; - PNMTTDISPINFOW = ^tagNMTTDISPINFOW; - -{$ifdef ie3plus} - TOOLTIPTEXTW = NMTTDISPINFOW; - TOOLTIPTEXTA = NMTTDISPINFOA; - LPTOOLTIPTEXTA = LPNMTTDISPINFOA; - LPTOOLTIPTEXTW = LPNMTTDISPINFOW; - TTOOLTIPTEXTW = NMTTDISPINFOW; - PTOOLTIPTEXTW = LPNMTTDISPINFOW; -{$ELSE} -// tagNMTTDISPINFOA = tagTOOLTIPTEXTA; - NMTTDISPINFOA = TOOLTIPTEXTA; -// LPNMTTDISPINFOA = LPTOOLTIPTEXTA; - tagNMTTDISPINFOW = tagTOOLTIPTEXTW; - NMTTDISPINFOW = TOOLTIPTEXTW; - LPNMTTDISPINFOW = LPTOOLTIPTEXTW; -{$ENDIF} - -TYPE - -{$IFDEF UNICODE} - NMTTDISPINFO = NMTTDISPINFOW; - LPNMTTDISPINFO = LPNMTTDISPINFOW; -// NMTTDISPINFO_V1_SIZE = NMTTDISPINFOW_V1_SIZE; -{$ELSE} - NMTTDISPINFO = NMTTDISPINFOA; - LPNMTTDISPINFO = LPNMTTDISPINFOA; -// NMTTDISPINFO_V1_SIZE = NMTTDISPINFOA_V1_SIZE; -{$ENDIF} - - TOOLTIPTEXT = NMTTDISPINFO; - LPTOOLTIPTEXT = LPNMTTDISPINFO; - -{$ENDIF} // NOTOOLTIPS - - -//====== STATUS BAR CONTROL =================================================== - -{$IFNDEF NOSTATUSBAR} - -// begin_r_commctrl -CONST - SBARS_SIZEGRIP = $0100; -{$ifdef ie5plus} - SBARS_TOOLTIPS = $0800; -{$ENDIF} - -{$ifdef ie4plus} -// this is a status bar flag, preference to SBARS_TOOLTIPS - SBT_TOOLTIPS = $0800; -{$ENDIF} - -// end_r_commctrl - -procedure DrawStatusTextA(hDC:HDC;lprc:LPRECT;pszText:LPCSTR;uFlags:UINT); stdcall; external commctrldll name 'DrawStatusTextA'; -Procedure DrawStatusTextW(hDC:HDC;lprc:LPRECT;pszText:LPCWSTR;uFlags:UINT); stdcall; external commctrldll name 'DrawStatusTextW'; - -function CreateStatusWindowA(style:LONG;lpszText:LPCSTR;hwndParent:HWND;wID:UINT):HWND; stdcall; external commctrldll name 'CreateStatusWindowA'; -function CreateStatusWindowW(style:LONG;lpszText:LPCWSTR;hwndParent:HWND;wID:UINT):HWND; stdcall; external commctrldll name 'CreateStatusWindowW'; - -function CreateStatusWindow(style:LONG;lpszText:LPCSTR;hwndParent:HWND;wID:UINT):HWND; stdcall; external commctrldll name 'CreateStatusWindowA'; -procedure DrawStatusText(hDC:HDC;lprc:LPRECT;pszText:LPCSTR;uFlags:UINT); stdcall; external commctrldll name 'DrawStatusTextA'; -function CreateStatusWindow(style:LONG;lpszText:LPCWSTR;hwndParent:HWND;wID:UINT):HWND; stdcall; external commctrldll name 'CreateStatusWindowW'; -Procedure DrawStatusText(hDC:HDC;lprc:LPRECT;pszText:LPCWSTR;uFlags:UINT); stdcall; external commctrldll name 'DrawStatusTextW'; - -CONST -{$IFDEF _WIN32} - STATUSCLASSNAMEW = {L}'msctls_statusbar32'; - STATUSCLASSNAMEA = 'msctls_statusbar32'; - -{$IFDEF UNICODE} - STATUSCLASSNAME = STATUSCLASSNAMEW; -{$ELSE} - STATUSCLASSNAME = STATUSCLASSNAMEA; -{$ENDIF} -{$ELSE} - STATUSCLASSNAME = 'msctls_statusbar'; -{$ENDIF} - - SB_SETTEXTA = (WM_USER+1); - SB_SETTEXTW = (WM_USER+11); - SB_GETTEXTA = (WM_USER+2); - SB_GETTEXTW = (WM_USER+13); - SB_GETTEXTLENGTHA = (WM_USER+3); - SB_GETTEXTLENGTHW = (WM_USER+12); - - - SB_SETPARTS = (WM_USER+4); - SB_GETPARTS = (WM_USER+6); - SB_GETBORDERS = (WM_USER+7); - SB_SETMINHEIGHT = (WM_USER+8); - SB_SIMPLE = (WM_USER+9); - SB_GETRECT = (WM_USER+10); -{$ifdef ie3plus} - SB_ISSIMPLE = (WM_USER+14); -{$ENDIF} -{$ifdef ie4plus} - SB_SETICON = (WM_USER+15); - SB_SETTIPTEXTA = (WM_USER+16); - SB_SETTIPTEXTW = (WM_USER+17); - SB_GETTIPTEXTA = (WM_USER+18); - SB_GETTIPTEXTW = (WM_USER+19); - SB_GETICON = (WM_USER+20); - SB_SETUNICODEFORMAT = CCM_SETUNICODEFORMAT; - SB_GETUNICODEFORMAT = CCM_GETUNICODEFORMAT; -{$ENDIF} -{$IFDEF UNICODE} - SB_GETTEXT = SB_GETTEXTW; - SB_SETTEXT = SB_SETTEXTW; - SB_GETTEXTLENGTH = SB_GETTEXTLENGTHW; -{$ifdef ie4plus} - SB_SETTIPTEXT = SB_SETTIPTEXTW; - SB_GETTIPTEXT = SB_GETTIPTEXTW; -{$ENDIF} -{$ELSE} - SB_GETTEXT = SB_GETTEXTA; - SB_SETTEXT = SB_SETTEXTA; - SB_GETTEXTLENGTH = SB_GETTEXTLENGTHA; -{$ifdef ie4plus} - SB_SETTIPTEXT = SB_SETTIPTEXTA; - SB_GETTIPTEXT = SB_GETTIPTEXTA; -{$ENDIF} -{$ENDIF} - - SBT_OWNERDRAW = $1000; - SBT_NOBORDERS = $0100; - SBT_POPOUT = $0200; - SBT_RTLREADING = $0400; -{$ifdef ie5plus} - SBT_NOTABPARSING = $0800; -{$ENDIF} - - SB_SETBKCOLOR = CCM_SETBKCOLOR; // lParam = bkColor - -/// status bar notifications -{$ifdef ie4plus} - SBN_SIMPLEMODECHANGE = (SBN_FIRST - 0); -{$ENDIF} - -{$ifdef ie5plus} -// refers to the data saved for simple mode - SB_SIMPLEID = $00ff; -{$ENDIF} - -{$ENDIF} // NOSTATUSBAR - -//====== MENU HELP ============================================================ - -{$IFNDEF NOMENUHELP} - -Procedure MenuHelp(uMsg:UINT;wParam:WPARAM;lParam:LPARAM;hMainMenu:HMENU;hInst:HINST;hwndStatus:HWND;lpwIDs:PUINT); stdcall; external commctrldll name 'MenuHelp'; -function ShowHideMenuCtl(hWnd:HWND;uFlags:UINT_PTR;lpInfo:LPINT):BOOL; stdcall; external commctrldll name 'ShowHideMenuCtl'; -Procedure GetEffectiveClientRect(hWnd:HWND;lprc:LPRECT;lpInfo:LPINT); stdcall; external commctrldll name 'GetEffectiveClientRect'; - -CONST - MINSYSCOMMAND = SC_SIZE; -{$ENDIF} - - -//====== TRACKBAR CONTROL ===================================================== - -{$IFNDEF NOTRACKBAR} - -CONST - -{$IFDEF _WIN32} - - TRACKBAR_CLASSA = 'msctls_trackbar32'; - TRACKBAR_CLASSW = {L}'msctls_trackbar32'; - -{$IFDEF UNICODE} - TRACKBAR_CLASS = TRACKBAR_CLASSW; -{$ELSE} - TRACKBAR_CLASS = TRACKBAR_CLASSA; -{$ENDIF} -{$ELSE} - TRACKBAR_CLASS = 'msctls_trackbar'; -{$ENDIF} - -// begin_r_commctrl - - TBS_AUTOTICKS = $0001; - TBS_VERT = $0002; - TBS_HORZ = $0000; - TBS_TOP = $0004; - TBS_BOTTOM = $0000; - TBS_LEFT = $0004; - TBS_RIGHT = $0000; - TBS_BOTH = $0008; - TBS_NOTICKS = $0010; - TBS_ENABLESELRANGE = $0020; - TBS_FIXEDLENGTH = $0040; - TBS_NOTHUMB = $0080; -{$ifdef ie3plus} - TBS_TOOLTIPS = $0100; -{$ENDIF} -{$ifdef ie5plus} - TBS_REVERSED = $0200; // Accessibility hint: the smaller number (usually the min value) means "high" and the larger number (usually the max value) means "low" -{$ENDIF} - -{$ifdef ie501plus} - TBS_DOWNISLEFT = $0400; // Down=Left and Up=Right (default is Down=Right and Up=Left) -{$ENDIF} -{$ifdef win32vista} - TBS_NOTIFYBEFOREMOVE = $0800; // Trackbar should notify parent before repositioning the slider due to user action (enables snapping) -{$endif} -{$ifdef NTDDI_VISTA} - TBS_TRANSPARENTBKGND = $1000; // Background is painted by the parent via WM_PRINTCLIENT -{$endif} - -// end_r_commctrl - - TBM_GETPOS = (WM_USER); - TBM_GETRANGEMIN = (WM_USER+1); - TBM_GETRANGEMAX = (WM_USER+2); - TBM_GETTIC = (WM_USER+3); - TBM_SETTIC = (WM_USER+4); - TBM_SETPOS = (WM_USER+5); - TBM_SETRANGE = (WM_USER+6); - TBM_SETRANGEMIN = (WM_USER+7); - TBM_SETRANGEMAX = (WM_USER+8); - TBM_CLEARTICS = (WM_USER+9); - TBM_SETSEL = (WM_USER+10); - TBM_SETSELSTART = (WM_USER+11); - TBM_SETSELEND = (WM_USER+12); - TBM_GETPTICS = (WM_USER+14); - TBM_GETTICPOS = (WM_USER+15); - TBM_GETNUMTICS = (WM_USER+16); - TBM_GETSELSTART = (WM_USER+17); - TBM_GETSELEND = (WM_USER+18); - TBM_CLEARSEL = (WM_USER+19); - TBM_SETTICFREQ = (WM_USER+20); - TBM_SETPAGESIZE = (WM_USER+21); - TBM_GETPAGESIZE = (WM_USER+22); - TBM_SETLINESIZE = (WM_USER+23); - TBM_GETLINESIZE = (WM_USER+24); - TBM_GETTHUMBRECT = (WM_USER+25); - TBM_GETCHANNELRECT = (WM_USER+26); - TBM_SETTHUMBLENGTH = (WM_USER+27); - TBM_GETTHUMBLENGTH = (WM_USER+28); -{$ifdef ie3plus} - TBM_SETTOOLTIPS = (WM_USER+29); - TBM_GETTOOLTIPS = (WM_USER+30); - TBM_SETTIPSIDE = (WM_USER+31); -// TrackBar Tip Side flags - TBTS_TOP = 0; - TBTS_LEFT = 1; - TBTS_BOTTOM = 2; - TBTS_RIGHT = 3; - - TBM_SETBUDDY = (WM_USER+32); // wparam = BOOL fLeft; (or right) - TBM_GETBUDDY = (WM_USER+33); // wparam = BOOL fLeft; (or right) -{$ENDIF} -{$ifdef ie4plus} - TBM_SETUNICODEFORMAT = CCM_SETUNICODEFORMAT; - TBM_GETUNICODEFORMAT = CCM_GETUNICODEFORMAT; -{$ENDIF} - - - TB_LINEUP = 0; - TB_LINEDOWN = 1; - TB_PAGEUP = 2; - TB_PAGEDOWN = 3; - TB_THUMBPOSITION = 4; - TB_THUMBTRACK = 5; - TB_TOP = 6; - TB_BOTTOM = 7; - TB_ENDTRACK = 8; - - -{$ifdef ie3plus} -// custom draw item specs - TBCD_TICS = $0001; - TBCD_THUMB = $0002; - TBCD_CHANNEL = $0003; -{$ENDIF} -{$ifdef win32vista} - TRBN_THUMBPOSCHANGING = (TRBN_FIRST-1); -{$endif} -{$ENDIF} // trackbar - -//====== DRAG LIST CONTROL ==================================================== - -{$IFNDEF NODRAGLIST} -TYPE - - tagDRAGLISTINFO = Record - uNotification : UINT; - hWnd : HWND; - ptCursor : POINT; - END; - DRAGLISTINFO = tagDRAGLISTINFO; - LPDRAGLISTINFO = ^tagDRAGLISTINFO; - TDRAGLISTINFO = tagDRAGLISTINFO; - PDRAGLISTINFO = ^tagDRAGLISTINFO; - - - -CONST - DL_BEGINDRAG = (WM_USER+133); - DL_DRAGGING = (WM_USER+134); - DL_DROPPED = (WM_USER+135); - DL_CANCELDRAG = (WM_USER+136); - - DL_CURSORSET = 0; - DL_STOPCURSOR = 1; - DL_COPYCURSOR = 2; - DL_MOVECURSOR = 3; - - DRAGLISTMSGSTRING = 'commctrl_DragListMsg'; // TEXT("commctrl_DragListMsg"); - -function MakeDragList(hLB:HWND):BOOL; stdcall; external commctrldll name 'MakeDragList'; -Procedure DrawInsert(handParent:HWND;hLB:HWND;nItem:cint); stdcall; external commctrldll name 'DrawInsert'; -function LBItemFromPt(hLB:HWND;pt:POINT;bAutoScroll:BOOL):cint; stdcall; external commctrldll name 'LBItemFromPt'; - -{$ENDIF} - -//====== UPDOWN CONTROL ======================================================= - -{$IFNDEF NOUPDOWN} -CONST -{$IFDEF _WIN32} - - UPDOWN_CLASSA = 'msctls_updown32'; - UPDOWN_CLASSW = {L}'msctls_updown32'; - -{$IFDEF UNICODE} - UPDOWN_CLASS = UPDOWN_CLASSW; -{$ELSE} - UPDOWN_CLASS = UPDOWN_CLASSA; -{$ENDIF} -{$ELSE} - UPDOWN_CLASS = 'msctls_updown'; -{$ENDIF} - -TYPE - - _UDACCEL = Record - nSec : UINT; - nInc : UINT; - END; - UDACCEL = _UDACCEL; - LPUDACCEL = ^_UDACCEL; - TUDACCEL = _UDACCEL; - PUDACCEL = ^_UDACCEL; - -CONST - UD_MAXVAL = $7fff; - UD_MINVAL = (-UD_MAXVAL); - -// begin_r_commctrl - - UDS_WRAP = $0001; - UDS_SETBUDDYINT = $0002; - UDS_ALIGNRIGHT = $0004; - UDS_ALIGNLEFT = $0008; - UDS_AUTOBUDDY = $0010; - UDS_ARROWKEYS = $0020; - UDS_HORZ = $0040; - UDS_NOTHOUSANDS = $0080; -{$ifdef ie3plus} - UDS_HOTTRACK = $0100; -{$ENDIF} - -// end_r_commctrl - - UDM_SETRANGE = (WM_USER+101); - UDM_GETRANGE = (WM_USER+102); - UDM_SETPOS = (WM_USER+103); - UDM_GETPOS = (WM_USER+104); - UDM_SETBUDDY = (WM_USER+105); - UDM_GETBUDDY = (WM_USER+106); - UDM_SETACCEL = (WM_USER+107); - UDM_GETACCEL = (WM_USER+108); - UDM_SETBASE = (WM_USER+109); - UDM_GETBASE = (WM_USER+110); -{$ifdef ie4plus} - UDM_SETRANGE32 = (WM_USER+111); - UDM_GETRANGE32 = (WM_USER+112); // wParam & lParam are LPINT - UDM_SETUNICODEFORMAT = CCM_SETUNICODEFORMAT; - UDM_GETUNICODEFORMAT = CCM_GETUNICODEFORMAT; -{$ENDIF} -{$ifdef ie5plus} - UDM_SETPOS32 = (WM_USER+113); - UDM_GETPOS32 = (WM_USER+114); -{$ENDIF} - -function CreateUpDownControl(dwStyle:DWORD;x:cint;y:cint;cx:cint;cy:cint;hParent:HWND;nID:cint;hInst:HINST;hBuddy:HWND;nUpper:cint;nLower:cint;nPos:cint):HWND; stdcall; external commctrldll name 'CreateUpDownControl'; - -TYPE - _NM_UPDOWN = Record - hdr : NMHDR; - iPos : cint; - iDelta : cint; - END; - NMUPDOWN = _NM_UPDOWN; - LPNMUPDOWN = ^_NM_UPDOWN; - TNM_UPDOWN = _NM_UPDOWN; - PNM_UPDOWN = ^_NM_UPDOWN; - -{$ifdef ie3plus} - NM_UPDOWN = NMUPDOWN; - LPNM_UPDOWN = LPNMUPDOWN; -{$ELSE} - NMUPDOWN = NM_UPDOWN; - LPNMUPDOWN = LPNM_UPDOWN; -{$ENDIF} - -CONST - UDN_DELTAPOS = (UDN_FIRST - 1); - -{$ENDIF} // NOUPDOWN - - -//====== PROGRESS CONTROL ===================================================== - -{$IFNDEF NOPROGRESS} - -CONST - -{$IFDEF _WIN32} - - PROGRESS_CLASSA = 'msctls_progress32'; - PROGRESS_CLASSW = {L}'msctls_progress32'; - -{$IFDEF UNICODE} - PROGRESS_CLASS = PROGRESS_CLASSW; -{$ELSE} - PROGRESS_CLASS = PROGRESS_CLASSA; -{$ENDIF} - -{$ELSE} - PROGRESS_CLASS = 'msctls_progress'; -{$ENDIF} - -// begin_r_commctrl - -{$ifdef ie3plus} - PBS_SMOOTH = $01; - PBS_VERTICAL = $04; -{$ENDIF} - -// end_r_commctrl - - PBM_SETRANGE = (WM_USER+1); - PBM_SETPOS = (WM_USER+2); - PBM_DELTAPOS = (WM_USER+3); - PBM_SETSTEP = (WM_USER+4); - PBM_STEPIT = (WM_USER+5); -{$ifdef ie3plus} - PBM_SETRANGE32 = (WM_USER+6); // lParam = high, wParam = low - -TYPE - PBRANGE = Record - iLow : cint; - iHigh : cint; - END; - PPBRANGE = ^PBRANGE; - TPBRANGE = PBRANGE; -// PPBRANGE = ^PBRANGE; - - -CONST - PBM_GETRANGE = (WM_USER+7); // wParam = return (TRUE ? low : high). lParam = PPBRANGE or NULL - PBM_GETPOS = (WM_USER+8); -{$ifdef ie4plus} - PBM_SETBARCOLOR = (WM_USER+9); // lParam = bar color -{$ENDIF} // _WIN32_IE >= 0x0400 - PBM_SETBKCOLOR = CCM_SETBKCOLOR; // lParam = bkColor -{$ENDIF} // _WIN32_IE >= 0x0300 - -{$ifdef win32xp} //_WIN32_WINNT >= 0x0501 - PBS_MARQUEE = $08; - PBM_SETMARQUEE = (WM_USER+10); -{$endif} //_WIN32_WINNT >= 0x0501 - -{$ifdef win32vista} - PBS_SMOOTHREVERSE = $10; -{$endif} - -{$ifdef win32vista} - - PBM_GETSTEP = (WM_USER+13); - PBM_GETBKCOLOR = (WM_USER+14); - PBM_GETBARCOLOR = (WM_USER+15); - PBM_SETSTATE = (WM_USER+16); // wParam = PBST_[State] (NORMAL, ERROR, PAUSED) - PBM_GETSTATE = (WM_USER+17); - - PBST_NORMAL = $0001; - PBST_ERROR = $0002; - PBST_PAUSED = $0003; -{$endif} - -// end_r_commctrl - - -{$ENDIF} // NOPROGRESS - - -//====== HOTKEY CONTROL ======================================================= - -{$IFNDEF NOHOTKEY} - HOTKEYF_SHIFT = $01; - HOTKEYF_CONTROL = $02; - HOTKEYF_ALT = $04; -{$IFDEF _MAC} - HOTKEYF_EXT = $80; -{$ELSE} - HOTKEYF_EXT = $08; -{$ENDIF} - HKCOMB_NONE = $0001; - HKCOMB_S = $0002; - HKCOMB_C = $0004; - HKCOMB_A = $0008; - HKCOMB_SC = $0010; - HKCOMB_SA = $0020; - HKCOMB_CA = $0040; - HKCOMB_SCA = $0080; - - HKM_SETHOTKEY = (WM_USER+1); - HKM_GETHOTKEY = (WM_USER+2); - HKM_SETRULES = (WM_USER+3); - -{$IFDEF _WIN32} - HOTKEY_CLASSA = 'msctls_hotkey32'; - HOTKEY_CLASSW = widestring('msctls_hotkey32'); -{$IFDEF UNICODE} - HOTKEY_CLASS = HOTKEY_CLASSW; -{$ELSE} - HOTKEY_CLASS = HOTKEY_CLASSA; -{$ENDIF} -{$ELSE} - HOTKEY_CLASS = 'msctls_hotkey'; -{$ENDIF} - -{$ENDIF} // NOHOTKEY - HOTKEYCLASS = HOTKEY_CLASSA; - -// begin_r_commctrl - -//====== COMMON CONTROL STYLES ================================================ - - CCS_TOP = DWORD($00000001){L}; - CCS_NOMOVEY = DWORD($00000002){L}; - CCS_BOTTOM = DWORD($00000003){L}; - CCS_NORESIZE = DWORD($00000004){L}; - CCS_NOPARENTALIGN = DWORD($00000008){L}; - CCS_ADJUSTABLE = DWORD($00000020){L}; - CCS_NODIVIDER = DWORD($00000040){L}; -{$ifdef ie3plus} - CCS_VERT = DWORD($00000080){L}; - CCS_LEFT = (CCS_VERT OR CCS_TOP); - CCS_RIGHT = (CCS_VERT OR CCS_BOTTOM); - CCS_NOMOVEX = (CCS_VERT OR CCS_NOMOVEY); -{$ENDIF} - -// end_r_commctrl - -//====== LISTVIEW CONTROL ===================================================== - -{$IFNDEF NOLISTVIEW} - -{$IFDEF _WIN32} - WC_LISTVIEWA = 'SysListView32'; - WC_LISTVIEWW = {L}'SysListView32'; -{$IFDEF UNICODE} - WC_LISTVIEW = WC_LISTVIEWW; -{$ELSE} - WC_LISTVIEW = WC_LISTVIEWA; -{$ENDIF} -{$ELSE} - WC_LISTVIEW = 'SysListView'; -{$ENDIF} - -// begin_r_commctrl - - LVS_ICON = $0000; - LVS_REPORT = $0001; - LVS_SMALLICON = $0002; - LVS_LIST = $0003; - LVS_TYPEMASK = $0003; - LVS_SINGLESEL = $0004; - LVS_SHOWSELALWAYS = $0008; - LVS_SORTASCENDING = $0010; - LVS_SORTDESCENDING = $0020; - LVS_SHAREIMAGELISTS = $0040; - LVS_NOLABELWRAP = $0080; - LVS_AUTOARRANGE = $0100; - LVS_EDITLABELS = $0200; -{$ifdef ie3plus} - LVS_OWNERDATA = $1000; -{$ENDIF} - LVS_NOSCROLL = $2000; - - LVS_TYPESTYLEMASK = $fc00; - - LVS_ALIGNTOP = $0000; - LVS_ALIGNLEFT = $0800; - LVS_ALIGNMASK = $0c00; - - LVS_OWNERDRAWFIXED = $0400; - LVS_NOCOLUMNHEADER = $4000; - LVS_NOSORTHEADER = $8000; - -// end_r_commctrl - -{$ifdef ie4plus} - LVM_SETUNICODEFORMAT = CCM_SETUNICODEFORMAT; - -// Macro 38 -Function ListView_SetUnicodeFormat( hwnd : hwnd; fUnicode : WPARAM):BOOL; - -CONST - LVM_GETUNICODEFORMAT = CCM_GETUNICODEFORMAT; - -// Macro 39 -Function ListView_GetUnicodeFormat( hwnd : hwnd):BOOL; - -{$ENDIF} -CONST - LVM_GETBKCOLOR = (LVM_FIRST + 0); - -// Macro 40 -Function ListView_GetBkColor( hwnd : hwnd):COLORREF; - -CONST - LVM_SETBKCOLOR = (LVM_FIRST + 1); - -// Macro 41 -Function ListView_SetBkColor( hwnd : hwnd; clrBk : COLORREF):BOOL; - -CONST - LVM_GETIMAGELIST = (LVM_FIRST + 2); - -// Macro 42 -Function ListView_GetImageList( hwnd : hwnd; iImageList : CINT):HIMAGELIST; - -CONST - LVSIL_NORMAL = 0; - LVSIL_SMALL = 1; - LVSIL_STATE = 2; - LVSIL_GROUPHEADER = 3; - LVM_SETIMAGELIST = (LVM_FIRST + 3); - -// Macro 43 -Function ListView_SetImageList( hwnd : hwnd; himl : HIMAGELIST; iImageList : WPARAM):HIMAGELIST; - -CONST - LVM_GETITEMCOUNT = (LVM_FIRST + 4); - -// Macro 44 -Function ListView_GetItemCount( hwnd : hwnd):cint; - -CONST - LVIF_TEXT = $0001; - LVIF_IMAGE = $0002; - LVIF_PARAM = $0004; - LVIF_STATE = $0008; -{$ifdef ie3plus} - LVIF_INDENT = $0010; - LVIF_NORECOMPUTE = $0800; -{$ENDIF} -{$ifdef win32xp} - LVIF_GROUPID = $0100; - LVIF_COLUMNS = $0200; -{$ENDIF} -{$ifdef win32vista} - LVIF_COLFMT = $00010000; // The piColFmt member is valid in addition to puColumns -{$endif} - - LVIS_FOCUSED = $0001; - LVIS_SELECTED = $0002; - LVIS_CUT = $0004; - LVIS_DROPHILITED = $0008; - LVIS_GLOW = $0010; - LVIS_ACTIVATING = $0020; - - LVIS_OVERLAYMASK = $0F00; - LVIS_STATEIMAGEMASK = $F000; - -// Macro 45 -// #define INDEXTOSTATEIMAGEMASK(i) ((i) << 12) - - -CONST - I_INDENTCALLBACK = (-1); -{$ENDIF} - - -{$ifdef win32xp} - -CONST - I_GROUPIDCALLBACK = (-1); - I_GROUPIDNONE = (-2); -{$ENDIF} - - -// #define LVITEMA_V1_SIZE CCSIZEOF_STRUCT(LVITEMA, lParam) -// #define LVITEMW_V1_SIZE CCSIZEOF_STRUCT(LVITEMW, lParam) - -TYPE - tagLVITEMA = Record - mask : UINT; - iItem : cint; - iSubItem : cint; - state : UINT; - stateMask : UINT; - pszText : LPSTR; - cchTextMax : cint; - iImage : cint; - lParam : LPARAM; -{$ifdef ie3plus} - iIndent : cint; -{$ENDIF} -{$ifdef win32xp} - iGroupId : cint; - cColumns : UINT; // tile view columns - puColumns : PUINT; -{$ENDIF} -{$ifdef win32vista} - piColFmt : pcint; - iGroup : cint; // readonly. only valid for owner data. -{$endif} - END; - LVITEMA = tagLVITEMA; - LPLVITEMA = ^tagLVITEMA; - TLVITEMA = tagLVITEMA; - PLVITEMA = ^tagLVITEMA; - - - tagLVITEMW = Record - mask : UINT; - iItem : cint; - iSubItem : cint; - state : UINT; - stateMask : UINT; - pszText : LPWSTR; - cchTextMax : cint; - iImage : cint; - lParam : LPARAM; -{$ifdef ie3plus} - iIndent : cint; -{$ENDIF} -{$ifdef win32xp} - iGroupId : cint; - cColumns : UINT; // tile view columns - puColumns : PUINT; -{$ENDIF} -{$ifdef win32vista} - piColFmt : pcint; - iGroup : cint; // readonly. only valid for owner data. -{$endif} - END; - - LVITEMW = tagLVITEMW; - LPLVITEMW = ^tagLVITEMW; - TLVITEMW = tagLVITEMW; - PLVITEMW = ^tagLVITEMW; - -{$IFDEF UNICODE} - LVITEM = LVITEMW; - LPLVITEM = LPLVITEMW; - -// LVITEM_V1_SIZE = LVITEMW_V1_SIZE; -{$ELSE} - -TYPE - LVITEM = LVITEMA; - LPLVITEM = LPLVITEMA; - -// LVITEM_V1_SIZE = LVITEMA_V1_SIZE; -{$ENDIF} - -Type -{$ifdef ie3plus} - - LV_ITEMA = LVITEMA; - LV_ITEMW = LVITEMW; -{$ELSE} - - tagLVITEMA = _LV_ITEMA; - LVITEMA = LV_ITEMA; - tagLVITEMW = _LV_ITEMW; - LVITEMW = LV_ITEMW; -{$ENDIF} - LV_ITEM = LVITEM; - TLVItem = LVITEM; - PLVItem = LPLVITEM; - TLV_ITEM = LVITEM; - PLV_ITEM = PLVITEM; -CONST - LPSTR_TEXTCALLBACKW = LPWSTR(-1); - LPSTR_TEXTCALLBACKA = LPSTR (-1); -{$IFDEF UNICODE} - LPSTR_TEXTCALLBACK = LPSTR_TEXTCALLBACKW; -{$ELSE} - LPSTR_TEXTCALLBACK = LPSTR_TEXTCALLBACKA; -{$ENDIF} - - -CONST - I_IMAGECALLBACK = (-1); -{$ifdef ie501plus} - I_IMAGENONE = (-2); -{$ENDIF} // 0x0501 - -{$ifdef win32xp} -// For tileview - I_COLUMNSCALLBACK = UINT(-1); -{$ENDIF} - - LVM_GETITEMA = (LVM_FIRST + 5); - LVM_GETITEMW = (LVM_FIRST + 75); - -{$IFDEF UNICODE} - LVM_GETITEM = LVM_GETITEMW; -{$ELSE} - LVM_GETITEM = LVM_GETITEMA; -{$ENDIF} - -// Macro 46 -Function ListView_GetItem( hwnd : hwnd;var pitem : LV_ITEM ):BOOL; - -CONST - LVM_SETITEMA = (LVM_FIRST + 6); - LVM_SETITEMW = (LVM_FIRST + 76); - -{$IFDEF UNICODE} - LVM_SETITEM = LVM_SETITEMW; -{$ELSE} - LVM_SETITEM = LVM_SETITEMA; -{$ENDIF} - -// Macro 47 -Function ListView_SetItem( hwnd : hwnd;const pitem : LV_ITEM ):BOOL; - - -CONST - LVM_INSERTITEMA = (LVM_FIRST + 7); - LVM_INSERTITEMW = (LVM_FIRST + 77); -{$IFDEF UNICODE} - LVM_INSERTITEM = LVM_INSERTITEMW; -{$ELSE} - LVM_INSERTITEM = LVM_INSERTITEMA; -{$ENDIF} - -// Macro 48 -Function ListView_InsertItem( hwnd : hwnd;Const pitem : LV_ITEM ):cint; - -CONST - LVM_DELETEITEM = (LVM_FIRST + 8); - -// Macro 49 -Function ListView_DeleteItem( hwnd : hwnd; i : cint):BOOL; - -CONST - LVM_DELETEALLITEMS = (LVM_FIRST + 9); - -// Macro 50 -Function ListView_DeleteAllItems( hwnd : hwnd):BOOL; - -CONST - LVM_GETCALLBACKMASK = (LVM_FIRST + 10); - -// Macro 51 -Function ListView_GetCallbackMask( hwnd : hwnd):BOOL; - - -CONST - LVM_SETCALLBACKMASK = (LVM_FIRST + 11); - -// Macro 52 -Function ListView_SetCallbackMask( hwnd : hwnd; mask : UINT):BOOL; - - -CONST - LVNI_ALL = $0000; - LVNI_FOCUSED = $0001; - LVNI_SELECTED = $0002; - LVNI_CUT = $0004; - LVNI_DROPHILITED = $0008; - - LVNI_ABOVE = $0100; - LVNI_BELOW = $0200; - LVNI_TOLEFT = $0400; - LVNI_TORIGHT = $0800; - - - LVM_GETNEXTITEM = (LVM_FIRST + 12); - -// Macro 53 -Function ListView_GetNextItem( hwnd : hwnd; i : cint; flags : cint ):cint; - -CONST - LVFI_PARAM = $0001; - LVFI_STRING = $0002; - LVFI_PARTIAL = $0008; - LVFI_WRAP = $0020; - LVFI_NEARESTXY = $0040; - - -TYPE - - tagLVFINDINFOA = Record - flags : UINT; - psz : LPCSTR; - lParam : LPARAM; - pt : POINT; - vkDirection : UINT; - END; - LVFINDINFOA = tagLVFINDINFOA; - LPFINDINFOA = ^tagLVFINDINFOA; - TLVFINDINFOA = tagLVFINDINFOA; - PLVFINDINFOA = ^tagLVFINDINFOA; - - - tagLVFINDINFOW = Record - flags : UINT; - psz : LPCWSTR; - lParam : LPARAM; - pt : POINT; - vkDirection : UINT; - END; - LVFINDINFOW = tagLVFINDINFOW; - LPFINDINFOW = ^tagLVFINDINFOW; - TLVFINDINFOW = tagLVFINDINFOW; - PLVFINDINFOW = ^tagLVFINDINFOW; - -{$IFDEF UNICODE} - LVFINDINFO = LVFINDINFOW; -{$ELSE} - LVFINDINFO = LVFINDINFOA; -{$ENDIF} - -{$ifdef ie3plus} - LV_FINDINFOA = LVFINDINFOA; - LV_FINDINFOW = LVFINDINFOW; -{$ELSE} - tagLVFINDINFOA = _LV_FINDINFOA; - LVFINDINFOA = LV_FINDINFOA; - tagLVFINDINFOW = _LV_FINDINFOW; - LVFINDINFOW = LV_FINDINFOW; -{$ENDIF} - - TLVFindInfo = LVFINDINFO; - PLVFindInfo = ^LVFindInfo; - - LV_FINDINFO = LVFINDINFO; - -CONST - LVM_FINDITEMA = (LVM_FIRST + 13); - LVM_FINDITEMW = (LVM_FIRST + 83); -{$IFDEF UNICODE} - LVM_FINDITEM = LVM_FINDITEMW; -{$ELSE} - LVM_FINDITEM = LVM_FINDITEMA; -{$ENDIF} - -// Macro 54 -Function ListView_FindItem( hwnd : hwnd; iStart : cint;const plvfi : LV_FINDINFO ):cint; - -CONST - LVIR_BOUNDS = 0; - LVIR_ICON = 1; - LVIR_LABEL = 2; - LVIR_SELECTBOUNDS = 3; - - - LVM_GETITEMRECT = (LVM_FIRST + 14); - -// Macro 55 NI -Function ListView_GetItemRect( hwnd : hwnd; i : cint;var prc : TRect;code : cint):BOOL; - -CONST - LVM_SETITEMPOSITION = (LVM_FIRST + 15); - -// Macro 56 -Function ListView_SetItemPosition( hwndLV : hwnd; i : cint; x : cint ; y : cint ):BOOL; - -CONST - LVM_GETITEMPOSITION = (LVM_FIRST + 16); - -// Macro 57 -Function ListView_GetItemPosition( hwndLV : hwnd; i : cint;var ppt : POINT ):BOOL; - -CONST - LVM_GETSTRINGWIDTHA = (LVM_FIRST + 17); - LVM_GETSTRINGWIDTHW = (LVM_FIRST + 87); -{$IFDEF UNICODE} - LVM_GETSTRINGWIDTH = LVM_GETSTRINGWIDTHW; -{$ELSE} - LVM_GETSTRINGWIDTH = LVM_GETSTRINGWIDTHA; -{$ENDIF} - -// Macro 58 -Function ListView_GetStringWidth( hwndLV : hwnd; psz : LPCTSTR):cint; - -CONST - LVHT_NOWHERE = $0001; - LVHT_ONITEMICON = $0002; - LVHT_ONITEMLABEL = $0004; - LVHT_ONITEMSTATEICON = $0008; - LVHT_ONITEM = (LVHT_ONITEMICON OR LVHT_ONITEMLABEL OR LVHT_ONITEMSTATEICON); - - LVHT_ABOVE = $0008; - LVHT_BELOW = $0010; - LVHT_TORIGHT = $0020; - LVHT_TOLEFT = $0040; - - - -// #define LVHITTESTINFO_V1_SIZE CCSIZEOF_STRUCT(LVHITTESTINFO, iItem) - -TYPE - - tagLVHITTESTINFO = Record - pt : POINT; - flags : UINT; - iItem : cint; -{$ifdef ie3plus} - iSubItem : cint; // this is was NOT in win95. valid only for LVM_SUBITEMHITTEST -{$ENDIF} -{$ifdef win32vista} - iGroup : cint; // readonly. index of group. only valid for owner data. - // supports single item in multiple groups. -{$endif} - END; - LVHITTESTINFO = tagLVHITTESTINFO; - LPLVHITTESTINFO = ^tagLVHITTESTINFO; - TLVHITTESTINFO = tagLVHITTESTINFO; - PLVHITTESTINFO = ^tagLVHITTESTINFO; - -{$ifdef ie3plus} - LV_HITTESTINFO = LVHITTESTINFO; -{$ELSE} - tagLVHITTESTINFO = _LV_HITTESTINFO; - LVHITTESTINFO = LV_HITTESTINFO; -{$ENDIF} - -CONST - LVM_HITTEST = (LVM_FIRST + 18); - -// Macro 59 -Function ListView_HitTest( hwndLV : hwnd;var pinfo : LV_HITTESTINFO ):cint; - -CONST - LVM_ENSUREVISIBLE = (LVM_FIRST + 19); - -// Macro 60 -Function ListView_EnsureVisible( hwndLV : hwnd; i : cint; fPartialOK : cint ):BOOL;inline; -Function ListView_EnsureVisible( hwndLV : hwnd; i : cint; fPartialOK : BOOL ):BOOL;inline; - -CONST - LVM_SCROLL = (LVM_FIRST + 20); - -// Macro 61 -Function ListView_Scroll( hwndLV : hwnd; dx : cint; dy : cint):BOOL; - -CONST - LVM_REDRAWITEMS = (LVM_FIRST + 21); - -// Macro 62 -Function ListView_RedrawItems( hwndLV : hwnd; iFirst : cint; iLast : cint):BOOL; - -CONST - LVA_DEFAULT = $0000; - LVA_ALIGNLEFT = $0001; - LVA_ALIGNTOP = $0002; - LVA_ALIGNRIGHT = $0003; - LVA_ALIGNBOTTOM = $0004; - LVA_SNAPTOGRID = $0005; - LVA_SORTASCENDING = $0100; - LVA_SORTDESCENDING = $0200; - LVM_ARRANGE = (LVM_FIRST + 22); - -// Macro 63 -Function ListView_Arrange( hwndLV : hwnd; code : UINT):BOOL; - -CONST - LVM_EDITLABELA = (LVM_FIRST + 23); - LVM_EDITLABELW = (LVM_FIRST + 118); -{$IFDEF UNICODE} - - LVM_EDITLABEL = LVM_EDITLABELW; -{$ELSE} - LVM_EDITLABEL = LVM_EDITLABELA; -{$ENDIF} - -// Macro 64 -Function ListView_EditLabel( hwndLV : hwnd; i : cint):HWND; - -CONST - LVM_GETEDITCONTROL = (LVM_FIRST + 24); - -// Macro 65 -Function ListView_GetEditControl( hwndLV : hwnd):HWND; - - -// #define LVCOLUMNA_V1_SIZE CCSIZEOF_STRUCT(LVCOLUMNA, iSubItem) -// #define LVCOLUMNW_V1_SIZE CCSIZEOF_STRUCT(LVCOLUMNW, iSubItem) - -TYPE - - tagLVCOLUMNA = Record - mask : UINT; - fmt : cint; - cx : cint; - pszText : LPSTR; - cchTextMax : cint; - iSubItem : cint; -{$ifdef ie3plus} - iImage : cint; - iOrder : cint; -{$ENDIF} -{$ifdef win32vista} - cxmin : cint; // min snap point - cxDefault : cint; // default snap point - cxIdeal : cint; // read only. ideal may not eqaul current width if auto sized (LVS_EX_AUTOSIZECOLUMNS) to a lesser width. -{$endif} - END; - LVCOLUMNA = tagLVCOLUMNA; - LPLVCOLUMNA = ^tagLVCOLUMNA; - TLVCOLUMNA = tagLVCOLUMNA; - PLVCOLUMNA = ^tagLVCOLUMNA; - - - tagLVCOLUMNW = Record - mask : UINT; - fmt : cint; - cx : cint; - pszText : LPWSTR; - cchTextMax : cint; - iSubItem : cint; -{$ifdef ie3plus} - iImage : cint; - iOrder : cint; -{$ENDIF} -{$ifdef win32vista} - cxmin : cint; // min snap point - cxDefault : cint; // default snap point - cxIdeal : cint; // read only. ideal may not eqaul current width if auto sized (LVS_EX_AUTOSIZECOLUMNS) to a lesser width. -{$endif} - END; - LVCOLUMNW = tagLVCOLUMNW; - LPLVCOLUMNW = ^tagLVCOLUMNW; - TLVCOLUMNW = tagLVCOLUMNW; - PLVCOLUMNW = ^tagLVCOLUMNW; - - -{$IFDEF UNICODE} - LVCOLUMN = LVCOLUMNW; - LPLVCOLUMN = LPLVCOLUMNW; -// LVCOLUMN_V1_SIZE = LVCOLUMNW_V1_SIZE; -{$ELSE} - LVCOLUMN = LVCOLUMNA; - LPLVCOLUMN = LPLVCOLUMNA; -// LVCOLUMN_V1_SIZE = LVCOLUMNA_V1_SIZE; -{$ENDIF} - -{$ifdef ie3plus} - LV_COLUMNA = LVCOLUMNA; - LV_COLUMNW = LVCOLUMNW; -{$ELSE} - tagLVCOLUMNA = _LV_COLUMNA; - LVCOLUMNA = LV_COLUMNA; - tagLVCOLUMNW = _LV_COLUMNW; - LVCOLUMNW = LV_COLUMNW; -{$ENDIF} - - - LV_COLUMN = LVCOLUMN; - TLVColumn = LVCOLUMN; - PLVColumn = LPLVCOLUMN; - -CONST - LVCF_FMT = $0001; - LVCF_WIDTH = $0002; - LVCF_TEXT = $0004; - LVCF_SUBITEM = $0008; -{$ifdef ie3plus} - LVCF_IMAGE = $0010; - LVCF_ORDER = $0020; -{$ENDIF} -{$ifdef win32vista} - LVCF_MINWIDTH = $0040; - LVCF_DEFAULTWIDTH = $0080; - LVCF_IDEALWIDTH = $0100; -{$endif} - - LVCFMT_LEFT = $0000; - LVCFMT_RIGHT = $0001; - LVCFMT_CENTER = $0002; - LVCFMT_JUSTIFYMASK = $0003; - -{$ifdef ie3plus} - LVCFMT_IMAGE = $0800; - LVCFMT_BITMAP_ON_RIGHT = $1000; - LVCFMT_COL_HAS_IMAGES = $8000; -{$ENDIF} -{$ifdef win32vista} - LVCFMT_FIXED_WIDTH = $00100; // Can't resize the column; same as HDF_FIXEDWIDTH - LVCFMT_NO_DPI_SCALE = $40000; // If not set, CCM_DPISCALE will govern scaling up fixed width - LVCFMT_FIXED_RATIO = $80000; // Width will augment with the row height -{$endif} - - LVM_GETCOLUMNA = (LVM_FIRST + 25); - LVM_GETCOLUMNW = (LVM_FIRST + 95); -{$IFDEF UNICODE} - LVM_GETCOLUMN = LVM_GETCOLUMNW; -{$ELSE} - LVM_GETCOLUMN = LVM_GETCOLUMNA; -{$ENDIF} - -// Macro 66 -Function ListView_GetColumn( hwnd : hwnd; iCol : cint;var pcol : LV_COLUMN ):BOOL; - -CONST - LVM_SETCOLUMNA = (LVM_FIRST + 26); - LVM_SETCOLUMNW = (LVM_FIRST + 96); -{$IFDEF UNICODE} - LVM_SETCOLUMN = LVM_SETCOLUMNW; -{$ELSE} - LVM_SETCOLUMN = LVM_SETCOLUMNA; -{$ENDIF} - -// Macro 67 -Function ListView_SetColumn( hwnd : hwnd; iCol : cint;Const pcol : LV_COLUMN ):BOOL; - -CONST - LVM_INSERTCOLUMNA = (LVM_FIRST + 27); - LVM_INSERTCOLUMNW = (LVM_FIRST + 97); - -{$IFDEF UNICODE} // was already not active (spaces) in .h -// # define LVM_INSERTCOLUMN LVM_INSERTCOLUMNW -{$ELSE} -// # define LVM_INSERTCOLUMN LVM_INSERTCOLUMNA -{$ENDIF} - -// Macro 68 -Function ListView_InsertColumn( hwnd : hwnd; iCol : cint;Const pcol : LV_COLUMN ):cint; - -CONST - LVM_DELETECOLUMN = (LVM_FIRST + 28); - -// Macro 69 -Function ListView_DeleteColumn( hwnd : hwnd; iCol : cint):BOOL; - -CONST - LVM_GETCOLUMNWIDTH = (LVM_FIRST + 29); - -// Macro 70 -Function ListView_GetColumnWidth( hwnd : hwnd; iCol : cint):cint; - -CONST - LVSCW_AUTOSIZE = -1; - LVSCW_AUTOSIZE_USEHEADER = -2; - LVM_SETCOLUMNWIDTH = (LVM_FIRST + 30); - -// Macro 71 -Function ListView_SetColumnWidth( hwnd : hwnd; iCol : cint; cx : cint ):BOOL; - - -{$ifdef ie3plus} - -CONST - LVM_GETHEADER = (LVM_FIRST + 31); - -// Macro 72 -Function ListView_GetHeader( hwnd : hwnd):HWND; - -{$ENDIF} - -CONST - LVM_CREATEDRAGIMAGE = (LVM_FIRST + 33); - -// Macro 73 -Function ListView_CreateDragImage( hwnd : hwnd; i : cint; lpptUpLeft : LPPOINT):HIMAGELIST;inline; -Function ListView_CreateDragImage( hwnd : hwnd; i : cint; const lpptUpLeft : POINT):HIMAGELIST;inline; - -CONST - LVM_GETVIEWRECT = (LVM_FIRST + 34); - -// Macro 74 -Function ListView_GetViewRect( hwnd : hwnd;var prc : RECT ):BOOL; - -CONST - LVM_GETTEXTCOLOR = (LVM_FIRST + 35); - -// Macro 75 -Function ListView_GetTextColor( hwnd : hwnd):COLORREF; - -CONST - LVM_SETTEXTCOLOR = (LVM_FIRST + 36); - -// Macro 76 -Function ListView_SetTextColor( hwnd : hwnd; clrText : COLORREF):BOOL; - -CONST - LVM_GETTEXTBKCOLOR = (LVM_FIRST + 37); - -// Macro 77 -Function ListView_GetTextBkColor( hwnd : hwnd):COLORREF; - -CONST - LVM_SETTEXTBKCOLOR = (LVM_FIRST + 38); - -// Macro 78 -Function ListView_SetTextBkColor( hwnd : hwnd; clrTextBk : COLORREF):BOOL; - - -CONST - LVM_GETTOPINDEX = (LVM_FIRST + 39); - -// Macro 79 -Function ListView_GetTopIndex( hwndLV : hwnd):cint; - -CONST - LVM_GETCOUNTPERPAGE = (LVM_FIRST + 40); - -// Macro 80 -Function ListView_GetCountPerPage( hwndLV : hwnd):cint; - -CONST - LVM_GETORIGIN = (LVM_FIRST + 41); - -// Macro 81 -Function ListView_GetOrigin( hwndLV : hwnd;var ppt : POINT ):BOOL; - -CONST - LVM_UPDATE = (LVM_FIRST + 42); - -// Macro 82 -Function ListView_Update( hwndLV : hwnd; i : WPARAM):BOOL; - -CONST - LVM_SETITEMSTATE = (LVM_FIRST + 43); - -// Macro 83 -Procedure ListView_SetItemState(hwndLV :hwnd; i :cint ;data,mask:UINT); - -{$ifdef ie3plus} -// Macro 84 -Procedure ListView_SetCheckState( hwndLV : hwnd; i : cint ; fCheck : bool ); - -{$ENDIF} - - -CONST - LVM_GETITEMSTATE = (LVM_FIRST + 44); - -// Macro 85 -Function ListView_GetItemState( hwndLV : hwnd; i : WPARAM; mask : LPARAM):UINT; - - -{$ifdef ie3plus} - -// Macro 86 -Function ListView_GetCheckState( hwndLV : hwnd; i : WPARAM):UINT; - -{$ENDIF} - -CONST - LVM_GETITEMTEXTA = (LVM_FIRST + 45); - LVM_GETITEMTEXTW = (LVM_FIRST + 115); - -{$IFDEF UNICODE} - LVM_GETITEMTEXT = LVM_GETITEMTEXTW; -{$ELSE} - LVM_GETITEMTEXT = LVM_GETITEMTEXTA; -{$ENDIF} - -// Macro 87 -Procedure ListView_GetItemText(hwndLV:hwnd; i : WPARAM ;iSubItem : cint ;pszText : Pointer;cchTextMax :cint); - -CONST - LVM_SETITEMTEXTA = (LVM_FIRST + 46); - LVM_SETITEMTEXTW = (LVM_FIRST + 116); - -{$IFDEF UNICODE} - LVM_SETITEMTEXT = LVM_SETITEMTEXTW; -{$ELSE} - LVM_SETITEMTEXT = LVM_SETITEMTEXTA; -{$ENDIF} - -// Macro 88 -Procedure ListView_SetItemText(hwndLV:hwnd; i : WPARAM ;iSubItem : cint ;pszText : Pointer); - -{$ifdef ie3plus} -// these flags only apply to LVS_OWNERDATA listviews in report or list mode - -CONST - LVSICF_NOINVALIDATEALL = $00000001; - LVSICF_NOSCROLL = $00000002; -{$ENDIF} - - LVM_SETITEMCOUNT = (LVM_FIRST + 47); - -// Macro 89 -Procedure ListView_SetItemCount( hwndLV : hwnd; cItems : WPARAM); - -{$ifdef ie3plus} - -// Macro 90 -Procedure ListView_SetItemCountEx( hwndLV : hwnd; cItems : WPARAM; dwFlags : LPARAM); - -{$ENDIF} - -TYPE - PFNLVCOMPARE=Function(a,b,c:LPARAM):cint; - TLVCompare = PFNLVCOMPARE; - -CONST - LVM_SORTITEMS = (LVM_FIRST + 48); - -// Macro 91 -Function ListView_SortItems( hwndLV : hwnd;pfnCompare : PFNLVCOMPARE; lPrm : LPARAM):BOOL; - -CONST - LVM_SETITEMPOSITION32 = (LVM_FIRST + 49); - -// Macro 92 -Procedure ListView_SetItemPosition32(hwndLV:hwnd; i:cint;x0,y0:long); - -CONST - LVM_GETSELECTEDCOUNT = (LVM_FIRST + 50); - -// Macro 93 -Function ListView_GetSelectedCount( hwndLV : hwnd):UINT; - -CONST - LVM_GETITEMSPACING = (LVM_FIRST + 51); - -// Macro 94 -Function ListView_GetItemSpacing( hwndLV : hwnd; fSmall : cint ):DWORD; - -CONST - LVM_GETISEARCHSTRINGA = (LVM_FIRST + 52); - LVM_GETISEARCHSTRINGW = (LVM_FIRST + 117); - -{$IFDEF UNICODE} - LVM_GETISEARCHSTRING = LVM_GETISEARCHSTRINGW; -{$ELSE} - LVM_GETISEARCHSTRING = LVM_GETISEARCHSTRINGA; -{$ENDIF} - -// Macro 95 -Function ListView_GetISearchString( hwndLV : hwnd; lpsz : LPTSTR):BOOL; - - -{$ifdef ie3plus} - -CONST - LVM_SETICONSPACING = (LVM_FIRST + 53); -// -1 for cx and cy means we'll use the default (system settings) -// 0 for cx or cy means use the current setting (allows you to change just one param) - -// Macro 96 -Function ListView_SetIconSpacing( hwndLV : hwnd; cx, cy : cint ):DWORD; - -CONST - LVM_SETEXTENDEDLISTVIEWSTYLE = (LVM_FIRST + 54); // optional wParam == mask - -// Macro 97 -Function ListView_SetExtendedListViewStyle( hwndLV : hwnd; dw : cint ):DWORD; - -{$ifdef ie4plus} - -// Macro 98 -Function ListView_SetExtendedListViewStyleEx( hwndLV : hwnd; dwMask, dw : cint ):DWORD; - -{$ENDIF} - -CONST - LVM_GETEXTENDEDLISTVIEWSTYLE = (LVM_FIRST + 55); - -// Macro 99 -Function ListView_GetExtendedListViewStyle( hwndLV : hwnd):DWORD; - -CONST - LVS_EX_GRIDLINES = $00000001; - LVS_EX_SUBITEMIMAGES = $00000002; - LVS_EX_CHECKBOXES = $00000004; - LVS_EX_TRACKSELECT = $00000008; - LVS_EX_HEADERDRAGDROP = $00000010; - LVS_EX_FULLROWSELECT = $00000020; // applies to report mode only - LVS_EX_ONECLICKACTIVATE = $00000040; - LVS_EX_TWOCLICKACTIVATE = $00000080; -{$ifdef ie4plus} - LVS_EX_FLATSB = $00000100; - LVS_EX_REGIONAL = $00000200; - LVS_EX_INFOTIP = $00000400; // listview does InfoTips for you - LVS_EX_UNDERLINEHOT = $00000800; - LVS_EX_UNDERLINECOLD = $00001000; - LVS_EX_MULTIWORKAREAS = $00002000; -{$ENDIF} -{$ifdef ie5plus} - LVS_EX_LABELTIP = $00004000; // listview unfolds partly hidden labels if it does not have infotip text - LVS_EX_BORDERSELECT = $00008000; // border selection style instead of highlight -{$ENDIF} // End (_WIN32_IE >= 0x0500) -{$ifdef win32xp} - LVS_EX_DOUBLEBUFFER = $00010000; - LVS_EX_HIDELABELS = $00020000; - LVS_EX_SINGLEROW = $00040000; - LVS_EX_SNAPTOGRID = $00080000; // Icons automatically snap to grid. - LVS_EX_SIMPLESELECT = $00100000; // Also changes overlay rendering to top right for icon mode. -{$ENDIF} -{$ifdef win32vista} - LVS_EX_JUSTIFYCOLUMNS = $00200000; // Icons are lined up in columns that use up the whole view area. - LVS_EX_TRANSPARENTBKGND = $00400000; // Background is painted by the parent via WM_PRINTCLIENT - LVS_EX_TRANSPARENTSHADOWTEXT = $00800000; // Enable shadow text on transparent backgrounds only (useful with bitmaps) - LVS_EX_AUTOAUTOARRANGE = $01000000; // Icons automatically arrange if no icon positions have been set - LVS_EX_HEADERINALLVIEWS = $02000000; // Display column header in all view modes - LVS_EX_AUTOCHECKSELECT = $08000000; - LVS_EX_AUTOSIZECOLUMNS = $10000000; - LVS_EX_COLUMNSNAPPOINTS = $40000000; - LVS_EX_COLUMNOVERFLOW = $80000000; -{$endif} - - LVM_GETSUBITEMRECT = (LVM_FIRST + 56); - -// Macro 100 -Function ListView_GetSubItemRect( hwnd : hwnd; iItem : cint;iSubItem, code :cint ;prc:LPRECT):BOOL; - -CONST - LVM_SUBITEMHITTEST = (LVM_FIRST + 57); - -// Macro 101 -Function ListView_SubItemHitTest( hwnd : hwnd; plvhti : LPLVHITTESTINFO):cint; - -CONST - LVM_SETCOLUMNORDERARRAY = (LVM_FIRST + 58); - -// Macro 102 -Function ListView_SetColumnOrderArray( hwnd : hwnd; iCount : WPARAM; pi : LPINT):BOOL; - -CONST - LVM_GETCOLUMNORDERARRAY = (LVM_FIRST + 59); - -// Macro 103 -Function ListView_GetColumnOrderArray( hwnd : hwnd; iCount : WPARAM; pi : LPINT):BOOL; - - -CONST - LVM_SETHOTITEM = (LVM_FIRST + 60); - -// Macro 104 -Function ListView_SetHotItem( hwnd : hwnd; i : WPARAM):cint; - -CONST - LVM_GETHOTITEM = (LVM_FIRST + 61); - -// Macro 105 -Function ListView_GetHotItem( hwnd : hwnd):cint; - -CONST - LVM_SETHOTCURSOR = (LVM_FIRST + 62); - -// Macro 106 -Function ListView_SetHotCursor( hwnd : hwnd; hcur : LPARAM):HCURSOR; - -CONST - LVM_GETHOTCURSOR = (LVM_FIRST + 63); - -// Macro 107 -Function ListView_GetHotCursor( hwnd : hwnd):HCURSOR; - -CONST - LVM_APPROXIMATEVIEWRECT = (LVM_FIRST + 64); - -// Macro 108 -Function ListView_ApproximateViewRect( hwnd : hwnd; iWidth, iHeight, iCount : cint ):DWORD; - -{$ENDIF} // _WIN32_IE >= 0x0300 - -{$ifdef ie4plus} - -CONST - LV_MAX_WORKAREAS = 16; - LVM_SETWORKAREAS = (LVM_FIRST + 65); - -// Macro 109 -Function ListView_SetWorkAreas( hwnd : hwnd; nWorkAreas : cint;var prc : RECT ):BOOL;inline; -Function ListView_SetWorkAreas( hwnd : hwnd; nWorkAreas : cint; prc : PRECT ):BOOL;inline; - -CONST - LVM_GETWORKAREAS = (LVM_FIRST + 70); - -// Macro 110 -Function ListView_GetWorkAreas( hwnd : hwnd; nWorkAreas : cint;var prc : RECT ):BOOL; - -CONST - LVM_GETNUMBEROFWORKAREAS = (LVM_FIRST + 73); - -// Macro 111 -Function ListView_GetNumberOfWorkAreas( hwnd : hwnd;var pnWorkAreas : UINT ):BOOL; - -CONST - LVM_GETSELECTIONMARK = (LVM_FIRST + 66); - -// Macro 112 -Function ListView_GetSelectionMark( hwnd : hwnd):cint; - -CONST - LVM_SETSELECTIONMARK = (LVM_FIRST + 67); - -// Macro 113 -Function ListView_SetSelectionMark( hwnd : hwnd; i : LPARAM):cint; - -CONST - LVM_SETHOVERTIME = (LVM_FIRST + 71); - -// Macro 114 -Function ListView_SetHoverTime( hwndLV : hwnd; dwHoverTimeMs : LPARAM):DWORD; - -CONST - LVM_GETHOVERTIME = (LVM_FIRST + 72); - -// Macro 115 -Function ListView_GetHoverTime( hwndLV : hwnd):DWORD; - -CONST - LVM_SETTOOLTIPS = (LVM_FIRST + 74); - -// Macro 116 -Function ListView_SetToolTips( hwndLV : hwnd; hwndNewHwnd : WPARAM):HWND; - -CONST - LVM_GETTOOLTIPS = (LVM_FIRST + 78); - -// Macro 117 -Function ListView_GetToolTips( hwndLV : hwnd):HWND; - -CONST - LVM_SORTITEMSEX = (LVM_FIRST + 81); - -// Macro 118 -Function ListView_SortItemsEx( hwndLV : hwnd; _pfnCompare : PFNLVCOMPARE; _lPrm : LPARAM):BOOL; - -TYPE - - tagLVBKIMAGEA = Record - ulFlags : ULONG; // LVBKIF_* - hbm : HBITMAP; - pszImage : LPSTR; - cchImageMax : UINT; - xOffsetPercent : cint; - yOffsetPercent : cint; - END; - LVBKIMAGEA = tagLVBKIMAGEA; - LPLVBKIMAGEA = ^tagLVBKIMAGEA; - TLVBKIMAGEA = tagLVBKIMAGEA; - PLVBKIMAGEA = ^tagLVBKIMAGEA; - - tagLVBKIMAGEW = Record - ulFlags : ULONG; // LVBKIF_* - hbm : HBITMAP; - pszImage : LPWSTR; - cchImageMax : UINT; - xOffsetPercent : cint; - yOffsetPercent : cint; - END; - LVBKIMAGEW = tagLVBKIMAGEW; - LPLVBKIMAGEW = ^tagLVBKIMAGEW; - TLVBKIMAGEW = tagLVBKIMAGEW; - PLVBKIMAGEW = ^tagLVBKIMAGEW; - -CONST - LVBKIF_SOURCE_NONE = $00000000; - LVBKIF_SOURCE_HBITMAP = $00000001; - LVBKIF_SOURCE_URL = $00000002; - LVBKIF_SOURCE_MASK = $00000003; - LVBKIF_STYLE_NORMAL = $00000000; - LVBKIF_STYLE_TILE = $00000010; - LVBKIF_STYLE_MASK = $00000010; -{$ifdef win32xp} - LVBKIF_FLAG_TILEOFFSET = $00000100; - LVBKIF_TYPE_WATERMARK = $10000000; -{$ENDIF} - - LVM_SETBKIMAGEA = (LVM_FIRST + 68); - LVM_SETBKIMAGEW = (LVM_FIRST + 138); - LVM_GETBKIMAGEA = (LVM_FIRST + 69); - LVM_GETBKIMAGEW = (LVM_FIRST + 139); - -{$ifdef win32xp} - LVM_SETSELECTEDCOLUMN = (LVM_FIRST + 140); - -// Macro 119 -Procedure ListView_SetSelectedColumn( hwnd : hwnd; iCol : WPARAM); - -CONST - LVM_SETTILEWIDTH = (LVM_FIRST + 141); - -// Macro 120 -Procedure ListView_SetTileWidth( hwnd : hwnd; cpWidth : WPARAM); - -CONST - LV_VIEW_ICON = $0000; - LV_VIEW_DETAILS = $0001; - LV_VIEW_SMALLICON = $0002; - LV_VIEW_LIST = $0003; - LV_VIEW_TILE = $0004; - LV_VIEW_MAX = $0004; - LVM_SETVIEW = (LVM_FIRST + 142); - -// Macro 121 -Function ListView_SetView( hwnd : hwnd; iView : DWORD):DWORD; - -CONST - LVM_GETVIEW = (LVM_FIRST + 143); - -// Macro 122 -Function ListView_GetView( hwnd : hwnd):DWORD; - -CONST - LVGF_NONE = $00000000; - LVGF_HEADER = $00000001; - LVGF_FOOTER = $00000002; - LVGF_STATE = $00000004; - LVGF_ALIGN = $00000008; - LVGF_GROUPID = $00000010; - -{$ifdef win32vista} - LVGF_SUBTITLE = $00000100; // pszSubtitle is valid - LVGF_TASK = $00000200; // pszTask is valid - LVGF_DESCRIPTIONTOP = $00000400; // pszDescriptionTop is valid - LVGF_DESCRIPTIONBOTTOM = $00000800; // pszDescriptionBottom is valid - LVGF_TITLEIMAGE = $00001000; // iTitleImage is valid - LVGF_EXTENDEDIMAGE = $00002000; // iExtendedImage is valid - LVGF_ITEMS = $00004000; // iFirstItem and cItems are valid - LVGF_SUBSET = $00008000; // pszSubsetTitle is valid - LVGF_SUBSETITEMS = $00010000; // readonly, cItems holds count of items in visible subset, iFirstItem is valid -{$endif} - - LVGS_NORMAL = $00000000; - LVGS_COLLAPSED = $00000001; - LVGS_HIDDEN = $00000002; - - LVGA_HEADER_LEFT = $00000001; - LVGA_HEADER_CENTER = $00000002; - LVGA_HEADER_RIGHT = $00000004; // Don't forget to validate exclusivity - LVGA_FOOTER_LEFT = $00000008; - LVGA_FOOTER_CENTER = $00000010; - LVGA_FOOTER_RIGHT = $00000020; // Don't forget to validate exclusivity - -TYPE - - tagLVGROUP = Record - cbSize : UINT; - mask : UINT; - pszHeader : LPWSTR; - cchHeader : cint; - pszFooter : LPWSTR; - cchFooter : cint; - iGroupId : cint; - stateMask : UINT; - state : UINT; - uAlign : UINT; -{$ifdef win32vista} - pszSubtitle : LPWSTR; - cchSubtitle : UINT; - pszTask : LPWSTR; - cchTask : UINT; - pszDescriptionTop : LPWSTR; - cchDescriptionTop : UINT; - pszDescriptionBottom: LPWSTR; - cchDescriptionBottom: UINT; - iTitleImage : cint; - iExtendedImage : cint; - iFirstItem : cint; // Read only - cItems : UINT; // Read only - pszSubsetTitle : LPWSTR;// NULL if group is not subset - cchSubsetTitle : UINT; -{$endif} - END; - LVGROUP = tagLVGROUP; - PLVGROUP = ^tagLVGROUP; - TLVGROUP = tagLVGROUP; - - -CONST - LVM_INSERTGROUP = (LVM_FIRST + 145); - -// Macro 123 -Procedure ListView_InsertGroup( hwnd : hwnd; index : WPARAM; pgrp : LPARAM); - -CONST - LVM_SETGROUPINFO = (LVM_FIRST + 147); - -// Macro 124 -Procedure ListView_SetGroupInfo( hwnd : hwnd; iGroupId : WPARAM; pgrp : LPARAM); - -CONST - LVM_GETGROUPINFO = (LVM_FIRST + 149); - -// Macro 125 -Procedure ListView_GetGroupInfo( hwnd : hwnd; iGroupId : WPARAM; pgrp : LPARAM); - -CONST - LVM_REMOVEGROUP = (LVM_FIRST + 150); - -// Macro 126 -Procedure ListView_RemoveGroup( hwnd : hwnd; iGroupId : WPARAM); - -CONST - LVM_MOVEGROUP = (LVM_FIRST + 151); - -// Macro 127 -Procedure ListView_MoveGroup( hwnd : hwnd; iGroupId : WPARAM; toIndex : LPARAM); - -CONST - LVM_MOVEITEMTOGROUP = (LVM_FIRST + 154); - -// Macro 128 -Procedure ListView_MoveItemToGroup( hwnd : hwnd; idItemFrom : WPARAM; idGroupTo : LPARAM); - -CONST - LVGMF_NONE = $00000000; - LVGMF_BORDERSIZE = $00000001; - LVGMF_BORDERCOLOR = $00000002; - LVGMF_TEXTCOLOR = $00000004; - -TYPE - - tagLVGROUPMETRICS = Record - cbSize : UINT; - mask : UINT; - Left : UINT; - Top : UINT; - Right : UINT; - Bottom : UINT; - crLeft : COLORREF; - crTop : COLORREF; - crRight : COLORREF; - crBottom : COLORREF; - crHeader : COLORREF; - crFooter : COLORREF; - END; - LVGROUPMETRICS = tagLVGROUPMETRICS; - PLVGROUPMETRICS = ^tagLVGROUPMETRICS; - TLVGROUPMETRICS = tagLVGROUPMETRICS; - -CONST - LVM_SETGROUPMETRICS = (LVM_FIRST + 155); - -// Macro 129 -Procedure ListView_SetGroupMetrics( hwnd : hwnd; pGroupMetrics : LPARAM); - -CONST - LVM_GETGROUPMETRICS = (LVM_FIRST + 156); - -// Macro 130 -Procedure ListView_GetGroupMetrics( hwnd : hwnd; pGroupMetrics : LPARAM); - -CONST - LVM_ENABLEGROUPVIEW = (LVM_FIRST + 157); - -// Macro 131 -Procedure ListView_EnableGroupView( hwnd : hwnd; fEnable : WPARAM); - -TYPE - PFNLVGROUPCOMPARE = function(i,j:cint;k:pointer):cint; StdCall; - -CONST - LVM_SORTGROUPS = (LVM_FIRST + 158); - -// Macro 132 -Procedure ListView_SortGroups( hwnd : hwnd; _pfnGroupCompate : WPARAM; _plv : LPARAM); - -TYPE - - tagLVINSERTGROUPSORTED = Record - pfnGroupCompare : PFNLVGROUPCOMPARE; - pvData : Pointer; - lvGroup : LVGROUP; - END; - LVINSERTGROUPSORTED = tagLVINSERTGROUPSORTED; - PLVINSERTGROUPSORTED = ^tagLVINSERTGROUPSORTED; - TLVINSERTGROUPSORTED = tagLVINSERTGROUPSORTED; - - -CONST - LVM_INSERTGROUPSORTED = (LVM_FIRST + 159); - -// Macro 133 -Procedure ListView_InsertGroupSorted( hwnd : hwnd; structInsert : WPARAM); - -CONST - LVM_REMOVEALLGROUPS = (LVM_FIRST + 160); - -// Macro 134 -Procedure ListView_RemoveAllGroups( hwnd : hwnd); - -CONST - LVM_HASGROUP = (LVM_FIRST + 161); - -// Macro 135 -Procedure ListView_HasGroup( hwnd : hwnd; dwGroupId : DWORD ); - -CONST - LVTVIF_AUTOSIZE = $00000000; - LVTVIF_FIXEDWIDTH = $00000001; - LVTVIF_FIXEDHEIGHT = $00000002; - LVTVIF_FIXEDSIZE = $00000003; -{$ifdef win32vista} - LVTVIF_EXTENDED = $00000004; -{$endif} - LVTVIM_TILESIZE = $00000001; - LVTVIM_COLUMNS = $00000002; - LVTVIM_LABELMARGIN = $00000004; - - -TYPE - - tagLVTILEVIEWINFO = Record - cbSize : UINT; - dwMask : DWORD; //LVTVIM_* - dwFlags : DWORD; //LVTVIF_* - sizeTile : SIZE; - cLines : cint; - rcLabelMargin : RECT; - END; - LVTILEVIEWINFO = tagLVTILEVIEWINFO; - PLVTILEVIEWINFO = ^tagLVTILEVIEWINFO; - TLVTILEVIEWINFO = tagLVTILEVIEWINFO; - - - tagLVTILEINFO = Record - cbSize : UINT; - iItem : cint; - cColumns : UINT; - puColumns : PUINT; - {$ifdef win32vista} - piColFmt : PCINT; - {$endif} - END; - LVTILEINFO = tagLVTILEINFO; - PLVTILEINFO = ^tagLVTILEINFO; - TLVTILEINFO = tagLVTILEINFO; - - -CONST - LVM_SETTILEVIEWINFO = (LVM_FIRST + 162); - -// Macro 136 -Procedure ListView_SetTileViewInfo( hwnd : hwnd; ptvi : LPARAM); - -CONST - LVM_GETTILEVIEWINFO = (LVM_FIRST + 163); - -// Macro 137 -Procedure ListView_GetTileViewInfo( hwnd : hwnd; ptvi : LPARAM); - -CONST - LVM_SETTILEINFO = (LVM_FIRST + 164); - -// Macro 138 -Procedure ListView_SetTileInfo( hwnd : hwnd; pti : LPARAM); - -CONST - LVM_GETTILEINFO = (LVM_FIRST + 165); - -// Macro 139 -Procedure ListView_GetTileInfo( hwnd : hwnd; pti : LPARAM); - -TYPE - - LVINSERTMARK = Record - cbSize : UINT; - dwFlags : DWORD; - iItem : cint; - dwReserved : DWORD; - END; - LPLVINSERTMARK = ^LVINSERTMARK; - TLVINSERTMARK = LVINSERTMARK; - PLVINSERTMARK = ^LVINSERTMARK; - -CONST - LVIM_AFTER = $00000001; // TRUE = insert After iItem, otherwise before - - LVM_SETINSERTMARK = (LVM_FIRST + 166); - -// Macro 140 -Function ListView_SetInsertMark( hwnd : hwnd; lvim : lparam ):BOOL; - -CONST - LVM_GETINSERTMARK = (LVM_FIRST + 167); - -// Macro 141 -Function ListView_GetInsertMark( hwnd : hwnd; lvim : lparam ):BOOL; - -CONST - LVM_INSERTMARKHITTEST = (LVM_FIRST + 168); - -// Macro 142 -Function ListView_InsertMarkHitTest( hwnd : hwnd; point : LPPOINT; lvim : LPLVINSERTMARK):cint; - -CONST - LVM_GETINSERTMARKRECT = (LVM_FIRST + 169); - -// Macro 143 -Function ListView_GetInsertMarkRect( hwnd : hwnd; rc : LPRECT):cint; - -CONST - LVM_SETINSERTMARKCOLOR = (LVM_FIRST + 170); - -// Macro 144 -Function ListView_SetInsertMarkColor( hwnd : hwnd; color : COLORREF):COLORREF; - -CONST - LVM_GETINSERTMARKCOLOR = (LVM_FIRST + 171); - -// Macro 145 -Function ListView_GetInsertMarkColor( hwnd : hwnd):COLORREF; - -TYPE - - tagLVSETINFOTIP = Record - cbSize : UINT; - dwFlags : DWORD; - pszText : LPWSTR; - iItem : cint; - iSubItem : cint; - END; - LVSETINFOTIP = tagLVSETINFOTIP; - PLVSETINFOTIP = ^tagLVSETINFOTIP; - TLVSETINFOTIP = tagLVSETINFOTIP; - - -CONST - LVM_SETINFOTIP = (LVM_FIRST + 173); - -// Macro 146 -Function ListView_SetInfoTip( hwndLV : hwnd; plvInfoTip : LPARAM):BOOL; - -CONST - LVM_GETSELECTEDCOLUMN = (LVM_FIRST + 174); - -// Macro 147 -Function ListView_GetSelectedColumn( hwnd : hwnd):UINT; - -CONST - LVM_ISGROUPVIEWENABLED = (LVM_FIRST + 175); - -// Macro 148 -Function ListView_IsGroupViewEnabled( hwnd : hwnd):BOOL; - -CONST - LVM_GETOUTLINECOLOR = (LVM_FIRST + 176); - -// Macro 149 -Function ListView_GetOutlineColor( hwnd : hwnd):COLORREF; - -CONST - LVM_SETOUTLINECOLOR = (LVM_FIRST + 177); - -// Macro 150 -Function ListView_SetOutlineColor( hwnd : hwnd; color : COLORREF):COLORREF; - -CONST - LVM_CANCELEDITLABEL = (LVM_FIRST + 179); - -// Macro 151 -Procedure ListView_CancelEditLabel( hwnd : hwnd); - -// These next to methods make it easy to identify an item that can be repositioned -// within listview. For example: Many developers use the lParam to store an identifier that is -// unique. Unfortunatly, in order to find this item, they have to iterate through all of the items -// in the listview. Listview will maintain a unique identifier. The upper bound is the size of a DWORD. - -CONST - LVM_MAPINDEXTOID = (LVM_FIRST + 180); - -// Macro 152 -Function ListView_MapIndexToID( hwnd : hwnd; index : WPARAM):UINT; - -CONST - LVM_MAPIDTOINDEX = (LVM_FIRST + 181); - -// Macro 153 -Function ListView_MapIDToIndex( hwnd : hwnd; id : WPARAM):UINT; - -const LVM_ISITEMVISIBLE = (LVM_FIRST + 182); - -// macro 153b -function ListView_IsItemVisible(hwnd:hwnd; aindex:cuint):cuint; -// (UINT)SNDMSG((hwnd), LVM_ISITEMVISIBLE, (WPARAM)(index), (LPARAM)0) - -{$ENDIF} - -{$ifdef win32vista} -CONST - LVM_GETEMPTYTEXT = (LVM_FIRST + 204); - LVM_GETFOOTERRECT = (LVM_FIRST + 205); - LVM_GETFOOTERINFO = (LVM_FIRST + 206); - LVM_GETFOOTERITEMRECT = (LVM_FIRST + 207); - LVM_GETFOOTERITEM = (LVM_FIRST + 208); - LVM_GETITEMINDEXRECT = (LVM_FIRST + 209); - LVM_SETITEMINDEXSTATE = (LVM_FIRST + 210); - LVM_GETNEXTITEMINDEX = (LVM_FIRST + 211); - -// footer flags - LVFF_ITEMCOUNT = $00000001; - -// footer item flags - LVFIF_TEXT = $00000001; - LVFIF_STATE = $00000002; - -// footer item state - LVFIS_FOCUSED = $0001; - -TYPE - tagLVFOOTERINFO = Record - mask : CUINT; // LVFF_* - pszText : LPWSTR; - cchTextMax: CINT; - cItems : CUINT; - end; - - LVFOOTERINFO = tagLVFOOTERINFO; - LPLVFOOTERINFO = ^tagLVFOOTERINFO; - TLVFOOTERINFO = tagLVFOOTERINFO; - PLVFOOTERINFO = LPLVFOOTERINFO; - - - tagLVFOOTERITEM = Record - mask : CUINT; // LVFIF_* - iItem : CINT; - pszText : LPWSTR; - cchTextMax: CINT; - state : CUINT; // LVFIS_* - stateMask : CUINT; // LVFIS_* - end; - - LVFOOTERITEM = tagLVFOOTERITEM; - LPLVFOOTERITEM = ^tagLVFOOTERITEM; - TLVFOOTERITEM = tagLVFOOTERITEM; - PLVFOOTERITEM = LPLVFOOTERITEM; - -// supports a single item in multiple groups. - tagLVITEMINDEX = Record - iItem : CINT; // listview item index - iGroup : CINT; // group index (must be -1 if group view is not enabled) - end; - LVITEMINDEX = tagLVITEMINDEX; - PLVITEMINDEX = ^tagLVITEMINDEX; - tLVITEMINDEX = TAGLVITEMINDEX; - - -function ListView_SetGroupHeaderImageList(hwnd:HWNd;himl:HIMAGELIST):HIMAGELIST; - -function ListView_GetGroupHeaderImageList(hwnd:HWND):HIMAGELIST; - -function ListView_GetEmptyText(hwnd:HWND;pszText:LPWSTR; cchText:CUINT):BOOL; - -function ListView_GetFooterRect(hwnd:HWND; prc:PRECT):BOOL; - -function ListView_GetFooterInfo(hwnd:HWND;plvfi: LPLVFOOTERINFO ):BOOL; - -function ListView_GetFooterItemRect(hwnd:HWND;iItem:CUINT;prc:PRECT):BOOL; - -function ListView_GetFooterItem(hwnd:HWND;iItem:CUINT; pfi:PLVFOOTERITEM):BOOL; - -function ListView_GetItemIndexRect(hwnd:hwnd; plvii:PLVITEMINDEX; iSubItem:clong; code:clong; prc:LPRECT) :BOOL; - -function ListView_SetItemIndexState(hwndLV:HWND; plvii:PLVITEMINDEX; data:CUINT; mask:CUINT):HRESULT; - -function ListView_GetNextItemIndex(hwnd:HWND;plvii:PLVITEMINDEX; flags:LPARAM):BOOL; - -{$endif} - -Type - -{$IFDEF UNICODE} - LVBKIMAGE = LVBKIMAGEW; - LPLVBKIMAGE = LPLVBKIMAGEW; -CONST - LVM_SETBKIMAGE = LVM_SETBKIMAGEW; - LVM_GETBKIMAGE = LVM_GETBKIMAGEW; -{$ELSE} - LVBKIMAGE = LVBKIMAGEA; - LPLVBKIMAGE = LPLVBKIMAGEA; -CONST - LVM_SETBKIMAGE = LVM_SETBKIMAGEA; - LVM_GETBKIMAGE = LVM_GETBKIMAGEA; -{$ENDIF} - - -// Macro 154 -Function ListView_SetBkImage( hwnd : hwnd; plvbki : LPARAM):BOOL; - -// Macro 155 -Function ListView_GetBkImage( hwnd : hwnd; plvbki : LPARAM):BOOL; - -{$ENDIF} // _WIN32_IE >= 0x0400 - -TYPE - - tagNMLISTVIEW = Record - hdr : NMHDR; - iItem : cint; - iSubItem : cint; - uNewState : UINT; - uOldState : UINT; - uChanged : UINT; - ptAction : POINT; - lParam : LPARAM; - END; - NMLISTVIEW = tagNMLISTVIEW; - LPNMLISTVIEW = ^tagNMLISTVIEW; - TNMLISTVIEW = tagNMLISTVIEW; - PNMLISTVIEW = ^tagNMLISTVIEW; - -{$ifdef IE4plus} -// NMITEMACTIVATE is used instead of NMLISTVIEW in IE >= 0x400 -// therefore all the fields are the same except for extra uKeyFlags -// they are used to store key flags at the time of the single click with -// delayed activation - because by the time the timer goes off a user may -// not hold the keys (shift, ctrl) any more - tagNMITEMACTIVATE = Record - hdr : NMHDR; - iItem : cint; - iSubItem : cint; - uNewState : UINT; - uOldState : UINT; - uChanged : UINT; - ptAction : POINT; - lParam : LPARAM; - uKeyFlags : UINT; - END; - NMITEMACTIVATE = tagNMITEMACTIVATE; - LPNMITEMACTIVATE = ^tagNMITEMACTIVATE; - TNMITEMACTIVATE = tagNMITEMACTIVATE; - PNMITEMACTIVATE = ^tagNMITEMACTIVATE; - -// key flags stored in uKeyFlags - -CONST - LVKF_ALT = $0001; - LVKF_CONTROL = $0002; - LVKF_SHIFT = $0004; -{$ENDIF} //(_WIN32_IE >= 0x0400) -Type - -{$ifdef ie3plus} - LPNM_LISTVIEW = LPNMLISTVIEW; - NM_LISTVIEW = NMLISTVIEW; -{$ELSE} - tagNMLISTVIEW = _NM_LISTVIEW; - NMLISTVIEW = NM_LISTVIEW; - LPNMLISTVIEW = LPNM_LISTVIEW; -{$ENDIF} - - -{$ifdef ie3plus} -// #define NMLVCUSTOMDRAW_V3_SIZE CCSIZEOF_STRUCT(NMLVCUSTOMDRW, clrTextBk) - -TYPE - - tagNMLVCUSTOMDRAW = Record - nmcd : NMCUSTOMDRAW; - clrText : COLORREF; - clrTextBk : COLORREF; -{$ifdef ie4plus} - iSubItem : cint; -{$ENDIF} -{$ifdef win32xp} - dwItemType : DWORD; - - clrFace : COLORREF; - iIconEffect : cint; - iIconPhase : cint; - iPartId : cint; - iStateId : cint; - - rcText : RECT; - uAlign : UINT; // Alignment. Use LVGA_HEADER_CENTER, LVGA_HEADER_RIGHT, LVGA_HEADER_LEFT -{$ENDIF} - END; - NMLVCUSTOMDRAW = tagNMLVCUSTOMDRAW; - LPNMLVCUSTOMDRAW = ^tagNMLVCUSTOMDRAW; - TNMLVCUSTOMDRAW = tagNMLVCUSTOMDRAW; - PNMLVCUSTOMDRAW = ^tagNMLVCUSTOMDRAW; - - -// dwItemType - -CONST - LVCDI_ITEM = $00000000; - LVCDI_GROUP = $00000001; - -// ListView custom draw return values - LVCDRF_NOSELECT = $00010000; - LVCDRF_NOGROUPFRAME = $00020000; - -TYPE - - tagNMLVCACHEHINT = Record - hdr : NMHDR; - iFrom : cint; - iTo : cint; - END; - NMLVCACHEHINT = tagNMLVCACHEHINT; - LPNMLVCACHEHINT = ^tagNMLVCACHEHINT; - TNMLVCACHEHINT = tagNMLVCACHEHINT; - PNMLVCACHEHINT = ^tagNMLVCACHEHINT; - - - LPNM_CACHEHINT = LPNMLVCACHEHINT; - PNM_CACHEHINT = LPNMLVCACHEHINT; - - NM_CACHEHINT = NMLVCACHEHINT; - - tagNMLVFINDITEMA = Record - hdr : NMHDR; - iStart : cint; - lvfi : LVFINDINFOA; - END; - NMLVFINDITEMA = tagNMLVFINDITEMA; - LPNMLVFINDITEMA = ^tagNMLVFINDITEMA; - TNMLVFINDITEMA = tagNMLVFINDITEMA; - PNMLVFINDITEMA = ^tagNMLVFINDITEMA; - - - tagNMLVFINDITEMW = Record - hdr : NMHDR; - iStart : cint; - lvfi : LVFINDINFOW; - END; - NMLVFINDITEMW = tagNMLVFINDITEMW; - LPNMLVFINDITEMW = ^tagNMLVFINDITEMW; - TNMLVFINDITEMW = tagNMLVFINDITEMW; - PNMLVFINDITEMW = ^tagNMLVFINDITEMW; - - - PNM_FINDITEMA = LPNMLVFINDITEMA; - LPNM_FINDITEMA = LPNMLVFINDITEMA; - NM_FINDITEMA = NMLVFINDITEMA; - - PNM_FINDITEMW = LPNMLVFINDITEMW; - LPNM_FINDITEMW = LPNMLVFINDITEMW; - NM_FINDITEMW = NMLVFINDITEMW; - -{$IFDEF UNICODE} - PNM_FINDITEM = PNM_FINDITEMW; - LPNM_FINDITEM = LPNM_FINDITEMW; - NM_FINDITEM = NM_FINDITEMW; - NMLVFINDITEM = NMLVFINDITEMW; - LPNMLVFINDITEM = LPNMLVFINDITEMW; -{$ELSE} - PNM_FINDITEM = PNM_FINDITEMA; - LPNM_FINDITEM = LPNM_FINDITEMA; - NM_FINDITEM = NM_FINDITEMA; - NMLVFINDITEM = NMLVFINDITEMA; - LPNMLVFINDITEM = LPNMLVFINDITEMA; -{$ENDIF} - PNMLVFindItem = LPNMLVFINDITEM; - TNMLVFindItem = NMLVFINDITEM; - - tagNMLVODSTATECHANGE = Record - hdr : NMHDR; - iFrom : cint; - iTo : cint; - uNewState : UINT; - uOldState : UINT; - END; - NMLVODSTATECHANGE = tagNMLVODSTATECHANGE; - LPNMLVODSTATECHANGE = ^tagNMLVODSTATECHANGE; - TNMLVODSTATECHANGE = tagNMLVODSTATECHANGE; - PNMLVODSTATECHANGE = ^tagNMLVODSTATECHANGE; - - - PNM_ODSTATECHANGE = LPNMLVODSTATECHANGE; - LPNM_ODSTATECHANGE = LPNMLVODSTATECHANGE; - - - NM_ODSTATECHANGE = NMLVODSTATECHANGE; -{$ENDIF} // _WIN32_IE >= 0x0300 - -CONST - LVN_ITEMCHANGING = (LVN_FIRST-0); - LVN_ITEMCHANGED = (LVN_FIRST-1); - LVN_INSERTITEM = (LVN_FIRST-2); - LVN_DELETEITEM = (LVN_FIRST-3); - LVN_DELETEALLITEMS = (LVN_FIRST-4); - LVN_BEGINLABELEDITA = (LVN_FIRST-5); - LVN_BEGINLABELEDITW = (LVN_FIRST-75); - LVN_ENDLABELEDITA = (LVN_FIRST-6); - LVN_ENDLABELEDITW = (LVN_FIRST-76); - LVN_COLUMNCLICK = (LVN_FIRST-8); - LVN_BEGINDRAG = (LVN_FIRST-9); - LVN_BEGINRDRAG = (LVN_FIRST-11); - -{$ifdef ie3plus} - LVN_ODCACHEHINT = (LVN_FIRST-13); - LVN_ODFINDITEMA = (LVN_FIRST-52); - LVN_ODFINDITEMW = (LVN_FIRST-79); - - LVN_ITEMACTIVATE = (LVN_FIRST-14); - LVN_ODSTATECHANGED = (LVN_FIRST-15); - -Const -{$IFDEF UNICODE} - LVN_ODFINDITEM = LVN_ODFINDITEMW; -{$ELSE} - LVN_ODFINDITEM = LVN_ODFINDITEMA; -{$ENDIF} -{$ENDIF} // _WIN32_IE >= 0x0300 - - -CONST -{$ifdef ie4plus} - LVN_HOTTRACK = (LVN_FIRST-21); -{$ENDIF} - - LVN_GETDISPINFOA = (LVN_FIRST-50); - LVN_GETDISPINFOW = (LVN_FIRST-77); - LVN_SETDISPINFOA = (LVN_FIRST-51); - LVN_SETDISPINFOW = (LVN_FIRST-78); - -Const -{$IFDEF UNICODE} - LVN_BEGINLABELEDIT = LVN_BEGINLABELEDITW; - LVN_ENDLABELEDIT = LVN_ENDLABELEDITW; - LVN_GETDISPINFO = LVN_GETDISPINFOW; - LVN_SETDISPINFO = LVN_SETDISPINFOW; -{$ELSE} - LVN_BEGINLABELEDIT = LVN_BEGINLABELEDITA; - LVN_ENDLABELEDIT = LVN_ENDLABELEDITA; - LVN_GETDISPINFO = LVN_GETDISPINFOA; - LVN_SETDISPINFO = LVN_SETDISPINFOA; -{$ENDIF} - -CONST - LVIF_DI_SETITEM = $1000; - -TYPE - - tagLVDISPINFO = Record - hdr : NMHDR; - item : LVITEMA; - END; - NMLVDISPINFOA = tagLVDISPINFO; - LPNMLVDISPINFOA = ^tagLVDISPINFO; - TLVDISPINFO = tagLVDISPINFO; - PLVDISPINFO = ^tagLVDISPINFO; - - - tagLVDISPINFOW = Record - hdr : NMHDR; - item : LVITEMW; - END; - NMLVDISPINFOW = tagLVDISPINFOW; - LPNMLVDISPINFOW = ^tagLVDISPINFOW; - TLVDISPINFOW = tagLVDISPINFOW; - PLVDISPINFOW = ^tagLVDISPINFOW; - - -{$IFDEF UNICODE} - NMLVDISPINFO = NMLVDISPINFOW; -{$ELSE} - NMLVDISPINFO = NMLVDISPINFOA; -{$ENDIF} - -{$ifdef ie3plus} - LV_DISPINFOA = NMLVDISPINFOA; - LV_DISPINFOW = NMLVDISPINFOW; -{$ELSE} - tagLVDISPINFO = _LV_DISPINFO; - NMLVDISPINFOA = LV_DISPINFOA; - tagLVDISPINFOW = _LV_DISPINFOW; - NMLVDISPINFOW = LV_DISPINFOW; -{$ENDIF} - - - LV_DISPINFO = NMLVDISPINFO; - -CONST - LVN_KEYDOWN = (LVN_FIRST-55); - - - -{$IFDEF _WIN32} -// include -{$ENDIF} - -TYPE - tagLVKEYDOWN = Record - hdr : NMHDR; - wVKey : WORD; - flags : UINT; - END; - NMLVKEYDOWN = tagLVKEYDOWN; - LPNMLVKEYDOWN = ^tagLVKEYDOWN; - TLVKEYDOWN = tagLVKEYDOWN; - PLVKEYDOWN = ^tagLVKEYDOWN; - - -{$IFDEF _WIN32} -//include -{$ENDIF} - -{$ifdef ie3plus} -CONST - LVN_MARQUEEBEGIN = (LVN_FIRST-56); -{$ENDIF} - -{$ifdef win32vista} -Type - tagNMLVLIN = Record - hdr: NMHDR; - link: LITEM; - iItem: cint; - iSubItem: cint; - end; - NMLVLINK = tagNMLVLIN; - TNMLVLINK = tagNMLVLIN; - PNMLVLINK = ^tagNMLVLIN; -{$endif} - -{$ifdef ie4plus} -TYPE - - tagNMLVGETINFOTIPA = Record - hdr : NMHDR; - dwFlags : DWORD; - pszText : LPSTR; - cchTextMax : cint; - iItem : cint; - iSubItem : cint; - lParam : LPARAM; - END; - NMLVGETINFOTIPA = tagNMLVGETINFOTIPA; - LPNMLVGETINFOTIPA = ^tagNMLVGETINFOTIPA; - TNMLVGETINFOTIPA = tagNMLVGETINFOTIPA; - PNMLVGETINFOTIPA = ^tagNMLVGETINFOTIPA; - - - tagNMLVGETINFOTIPW = Record - hdr : NMHDR; - dwFlags : DWORD; - pszText : LPWSTR; - cchTextMax : cint; - iItem : cint; - iSubItem : cint; - lParam : LPARAM; - END; - NMLVGETINFOTIPW = tagNMLVGETINFOTIPW; - LPNMLVGETINFOTIPW = ^tagNMLVGETINFOTIPW; - TNMLVGETINFOTIPW = tagNMLVGETINFOTIPW; - PNMLVGETINFOTIPW = ^tagNMLVGETINFOTIPW; - -{$ifdef ie3plus} - LV_KEYDOWN = NMLVKEYDOWN; -{$ELSE} - tagLVKEYDOWN = _LV_KEYDOWN; - NMLVKEYDOWN = LV_KEYDOWN; -{$ENDIF} - - -// NMLVGETINFOTIPA.dwFlag values - -CONST - LVGIT_UNFOLDED = $0001; - - LVN_GETINFOTIPA = (LVN_FIRST-57); - LVN_GETINFOTIPW = (LVN_FIRST-58); - LVN_INCREMENTALSEARCHA = (LVN_FIRST-62); - LVN_INCREMENTALSEARCHW = (LVN_FIRST-63); - - LVNSCH_DEFAULT = -1; - LVNSCH_ERROR = -2; - LVNSCH_IGNORE = -3; - -{$ifdef win32vista} - LVN_COLUMNDROPDOWN = (LVN_FIRST-64); - LVN_COLUMNOVERFLOWCLICK = (LVN_FIRST-66); -{$endif} - -Const -{$IFDEF UNICODE} - LVN_GETINFOTIP = LVN_GETINFOTIPW; -type - NMLVGETINFOTIP = NMLVGETINFOTIPW; - LPNMLVGETINFOTIP = LPNMLVGETINFOTIPW; -{$ELSE} - LVN_GETINFOTIP = LVN_GETINFOTIPA; -type - NMLVGETINFOTIP = NMLVGETINFOTIPA; - LPNMLVGETINFOTIP = LPNMLVGETINFOTIPA; -{$ENDIF} -{$ENDIF} // _WIN32_IE >= 0x0400 - - -{$ifdef win32xp} // actually 2003 - tagNMLVSCROLL = Record - hdr : NMHDR; - dx : cint; - dy : cint; - END; - NMLVSCROLL = tagNMLVSCROLL; - LPNMLVSCROLL = ^tagNMLVSCROLL; - TNMLVSCROLL = tagNMLVSCROLL; - PNMLVSCROLL = ^tagNMLVSCROLL; - - -CONST - LVN_BEGINSCROLL = (LVN_FIRST-80); - LVN_ENDSCROLL = (LVN_FIRST-81); -// {$ENDIF} - -{$ifdef win32vista} - LVN_LINKCLICK = (LVN_FIRST-84); - LVN_GETEMPTYMARKUP = (LVN_FIRST-87); - - EMF_CENTERED = $00000001; // render markup centered in the listview area - -Type - tagNMLVEMPTYMARKUP = Record - hdr : NMHDR; - // out params from client back to listview - dwFlags :DWORD; // EMF_* - szMarkup : array[0..L_MAX_URL_LENGTH-1] of wchar; // markup displayed - end; - NMLVEMPTYMARKUP = tagNMLVEMPTYMARKUP; - TNMLVEMPTYMARKUP = tagNMLVEMPTYMARKUP; - PNMLVEMPTYMARKUP = ^tagNMLVEMPTYMARKUP; - -{$endif} - -{$ENDIF} // NOLISTVIEW - -//====== TREEVIEW CONTROL ===================================================== - -{$IFNDEF NOTREEVIEW} - -CONST -{$IFDEF _WIN32} - WC_TREEVIEWA = 'SysTreeView32'; - WC_TREEVIEWW = {L}'SysTreeView32'; - -{$IFDEF UNICODE} - WC_TREEVIEW = WC_TREEVIEWW; -{$ELSE} - WC_TREEVIEW = WC_TREEVIEWA; -{$ENDIF} -{$ELSE} - WC_TREEVIEW = 'SysTreeView'; -{$ENDIF} - -// begin_r_commctrl - - TVS_HASBUTTONS = $0001; - TVS_HASLINES = $0002; - TVS_LINESATROOT = $0004; - TVS_EDITLABELS = $0008; - TVS_DISABLEDRAGDROP = $0010; - TVS_SHOWSELALWAYS = $0020; -{$ifdef ie3plus} - TVS_RTLREADING = $0040; - - TVS_NOTOOLTIPS = $0080; - TVS_CHECKBOXES = $0100; - TVS_TRACKSELECT = $0200; -{$ifdef ie4plus} - TVS_SINGLEEXPAND = $0400; - TVS_INFOTIP = $0800; - TVS_FULLROWSELECT = $1000; - TVS_NOSCROLL = $2000; - TVS_NONEVENHEIGHT = $4000; -{$ENDIF} -{$ifdef ie5plus} - TVS_NOHSCROLL = $8000; // TVS_NOSCROLL overrides this -{$ENDIF} -{$ifdef win32vista} - TVS_EX_MULTISELECT = $0002; - TVS_EX_DOUBLEBUFFER = $0004; - TVS_EX_NOINDENTSTATE = $0008; - TVS_EX_RICHTOOLTIP = $0010; - TVS_EX_AUTOHSCROLL = $0020; - TVS_EX_FADEINOUTEXPANDOS = $0040; - TVS_EX_PARTIALCHECKBOXES = $0080; - TVS_EX_EXCLUSIONCHECKBOXES = $0100; - TVS_EX_DIMMEDCHECKBOXES = $0200; - TVS_EX_DRAWIMAGEASYNC = $0400; -{$endif} -{$ENDIF} - -// end_r_commctrl - -TYPE - HTREEITEM = ^TREEITEM; - -CONST - TVIF_TEXT = $0001; - TVIF_IMAGE = $0002; - TVIF_PARAM = $0004; - TVIF_STATE = $0008; - TVIF_HANDLE = $0010; - TVIF_SELECTEDIMAGE = $0020; - TVIF_CHILDREN = $0040; -{$ifdef ie4plus} - TVIF_INTEGRAL = $0080; -{$ENDIF} -{$ifdef win32vista} - TVIF_STATEEX = $0100; - TVIF_EXPANDEDIMAGE = $0200; -{$endif} - TVIS_SELECTED = $0002; - TVIS_CUT = $0004; - TVIS_DROPHILITED = $0008; - TVIS_BOLD = $0010; - TVIS_EXPANDED = $0020; - TVIS_EXPANDEDONCE = $0040; -{$ifdef ie3plus} - TVIS_EXPANDPARTIAL = $0080; -{$ENDIF} - - TVIS_OVERLAYMASK = $0F00; - TVIS_STATEIMAGEMASK = $F000; - TVIS_USERMASK = $F000; - -// IE6 - TVIS_EX_FLAT = $0001; -{$ifdef win32vista} - TVIS_EX_DISABLED = $0002; -{$endif} - TVIS_EX_ALL = $0002; -Type - -// Structure for TreeView's NM_TVSTATEIMAGECHANGING notification - tagNMTVSTATEIMAGECHANGING = Record - hdr : NMHDR; - hti : HTREEITEM; - iOldStateImageIndex : cint; - iNewStateImageIndex : cint; - end; - NMTVSTATEIMAGECHANGING = tagNMTVSTATEIMAGECHANGING; - LPNMTVSTATEIMAGECHANGING = ^tagNMTVSTATEIMAGECHANGING; - -Const - I_CHILDRENCALLBACK = (-1); -Type - tagTVITEMA = Record - mask : UINT; - hItem : HTREEITEM; - state : UINT; - stateMask : UINT; - pszText : LPSTR; - cchTextMax : cint; - iImage : cint; - iSelectedImage : cint; - cChildren : cint; - lParam : LPARAM; -{$ifdef ie6plus} - uStateEx : cUINT; - hwnd : HWND; - iExpandedImage : cint; -{$endif} -{$ifdef NTDDI_WIN7} - iPadding : cint; -{$endif} - END; - TVITEMA = tagTVITEMA; - LPTVITEMA = ^tagTVITEMA; - TTVITEMA = tagTVITEMA; - PTVITEMA = ^tagTVITEMA; - - - tagTVITEMW = Record - mask : UINT; - hItem : HTREEITEM; - state : UINT; - stateMask : UINT; - pszText : LPWSTR; - cchTextMax : cint; - iImage : cint; - iSelectedImage : cint; - cChildren : cint; - lParam : LPARAM; -{$ifdef ie6plus} - uStateEx : cUINT; - hwnd : HWND; - iExpandedImage : cint; -{$endif} -{$ifdef NTDDI_WIN7} - iPadding : cint; -{$endif} - END; - TVITEMW = tagTVITEMW; - LPTVITEMW = ^tagTVITEMW; - TTVITEMW = tagTVITEMW; - PTVITEMW = ^tagTVITEMW; - - -{$ifdef ie4plus} -// only used for Get and Set messages. no notifies - tagTVITEMEXA = Record - mask : UINT; - hItem : HTREEITEM; - state : UINT; - stateMask : UINT; - pszText : LPSTR; - cchTextMax : cint; - iImage : cint; - iSelectedImage : cint; - cChildren : cint; - lParam : LPARAM; - iIntegral : cint; - END; - TVITEMEXA = tagTVITEMEXA; - LPTVITEMEXA = ^tagTVITEMEXA; - TTVITEMEXA = tagTVITEMEXA; - PTVITEMEXA = ^tagTVITEMEXA; - -// only used for Get and Set messages. no notifies - tagTVITEMEXW = Record - mask : UINT; - hItem : HTREEITEM; - state : UINT; - stateMask : UINT; - pszText : LPWSTR; - cchTextMax : cint; - iImage : cint; - iSelectedImage : cint; - cChildren : cint; - lParam : LPARAM; - iIntegral : cint; - END; - TVITEMEXW = tagTVITEMEXW; - LPTVITEMEXW = ^tagTVITEMEXW; - TTVITEMEXW = tagTVITEMEXW; - PTVITEMEXW = ^tagTVITEMEXW; - - -TYPE -{$ifdef ie3plus} - LPTV_ITEMW = LPTVITEMW; - LPTV_ITEMA = LPTVITEMA; - TV_ITEMW = TVITEMW; - TV_ITEMA = TVITEMA; -{$ELSE} - tagTVITEMA = _TV_ITEMA; - TVITEMA = TV_ITEMA; - LPTVITEMA = LPTV_ITEMA; - tagTVITEMW = _TV_ITEMW; - TVITEMW = TV_ITEMW; - LPTVITEMW = LPTV_ITEMW; -{$ENDIF} - TTVItem = TVITEMA; - PTVItem = LPTVITEMA; - - - - - -{$IFDEF UNICODE} - TVITEMEX = TVITEMEXW; - LPTVITEMEX = LPTVITEMEXW; -{$ELSE} - TVITEMEX = TVITEMEXA; - LPTVITEMEX = LPTVITEMEXA; -{$ENDIF} // UNICODE - - -{$ENDIF} - -{$IFDEF UNICODE} - TVITEM = TVITEMW; - LPTVITEM = LPTVITEMW; -{$ELSE} - TVITEM = TVITEMA; - LPTVITEM = LPTVITEMA; -{$ENDIF} - - LPTV_ITEM = LPTVITEM; - TV_ITEM = TVITEM; - -CONST - TVI_ROOT = HTREEITEM(ULONG_PTR(-$10000)); - TVI_FIRST = HTREEITEM(ULONG_PTR(-$0FFFF)); - TVI_LAST = HTREEITEM(ULONG_PTR(-$0FFFE)); - TVI_SORT = HTREEITEM(ULONG_PTR(-$0FFFD)); - - - -// #define TVINSERTSTRUCTA_V1_SIZE CCSIZEOF_STRUCT(TVINSERTSTRUCTA, item) -// #define TVINSERTSTRUCTW_V1_SIZE CCSIZEOF_STRUCT(TVINSERTSTRUCTW, item) -Type - tagTVINSERTSTRUCTA = Record - hParent : HTREEITEM; - hInsertAfter : HTREEITEM; -{$ifdef ie4plus} - case boolean of - false: (itemex : TVITEMEXA); - True: (item : TV_ITEMA); -{$ELSE} - item : TV_ITEMA; -{$ENDIF} - END; - TVINSERTSTRUCTA = tagTVINSERTSTRUCTA; - LPTVINSERTSTRUCTA = ^tagTVINSERTSTRUCTA; - TTVINSERTSTRUCTA = tagTVINSERTSTRUCTA; - PTVINSERTSTRUCTA = ^tagTVINSERTSTRUCTA; - TTVINSERTSTRUCT = TTVINSERTSTRUCTA; - PTVINSERTSTRUCT = PTVINSERTSTRUCTA; - - - tagTVINSERTSTRUCTW = Record - hParent : HTREEITEM; - hInsertAfter : HTREEITEM; -{$ifdef ie4plus} - case boolean of - false: (itemex : TVITEMEXW); - True: (item : TV_ITEMW); -{$ELSE} - item : TV_ITEMW; -{$ENDIF} - END; - TVINSERTSTRUCTW = tagTVINSERTSTRUCTW; - LPTVINSERTSTRUCTW = ^tagTVINSERTSTRUCTW; - TTVINSERTSTRUCTW = tagTVINSERTSTRUCTW; - PTVINSERTSTRUCTW = ^tagTVINSERTSTRUCTW; - - -{$IFDEF UNICODE} - TVINSERTSTRUCT = TVINSERTSTRUCTW; - LPTVINSERTSTRUCT = LPTVINSERTSTRUCTW; -// TVINSERTSTRUCT_V1_SIZE = TVINSERTSTRUCTW_V1_SIZE; -{$ELSE} - TVINSERTSTRUCT = TVINSERTSTRUCTA; - LPTVINSERTSTRUCT = LPTVINSERTSTRUCTA; -// TVINSERTSTRUCT_V1_SIZE = TVINSERTSTRUCTA_V1_SIZE; -{$ENDIF} -CONST - TVM_INSERTITEMA = (TV_FIRST + 0); - TVM_INSERTITEMW = (TV_FIRST + 50); -{$IFDEF UNICODE} - TVM_INSERTITEM = TVM_INSERTITEMW; -{$ELSE} - TVM_INSERTITEM = TVM_INSERTITEMA; -{$ENDIF} - -TYPE -{$ifdef ie3plus} - LPTV_INSERTSTRUCTA = LPTVINSERTSTRUCTA; - LPTV_INSERTSTRUCTW = LPTVINSERTSTRUCTW; - TV_INSERTSTRUCTA = TVINSERTSTRUCTA; - TV_INSERTSTRUCTW = TVINSERTSTRUCTW; -{$ELSE} - tagTVINSERTSTRUCTA = _TV_INSERTSTRUCTA; - TVINSERTSTRUCTA = TV_INSERTSTRUCTA; - LPTVINSERTSTRUCTA = LPTV_INSERTSTRUCTA; - tagTVINSERTSTRUCTW = _TV_INSERTSTRUCTW; - TVINSERTSTRUCTW = TV_INSERTSTRUCTW; - LPTVINSERTSTRUCTW = LPTV_INSERTSTRUCTW; -{$ENDIF} - - - TV_INSERTSTRUCT = TVINSERTSTRUCT; - LPTV_INSERTSTRUCT = LPTVINSERTSTRUCT; - - -// Macro 156 -Function TreeView_InsertItem( hwnd : hwnd; lpis : LPTV_INSERTSTRUCT):HTREEITEM;inline; -Function TreeView_InsertItem( hwnd : hwnd; const lpis : TV_INSERTSTRUCT):HTREEITEM;inline; - -CONST - TVM_DELETEITEM = (TV_FIRST + 1); - -// Macro 157 -Function TreeView_DeleteItem( hwnd : hwnd; hitem : HTREEITEM):BOOL; - -// Macro 158 -Function TreeView_DeleteAllItems( hwnd : hwnd):BOOL; - -CONST - TVM_EXPAND = (TV_FIRST + 2); - -// Macro 159 -Function TreeView_Expand( hwnd : hwnd; hitem : HTREEITEM; code : WPARAM):BOOL; - -CONST - TVE_COLLAPSE = $0001; - TVE_EXPAND = $0002; - TVE_TOGGLE = $0003; -{$ifdef ie3plus} - TVE_EXPANDPARTIAL = $4000; -{$ENDIF} - TVE_COLLAPSERESET = $8000; - - - TVM_GETITEMRECT = (TV_FIRST + 4); - -// Macro 160 -Function TreeView_GetItemRect( hwnd : hwnd; hitem: HTREEITEM; code : WPARAM; prc : pRECT):BOOL;inline; -Function TreeView_GetItemRect( hwnd : hwnd; hitem: HTREEITEM; var prc : TRECT;code : Bool):BOOL;inline; - -CONST - TVM_GETCOUNT = (TV_FIRST + 5); - -// Macro 161 -Function TreeView_GetCount( hwnd : hwnd):UINT; - -CONST - TVM_GETINDENT = (TV_FIRST + 6); - -// Macro 162 -Function TreeView_GetIndent( hwnd : hwnd):UINT; - -CONST - TVM_SETINDENT = (TV_FIRST + 7); - -// Macro 163 -Function TreeView_SetIndent( hwnd : hwnd; indent : WPARAM):BOOL; - -CONST - TVM_GETIMAGELIST = (TV_FIRST + 8); - -// Macro 164 -Function TreeView_GetImageList( hwnd : hwnd; iImage : cint ):HIMAGELIST; - -CONST - TVSIL_NORMAL = 0; - TVSIL_STATE = 2; - - - TVM_SETIMAGELIST = (TV_FIRST + 9); - -// Macro 165 -Function TreeView_SetImageList( hwnd : hwnd; himl : HIMAGELIST; iImage : cint):HIMAGELIST; - -CONST - TVM_GETNEXTITEM = (TV_FIRST + 10); - -// Macro 166 -Function TreeView_GetNextItem( hwnd : hwnd; hitem : HTREEITEM; code : WPARAM):HTREEITEM; - -CONST - TVGN_ROOT = $0000; - TVGN_NEXT = $0001; - TVGN_PREVIOUS = $0002; - TVGN_PARENT = $0003; - TVGN_CHILD = $0004; - TVGN_FIRSTVISIBLE = $0005; - TVGN_NEXTVISIBLE = $0006; - TVGN_PREVIOUSVISIBLE = $0007; - TVGN_DROPHILITE = $0008; - TVGN_CARET = $0009; -{$ifdef ie4plus} - TVGN_LASTVISIBLE = $000A; -{$ENDIF} // _WIN32_IE >= 0x0400 -{$ifdef ie6plus} - TVGN_NEXTSELECTED = $000B; -{$endif} -{$ifdef win32xp} // 0x501 - TVSI_NOSINGLEEXPAND = $8000; // Should not conflict with TVGN flags. -{$ENDIF} - -function TreeView_GetChild(hwnd:hwnd; hitem:HTREEITEM) : HTREEITEM;inline; -function TreeView_GetNextSibling(hwnd:hwnd; hitem:HTREEITEM) : HTREEITEM;inline; -function TreeView_GetPrevSibling(hwnd:hwnd; hitem:HTREEITEM) : HTREEITEM;inline; -function TreeView_GetParent(hwnd:hwnd; hitem:HTREEITEM) : HTREEITEM;inline; -function TreeView_GetFirstVisible(hwnd:hwnd) : HTREEITEM;inline; -function TreeView_GetNextVisible(hwnd:hwnd; hitem:HTREEITEM) : HTREEITEM;inline; -function TreeView_GetPrevVisible(hwnd:hwnd; hitem:HTREEITEM) : HTREEITEM;inline; -function TreeView_GetSelection(hwnd:hwnd) : HTREEITEM;inline; -function TreeView_GetDropHilight(hwnd:hwnd) : HTREEITEM;inline; -function TreeView_GetDropHilite(hwnd:hwnd) : HTREEITEM;inline; -function TreeView_GetRoot(hwnd:hwnd) : HTREEITEM;inline; -function TreeView_GetLastVisible(hwnd:hwnd) : HTREEITEM;inline; - -{$ifdef win32vista} -function TreeView_GetNextSelected(hwnd:hwnd; hitem:HTREEITEM):HTREEITEM;inline; -{$endif} - -CONST - TVM_SELECTITEM = (TV_FIRST + 11); - -// Macro 178 -Function TreeView_Select( hwnd : hwnd; hitem : HTREEITEM; code : WPARAM):BOOL; - -// Macro 179 -Procedure TreeView_SelectItem(hwnd:hwnd; hitem:HTREEITEM); - -// Macro 180 -Procedure TreeView_SelectDropTarget(hwnd:hwnd; hitem:HTREEITEM); - -// Macro 181 -Procedure TreeView_SelectSetFirstVisible(hwnd:hwnd; hitem:HTREEITEM); - -CONST - TVM_GETITEMA = (TV_FIRST + 12); - TVM_GETITEMW = (TV_FIRST + 62); - -{$IFDEF UNICODE} - -TYPE - TVM_GETITEM = TVM_GETITEMW; -{$ELSE} - TVM_GETITEM = TVM_GETITEMA; -{$ENDIF} - -// Macro 182 - - -Function TreeView_GetItem( hwnd : hwnd;var pitem : TV_ITEM ):BOOL; - - - - -CONST - TVM_SETITEMA = (TV_FIRST + 13); - TVM_SETITEMW = (TV_FIRST + 63); - -{$IFDEF UNICODE} - -TYPE - TVM_SETITEM = TVM_SETITEMW; -{$ELSE} - TVM_SETITEM = TVM_SETITEMA; -{$ENDIF} - -// Macro 183 - - -Function TreeView_SetItem( hwnd : hwnd;const pitem : TV_ITEM ):BOOL; - - -CONST - TVM_EDITLABELA = (TV_FIRST + 14); - TVM_EDITLABELW = (TV_FIRST + 65); -{$IFDEF UNICODE} - -TYPE - TVM_EDITLABEL = TVM_EDITLABELW; -{$ELSE} - TVM_EDITLABEL = TVM_EDITLABELA; -{$ENDIF} - -// Macro 184 - - -Function TreeView_EditLabel( hwnd : hwnd; hitem : HTREEITEM):HWND; - - - - -CONST - TVM_GETEDITCONTROL = (TV_FIRST + 15); -// Macro 185 - - -Function TreeView_GetEditControl( hwnd : hwnd):HWND; - - - - -CONST - TVM_GETVISIBLECOUNT = (TV_FIRST + 16); -// Macro 186 - - -Function TreeView_GetVisibleCount( hwnd : hwnd):UINT; - - - - -CONST - TVM_HITTEST = (TV_FIRST + 17); - -TYPE - - tagTVHITTESTINFO = Record - pt : POINT; - flags : UINT; - hItem : HTREEITEM; - END; - TVHITTESTINFO = tagTVHITTESTINFO; - LPTVHITTESTINFO = ^tagTVHITTESTINFO; - TTVHITTESTINFO = tagTVHITTESTINFO; - PTVHITTESTINFO = ^tagTVHITTESTINFO; - - -{$ifdef ie3plus} - LPTV_HITTESTINFO = LPTVHITTESTINFO; - TV_HITTESTINFO = TVHITTESTINFO; -{$ELSE} - tagTVHITTESTINFO = _TV_HITTESTINFO; - TVHITTESTINFO = TV_HITTESTINFO; - - LPTVHITTESTINFO = LPTV_HITTESTINFO; -{$ENDIF} - - -CONST - TVHT_NOWHERE = $0001; - TVHT_ONITEMICON = $0002; - TVHT_ONITEMLABEL = $0004; - TVHT_ONITEM = (TVHT_ONITEMICON OR TVHT_ONITEMLABEL OR TVHT_ONITEMSTATEICON); - TVHT_ONITEMINDENT = $0008; - TVHT_ONITEMBUTTON = $0010; - TVHT_ONITEMRIGHT = $0020; - TVHT_ONITEMSTATEICON = $0040; - - TVHT_ABOVE = $0100; - TVHT_BELOW = $0200; - TVHT_TORIGHT = $0400; - TVHT_TOLEFT = $0800; - - - TVM_CREATEDRAGIMAGE = (TV_FIRST + 18); - -// Macro 187 -Function TreeView_HitTest( hwnd : hwnd; lpht : LPTV_HITTESTINFO):HTREEITEM;inline; -Function TreeView_HitTest( hwnd : hwnd; var lpht : TV_HITTESTINFO):HTREEITEM;inline; - - -// Macro 188 - - -Function TreeView_CreateDragImage( hwnd : hwnd; hitem : HTREEITEM):HIMAGELIST; - - - - -CONST - TVM_SORTCHILDREN = (TV_FIRST + 19); -// Macro 189 - - -Function TreeView_SortChildren( hwnd : hwnd; hitem : HTREEITEM; recurse : WPARAM):BOOL; - - - - -CONST - TVM_ENSUREVISIBLE = (TV_FIRST + 20); -// Macro 190 - - -Function TreeView_EnsureVisible( hwnd : hwnd; hitem : HTREEITEM):BOOL; - - - - - -CONST - TVM_ENDEDITLABELNOW = (TV_FIRST + 22); -// Macro 192 - - -Function TreeView_EndEditLabelNow( hwnd : hwnd; fCancel : WPARAM):BOOL;inline; -Function TreeView_EndEditLabelNow( hwnd : hwnd; fCancel : Bool):BOOL;inline; - - - - -CONST - TVM_GETISEARCHSTRINGA = (TV_FIRST + 23); - TVM_GETISEARCHSTRINGW = (TV_FIRST + 64); - -{$IFDEF UNICODE} - -TYPE - TVM_GETISEARCHSTRING= TVM_GETISEARCHSTRINGW; -{$ELSE} - TVM_GETISEARCHSTRING= TVM_GETISEARCHSTRINGA; -{$ENDIF} - -{$ifdef ie3plus} - -CONST - TVM_SETTOOLTIPS = (TV_FIRST + 24); -// Macro 193 - - -Function TreeView_SetToolTips( hwnd : hwnd; hwndTT : WPARAM):HWND; - - -CONST - TVM_GETTOOLTIPS = (TV_FIRST + 25); -// Macro 194 - - -Function TreeView_GetToolTips( hwnd : hwnd):HWND; - -{$ENDIF} - -// Macro 195 - - -Function TreeView_GetISearchString( hwndTV : hwnd; lpsz : LPTSTR):BOOL; - - -{$ifdef ie4plus} - -CONST - TVM_SETINSERTMARK = (TV_FIRST + 26); -// Macro 196 - - -Function TreeView_SetInsertMark( hwnd : hwnd; hItem : LPARAM ; fAfter : WPARAM ):BOOL; - - - -CONST - TVM_SETUNICODEFORMAT = CCM_SETUNICODEFORMAT; -// Macro 197 - - -Function TreeView_SetUnicodeFormat( hwnd : hwnd; fUnicode : WPARAM):BOOL; - - - -CONST - TVM_GETUNICODEFORMAT = CCM_GETUNICODEFORMAT; -// Macro 198 - - -Function TreeView_GetUnicodeFormat( hwnd : hwnd):BOOL; - - -{$ENDIF} - -{$ifdef ie4plus} - -CONST - TVM_SETITEMHEIGHT = (TV_FIRST + 27); -// Macro 199 - - -Function TreeView_SetItemHeight( hwnd : hwnd; iHeight : WPARAM):cint; - - -CONST - TVM_GETITEMHEIGHT = (TV_FIRST + 28); -// Macro 200 - - -Function TreeView_GetItemHeight( hwnd : hwnd):cint; - - - -CONST - TVM_SETBKCOLOR = (TV_FIRST + 29); -// Macro 201 - - -Function TreeView_SetBkColor( hwnd : hwnd; clr : LPARAM):COLORREF; - - - -CONST - TVM_SETTEXTCOLOR = (TV_FIRST + 30); -// Macro 202 - - -Function TreeView_SetTextColor( hwnd : hwnd; clr : LPARAM):COLORREF; - - - -CONST - TVM_GETBKCOLOR = (TV_FIRST + 31); - -// Macro 203 -Function TreeView_GetBkColor( hwnd : hwnd):COLORREF; - - -CONST - TVM_GETTEXTCOLOR = (TV_FIRST + 32); - -// Macro 204 -Function TreeView_GetTextColor( hwnd : hwnd):COLORREF; - - - -CONST - TVM_SETSCROLLTIME = (TV_FIRST + 33); - -// Macro 205 -Function TreeView_SetScrollTime( hwnd : hwnd; uTime :wparam ):UINT; - - - -CONST - TVM_GETSCROLLTIME = (TV_FIRST + 34); -// Macro 206 - - -Function TreeView_GetScrollTime( hwnd : hwnd):UINT; - - - - -CONST - TVM_SETINSERTMARKCOLOR = (TV_FIRST + 37); -// Macro 207 - - -Function TreeView_SetInsertMarkColor( hwnd : hwnd; clr : LPARAM):COLORREF; - - -CONST - TVM_GETINSERTMARKCOLOR = (TV_FIRST + 38); -// Macro 208 - - -Function TreeView_GetInsertMarkColor( hwnd : hwnd):COLORREF; - - -{$ENDIF} // (_WIN32_IE >= 0x0400) - -{$ifdef ie5plus} -// tvm_?etitemstate only uses mask, state and stateMask. -// so unicode or ansi is irrelevant. -// Macro 209 - -Procedure TreeView_SetItemState(hwndTV:HWND;hti:HTreeItem;data:UINT;_mask:UINT); - - -// Macro 210 - -Procedure TreeView_SetCheckState( hwndTV : hwnd; hti : HTreeItem ; fCheck : bool ); - - -CONST - TVM_GETITEMSTATE = (TV_FIRST + 39); - -// Macro 211 -Function TreeView_GetItemState( hwndTV : hwnd; hti : WPARAM; mask : LPARAM):UINT; - - -// Macro 212 -Function TreeView_GetCheckState( hwndTV : hwnd; hti : WPARAM):UINT; - - -CONST - TVM_SETLINECOLOR = (TV_FIRST + 40); -// Macro 213 -Function TreeView_SetLineColor( hwnd : hwnd; clr : LPARAM):COLORREF; - -CONST - TVM_GETLINECOLOR = (TV_FIRST + 41); - -// Macro 214 -Function TreeView_GetLineColor( hwnd : hwnd):COLORREF; - - -{$ENDIF} - -{$ifdef Win32XP} - -CONST - TVM_MAPACCIDTOHTREEITEM = (TV_FIRST + 42); - -// Macro 215 -Function TreeView_MapAccIDToHTREEITEM( hwnd : hwnd; id : UINT ):HTREEITEM; - - - -CONST - TVM_MAPHTREEITEMTOACCID = (TV_FIRST + 43); - -// Macro 216 -Function TreeView_MapHTREEITEMToAccID( hwnd : hwnd; htreeitem : WPARAM):UINT; - -{$ENDIF} - -{$ifdef win32vista} -CONST - TVM_GETSELECTEDCOUNT = (TV_FIRST + 70); - TVM_SHOWINFOTIP = (TV_FIRST + 71); - TVM_GETITEMPARTRECT = (TV_FIRST + 72); - -Type - TVITEMPART = (TVGIPR_BUTTON = $0001); - pTVITEMPART = ^TVITEMPART; - - tagTVGETITEMPARTRECTINFO = Record - hti :HTREEITEM ; - prc :PRECT; - partID :TVITEMPART; - end; - TVGETITEMPARTRECTINFO = tagTVGETITEMPARTRECTINFO; - -function TreeView_GetSelectedCount(hwnd:hwnd):DWORD; -// (DWORD)SNDMSG((hwnd), TVM_GETSELECTEDCOUNT, 0, 0) - -function TreeView_ShowInfoTip(hwnd:HWND; hitem:HTREEITEM):DWORD; -// (DWORD)SNDMSG((hwnd), TVM_SHOWINFOTIP, 0, (LPARAM)(hitem)) - -function TreeView_GetItemPartRect(hwnd:HWND; hitem:HTREEITEM; prc:prect; partid:TVITEMPART):bool; -//{ TVGETITEMPARTRECTINFO info; \ -// info.hti = (hitem); \ -// info.prc = (prc); \ -// info.partID = (partid); \ -// (BOOL)SNDMSG((hwnd), TVM_GETITEMPARTRECT, 0, (LPARAM)&info); \ - -{$endif} - - -TYPE - PFNTVCOMPARE =function (lparam1:LPARAM;lparam2:LPARAM;lParamSort:LParam): cint; STDCALL; - TTVCompare = PFNTVCOMPARE; - - - tagTVSORTCB = Record - hParent : HTREEITEM; - lpfnCompare : PFNTVCOMPARE; - lParam : LPARAM; - END; - TVSORTCB = tagTVSORTCB; - LPTVSORTCB = ^tagTVSORTCB; - TTVSORTCB = tagTVSORTCB; - PTVSORTCB = ^tagTVSORTCB; - -{$ifdef ie3plus} - LPTV_SORTCB = LPTVSORTCB; - - - TV_SORTCB = TVSORTCB; -{$ELSE} - tagTVSORTCB = _TV_SORTCB; - TVSORTCB = TV_SORTCB; - - - LPTVSORTCB = LPTV_SORTCB; -{$ENDIF} - - - tagNMTREEVIEWA = Record - hdr : NMHDR; - action : UINT; - itemOld : TVITEMA; - itemNew : TVITEMA; - ptDrag : POINT; - END; - NMTREEVIEWA = tagNMTREEVIEWA; - LPNMTREEVIEWA = ^tagNMTREEVIEWA; - TNMTREEVIEWA = tagNMTREEVIEWA; - PNMTREEVIEWA = ^tagNMTREEVIEWA; - PNMTreeView = PNMTreeViewA; - TNMTreeView = TNMTreeViewA; - - - - tagNMTREEVIEWW = Record - hdr : NMHDR; - action : UINT; - itemOld : TVITEMW; - itemNew : TVITEMW; - ptDrag : POINT; - END; - NMTREEVIEWW = tagNMTREEVIEWW; - LPNMTREEVIEWW = ^tagNMTREEVIEWW; - TNMTREEVIEWW = tagNMTREEVIEWW; - PNMTREEVIEWW = ^tagNMTREEVIEWW; - - - -{$IFDEF UNICODE} - NMTREEVIEW = NMTREEVIEWW; - LPNMTREEVIEW = LPNMTREEVIEWW; -{$ELSE} - NMTREEVIEW = NMTREEVIEWA; - LPNMTREEVIEW = LPNMTREEVIEWA; -{$ENDIF} - -{$ifdef ie3plus} - LPNM_TREEVIEWA = LPNMTREEVIEWA; - LPNM_TREEVIEWW = LPNMTREEVIEWW; - NM_TREEVIEWW = NMTREEVIEWW; - NM_TREEVIEWA = NMTREEVIEWA; -{$ELSE} - tagNMTREEVIEWA = _NM_TREEVIEWA; - tagNMTREEVIEWW = _NM_TREEVIEWW; - NMTREEVIEWA = NM_TREEVIEWA; - NMTREEVIEWW = NM_TREEVIEWW; - LPNMTREEVIEWA = LPNM_TREEVIEWA; - LPNMTREEVIEWW = LPNM_TREEVIEWW; -{$ENDIF} - - LPNM_TREEVIEW = LPNMTREEVIEW; - NM_TREEVIEW = NMTREEVIEW; - - - -CONST - TVN_SELCHANGINGA = (TVN_FIRST-1); - TVN_SELCHANGINGW = (TVN_FIRST-50); - TVN_SELCHANGEDA = (TVN_FIRST-2); - TVN_SELCHANGEDW = (TVN_FIRST-51); - - TVC_UNKNOWN = $0000; - TVC_BYMOUSE = $0001; - TVC_BYKEYBOARD = $0002; - - TVN_GETDISPINFOA = (TVN_FIRST-3); - TVN_GETDISPINFOW = (TVN_FIRST-52); - TVN_SETDISPINFOA = (TVN_FIRST-4); - TVN_SETDISPINFOW = (TVN_FIRST-53); - - TVIF_DI_SETITEM = $1000; - -Type - tagTVDISPINFOA = Record - hdr : NMHDR; - item : TVITEMA; - END; - NMTVDISPINFOA = tagTVDISPINFOA; - LPNMTVDISPINFOA = ^tagTVDISPINFOA; - TTVDISPINFOA = tagTVDISPINFOA; - PTVDISPINFOA = ^tagTVDISPINFOA; - TTVDispInfo = TTVDISPINFOA; - PTVDispInfo = PTVDISPINFOA; - - - tagTVDISPINFOW = Record - hdr : NMHDR; - item : TVITEMW; - END; - NMTVDISPINFOW = tagTVDISPINFOW; - LPNMTVDISPINFOW = ^tagTVDISPINFOW; - TTVDISPINFOW = tagTVDISPINFOW; - PTVDISPINFOW = ^tagTVDISPINFOW; - -{$IFDEF UNICODE} - NMTVDISPINFO = NMTVDISPINFOW; - LPNMTVDISPINFO = LPNMTVDISPINFOW; -{$ELSE} - NMTVDISPINFO = NMTVDISPINFOA; - LPNMTVDISPINFO = LPNMTVDISPINFOA; -{$ENDIF} - -{$ifdef IE6plus} - tagTVDISPINFOEXA = Record - hdr : NMHDR; - item :TVITEMEXA; - end; - NMTVDISPINFOEXA = tagTVDISPINFOEXA; - LPNMTVDISPINFOEXA = ^tagTVDISPINFOEXA; - - tagTVDISPINFOEXW = Record - hdr : NMHDR; - item :TVITEMEXW; - end; - NMTVDISPINFOEXW = tagTVDISPINFOEXW; - LPNMTVDISPINFOEXW = ^tagTVDISPINFOEXW; - -{$IFDEF UNICODE} - NMTVDISPINFOEX = NMTVDISPINFOEXW; - LPNMTVDISPINFOEX = LPNMTVDISPINFOEXW; -{$ELSE} - NMTVDISPINFOEX = NMTVDISPINFOEXA; - LPNMTVDISPINFOEX = LPNMTVDISPINFOEXA; -{$ENDIF} - - TV_DISPINFOEXA = NMTVDISPINFOEXA; - TV_DISPINFOEXW = NMTVDISPINFOEXW; - TV_DISPINFOEX = NMTVDISPINFOEX; - - -{$endif} - -{$ifdef ie3plus} - TV_DISPINFOA = NMTVDISPINFOA; - TV_DISPINFOW = NMTVDISPINFOW; -{$ELSE} - tagTVDISPINFOA = _TV_DISPINFOA; - NMTVDISPINFOA = TV_DISPINFOA; - tagTVDISPINFOW = _TV_DISPINFOW; - NMTVDISPINFOW = TV_DISPINFOW; -{$ENDIF} - TV_DISPINFO = NMTVDISPINFO; - - -CONST - TVM_SORTCHILDRENCB = (TV_FIRST + 21); - -// Macro 191 -Function TreeView_SortChildrenCB( hwnd : hwnd;psort :lpTV_sortcb; recurse : WPARAM):BOOL;inline; -Function TreeView_SortChildrenCB( hwnd : hwnd;const psort :tagTVsortcb; recurse : WPARAM):BOOL;inline; - -CONST - TVN_ITEMEXPANDINGA = (TVN_FIRST-5); - TVN_ITEMEXPANDINGW = (TVN_FIRST-54); - TVN_ITEMEXPANDEDA = (TVN_FIRST-6); - TVN_ITEMEXPANDEDW = (TVN_FIRST-55); - TVN_BEGINDRAGA = (TVN_FIRST-7); - TVN_BEGINDRAGW = (TVN_FIRST-56); - TVN_BEGINRDRAGA = (TVN_FIRST-8); - TVN_BEGINRDRAGW = (TVN_FIRST-57); - TVN_DELETEITEMA = (TVN_FIRST-9); - TVN_DELETEITEMW = (TVN_FIRST-58); - TVN_BEGINLABELEDITA = (TVN_FIRST-10); - TVN_BEGINLABELEDITW = (TVN_FIRST-59); - TVN_ENDLABELEDITA = (TVN_FIRST-11); - TVN_ENDLABELEDITW = (TVN_FIRST-60); - TVN_KEYDOWN = (TVN_FIRST-12); - -{$ifdef ie4plus} - TVN_GETINFOTIPA = (TVN_FIRST-13); - TVN_GETINFOTIPW = (TVN_FIRST-14); - TVN_SINGLEEXPAND = (TVN_FIRST-15); - - TVNRET_DEFAULT = 0; - TVNRET_SKIPOLD = 1; - TVNRET_SKIPNEW = 2; - -{$ifdef win32vista} - TVN_ITEMCHANGINGA = (TVN_FIRST-16); - TVN_ITEMCHANGINGW = (TVN_FIRST-17); - TVN_ITEMCHANGEDA = (TVN_FIRST-18); - TVN_ITEMCHANGEDW = (TVN_FIRST-19); - TVN_ASYNCDRAW = (TVN_FIRST-20); -{$endif} - -{$ENDIF} // 0x400 - - - -{$IFDEF _WIN32} -// #include -{$ENDIF} - -TYPE - - tagTVKEYDOWN = Record - hdr : NMHDR; - wVKey : WORD; - flags : UINT; - END; - NMTVKEYDOWN = tagTVKEYDOWN; - LPNMTVKEYDOWN = ^tagTVKEYDOWN; - TTVKEYDOWN = tagTVKEYDOWN; - PTVKEYDOWN = ^tagTVKEYDOWN; - -{$ifdef ie3plus} - TV_KEYDOWN = NMTVKEYDOWN; -{$ELSE} - tagTVKEYDOWN = _TV_KEYDOWN; - NMTVKEYDOWN = TV_KEYDOWN; -{$ENDIF} - - -{$IFDEF _WIN32} -// #include -{$ENDIF} - -Const - -{$IFDEF UNICODE} - TVN_SELCHANGING = TVN_SELCHANGINGW; - TVN_SELCHANGED = TVN_SELCHANGEDW; - TVN_GETDISPINFO = TVN_GETDISPINFOW; - TVN_SETDISPINFO = TVN_SETDISPINFOW; - TVN_ITEMEXPANDING = TVN_ITEMEXPANDINGW; - TVN_ITEMEXPANDED = TVN_ITEMEXPANDEDW; - TVN_BEGINDRAG = TVN_BEGINDRAGW; - TVN_BEGINRDRAG = TVN_BEGINRDRAGW; - TVN_DELETEITEM = TVN_DELETEITEMW; - TVN_BEGINLABELEDIT = TVN_BEGINLABELEDITW; - TVN_ENDLABELEDIT = TVN_ENDLABELEDITW; -{$ELSE} - TVN_SELCHANGING = TVN_SELCHANGINGA; - TVN_SELCHANGED = TVN_SELCHANGEDA; - TVN_GETDISPINFO = TVN_GETDISPINFOA; - TVN_SETDISPINFO = TVN_SETDISPINFOA; - TVN_ITEMEXPANDING = TVN_ITEMEXPANDINGA; - TVN_ITEMEXPANDED = TVN_ITEMEXPANDEDA; - TVN_BEGINDRAG = TVN_BEGINDRAGA; - TVN_BEGINRDRAG = TVN_BEGINRDRAGA; - TVN_DELETEITEM = TVN_DELETEITEMA; - TVN_BEGINLABELEDIT = TVN_BEGINLABELEDITA; - TVN_ENDLABELEDIT = TVN_ENDLABELEDITA; -{$ENDIF} - - -{$ifdef ie3plus} -// #define NMTVCUSTOMDRAW_V3_SIZE CCSIZEOF_STRUCT(NMTVCUSTOMDRAW, clrTextBk) -Type - tagNMTVCUSTOMDRAW = Record - nmcd : NMCUSTOMDRAW; - clrText : COLORREF; - clrTextBk : COLORREF; -{$ifdef ie4plus} - iLevel : cint; -{$ENDIF} - END; - NMTVCUSTOMDRAW = tagNMTVCUSTOMDRAW; - LPNMTVCUSTOMDRAW = ^tagNMTVCUSTOMDRAW; - TNMTVCUSTOMDRAW = tagNMTVCUSTOMDRAW; - PNMTVCUSTOMDRAW = ^tagNMTVCUSTOMDRAW; - -{$ENDIF} - - -{$ifdef ie4plus} - -// for tooltips - - tagNMTVGETINFOTIPA = Record - hdr : NMHDR; - pszText : LPSTR; - cchTextMax : cint; - hItem : HTREEITEM; - lParam : LPARAM; - END; - NMTVGETINFOTIPA = tagNMTVGETINFOTIPA; - LPNMTVGETINFOTIPA = ^tagNMTVGETINFOTIPA; - TNMTVGETINFOTIPA = tagNMTVGETINFOTIPA; - PNMTVGETINFOTIPA = ^tagNMTVGETINFOTIPA; - - - tagNMTVGETINFOTIPW = Record - hdr : NMHDR; - pszText : LPWSTR; - cchTextMax : cint; - hItem : HTREEITEM; - lParam : LPARAM; - END; - NMTVGETINFOTIPW = tagNMTVGETINFOTIPW; - LPNMTVGETINFOTIPW = ^tagNMTVGETINFOTIPW; - TNMTVGETINFOTIPW = tagNMTVGETINFOTIPW; - PNMTVGETINFOTIPW = ^tagNMTVGETINFOTIPW; - - -CONST -{$IFDEF UNICODE} - TVN_GETINFOTIP = TVN_GETINFOTIPW; -TYPE - NMTVGETINFOTIP = NMTVGETINFOTIPW; - LPNMTVGETINFOTIP = LPNMTVGETINFOTIPW; -{$ELSE} - TVN_GETINFOTIP = TVN_GETINFOTIPA; -TYPE - NMTVGETINFOTIP = NMTVGETINFOTIPA; - LPNMTVGETINFOTIP = LPNMTVGETINFOTIPA; -{$ENDIF} - -// treeview's customdraw return meaning don't draw images. valid on CDRF_NOTIFYITEMPREPAINT - -CONST - TVCDRF_NOIMAGES = $00010000; - -{$ENDIF} // _WIN32_IE >= 0x0400 - -{$ifdef ie6plus} -Type - tagTVITEMCHANGE = packed record - hdr : NMHDR; - uChanged : UINT; - hItem : HTREEITEM; - uStateNew : UINT; - uStateOld : UINT; - lParam : LPARAM; - end; - NMTVITEMCHANGE = tagTVITEMCHANGE; - PNMTVITEMCHANGE = ^NMTVITEMCHANGE; - - tagNMTVASYNCDRAW = packed record - hdr : NMHDR; - pimldp : PIMAGELISTDRAWPARAMS; { the draw that failed } - hr : HRESULT; { why it failed } - hItem : HTREEITEM; { item that failed to draw icon } - lParam : LPARAM; { its data } - dwRetFlags : DWORD; { Out Params } - iRetImageIndex : longint; { What listview should do on return } - end; { used if ADRF_DRAWIMAGE is returned } - NMTVASYNCDRAW = tagNMTVASYNCDRAW; - PNMTVASYNCDRAW = ^NMTVASYNCDRAW; - -CONST -{$IFDEF UNICODE} - TVN_ITEMCHANGING = TVN_ITEMCHANGINGW; - TVN_ITEMCHANGED = TVN_ITEMCHANGEDW; -{$ELSE} - TVN_ITEMCHANGING = TVN_ITEMCHANGINGA; - TVN_ITEMCHANGED = TVN_ITEMCHANGEDA; -{$ENDIF} -{$endif} - -{$ENDIF} // NOTREEVIEW - -{$ifdef ie3plus} - -{$IFNDEF NOUSEREXCONTROLS} - -//////////////////// ComboBoxEx //////////////////////////////// - - WC_COMBOBOXEXW = {L}'ComboBoxEx32'; - WC_COMBOBOXEXA = 'ComboBoxEx32'; - - -{$IFDEF UNICODE} - WC_COMBOBOXEX = WC_COMBOBOXEXW; -{$ELSE} - WC_COMBOBOXEX = WC_COMBOBOXEXA; -{$ENDIF} - -CONST - CBEIF_TEXT = $00000001; - CBEIF_IMAGE = $00000002; - CBEIF_SELECTEDIMAGE = $00000004; - CBEIF_OVERLAY = $00000008; - CBEIF_INDENT = $00000010; - CBEIF_LPARAM = $00000020; - CBEIF_DI_SETITEM = $10000000; - -TYPE - - tagCOMBOBOXEXITEMA = Record - mask : UINT; - iItem : INT_PTR; - pszText : LPSTR; - cchTextMax : cint; - iImage : cint; - iSelectedImage : cint; - iOverlay : cint; - iIndent : cint; - lParam : LPARAM; - END; - COMBOBOXEXITEMA = tagCOMBOBOXEXITEMA; - PCOMBOBOXEXITEMA = ^tagCOMBOBOXEXITEMA; - TCOMBOBOXEXITEMA = tagCOMBOBOXEXITEMA; -// PCOMBOBOXEXITEMA = ^tagCOMBOBOXEXITEMA; - - PCCOMBOBOXEXITEMA = ^COMBOBOXEXITEMA; - - - tagCOMBOBOXEXITEMW = Record - mask : UINT; - iItem : INT_PTR; - pszText : LPWSTR; - cchTextMax : cint; - iImage : cint; - iSelectedImage : cint; - iOverlay : cint; - iIndent : cint; - lParam : LPARAM; - END; - COMBOBOXEXITEMW = tagCOMBOBOXEXITEMW; - PCOMBOBOXEXITEMW = ^tagCOMBOBOXEXITEMW; - TCOMBOBOXEXITEMW = tagCOMBOBOXEXITEMW; -// PCOMBOBOXEXITEMW = ^tagCOMBOBOXEXITEMW; - - PCCOMBOBOXEXITEMW = ^COMBOBOXEXITEMW; - -{$IFDEF UNICODE} - COMBOBOXEXITEM = COMBOBOXEXITEMW; - PCOMBOBOXEXITEM = PCOMBOBOXEXITEMW; - PCCOMBOBOXEXITEM = PCCOMBOBOXEXITEMW; -{$ELSE} - COMBOBOXEXITEM = COMBOBOXEXITEMA; - PCOMBOBOXEXITEM = PCOMBOBOXEXITEMA; - PCCOMBOBOXEXITEM = PCCOMBOBOXEXITEMA; -{$ENDIF} - TComboBoxExItem = COMBOBOXEXITEM; - - -CONST - CBEM_INSERTITEMA = (WM_USER + 1); - CBEM_SETIMAGELIST = (WM_USER + 2); - CBEM_GETIMAGELIST = (WM_USER + 3); - CBEM_GETITEMA = (WM_USER + 4); - CBEM_SETITEMA = (WM_USER + 5); - CBEM_DELETEITEM = CB_DELETESTRING; - CBEM_GETCOMBOCONTROL = (WM_USER + 6); - CBEM_GETEDITCONTROL = (WM_USER + 7); -{$ifdef ie4plus} - CBEM_SETEXSTYLE = (WM_USER + 8); // use SETEXTENDEDSTYLE instead - CBEM_SETEXTENDEDSTYLE = (WM_USER + 14); // lparam == new style, wParam (optional) == mask - CBEM_GETEXSTYLE = (WM_USER + 9); // use GETEXTENDEDSTYLE instead - CBEM_GETEXTENDEDSTYLE = (WM_USER + 9); - CBEM_SETUNICODEFORMAT = CCM_SETUNICODEFORMAT; - CBEM_GETUNICODEFORMAT = CCM_GETUNICODEFORMAT; -{$ELSE} - CBEM_SETEXSTYLE = (WM_USER + 8); - CBEM_GETEXSTYLE = (WM_USER + 9); -{$ENDIF} - CBEM_HASEDITCHANGED = (WM_USER + 10); - CBEM_INSERTITEMW = (WM_USER + 11); - CBEM_SETITEMW = (WM_USER + 12); - CBEM_GETITEMW = (WM_USER + 13); - -{$IFDEF UNICODE} - - CBEM_INSERTITEM = CBEM_INSERTITEMW; - CBEM_SETITEM = CBEM_SETITEMW; - CBEM_GETITEM = CBEM_GETITEMW; -{$ELSE} - CBEM_INSERTITEM = CBEM_INSERTITEMA; - CBEM_SETITEM = CBEM_SETITEMA; - CBEM_GETITEM = CBEM_GETITEMA; -{$ENDIF} - -{$ifdef win32xp} - - CBEM_SETWINDOWTHEME = CCM_SETWINDOWTHEME; -{$ENDIF} - - CBES_EX_NOEDITIMAGE = $00000001; - CBES_EX_NOEDITIMAGEINDENT = $00000002; - CBES_EX_PATHWORDBREAKPROC = $00000004; -{$ifdef ie4plus} - CBES_EX_NOSIZELIMIT = $00000008; - CBES_EX_CASESENSITIVE = $00000010; -{$ifdef win32vista} - CBES_EX_TEXTENDELLIPSIS = $00000020; -{$endif} -TYPE - - DummyStruct9 = Record - hdr : NMHDR; - ceItem : COMBOBOXEXITEMA; - END; - NMCOMBOBOXEXA = DummyStruct9; - PNMCOMBOBOXEXA = ^DummyStruct9; - TDummyStruct9 = DummyStruct9; - PDummyStruct9 = ^DummyStruct9; - - - DummyStruct10 = Record - hdr : NMHDR; - ceItem : COMBOBOXEXITEMW; - END; - NMCOMBOBOXEXW = DummyStruct10; - PNMCOMBOBOXEXW = ^DummyStruct10; - TDummyStruct10 = DummyStruct10; - PDummyStruct10 = ^DummyStruct10; - - - -{$ELSE} - DummyStruct11 = Record - hdr : NMHDR; - ceItem : COMBOBOXEXITEM; - END; - NMCOMBOBOXEX = DummyStruct11; - PNMCOMBOBOXEX = ^DummyStruct11; - TDummyStruct11 = DummyStruct11; - PDummyStruct11 = ^DummyStruct11; - - - -CONST - CBEN_GETDISPINFO = (CBEN_FIRST - 0); - -{$ENDIF} // _WIN32_IE >= 0x0400 -CONST -{$ifdef ie4plus} - CBEN_GETDISPINFOA = (CBEN_FIRST - 0); -{$ENDIF} - CBEN_INSERTITEM = (CBEN_FIRST - 1); - CBEN_DELETEITEM = (CBEN_FIRST - 2); - CBEN_BEGINEDIT = (CBEN_FIRST - 4); - CBEN_ENDEDITA = (CBEN_FIRST - 5); - CBEN_ENDEDITW = (CBEN_FIRST - 6); - -{$ifdef ie4plus} - CBEN_GETDISPINFOW = (CBEN_FIRST - 7); -{$ENDIF} - -{$ifdef ie4plus} - CBEN_DRAGBEGINA = (CBEN_FIRST - 8); - CBEN_DRAGBEGINW = (CBEN_FIRST - 9); - -{$IFDEF UNICODE} - - CBEN_DRAGBEGIN = CBEN_DRAGBEGINW; -{$ELSE} - CBEN_DRAGBEGIN = CBEN_DRAGBEGINA; -{$ENDIF} - -{$ENDIF} //(_WIN32_IE >= 0x0400) -TYPE -{$IFDEF UNICODE} - NMCOMBOBOXEX = NMCOMBOBOXEXW; - PNMCOMBOBOXEX = PNMCOMBOBOXEXW; -CONST - CBEN_GETDISPINFO = CBEN_GETDISPINFOW; -{$ELSE} - NMCOMBOBOXEX = NMCOMBOBOXEXA; - PNMCOMBOBOXEX = PNMCOMBOBOXEXA; -CONST - CBEN_GETDISPINFO = CBEN_GETDISPINFOA; -{$ENDIF} - -// lParam specifies why the endedit is happening -{$IFDEF UNICODE} - CBEN_ENDEDIT = CBEN_ENDEDITW; -{$ELSE} - CBEN_ENDEDIT = CBEN_ENDEDITA; -{$ENDIF} - - -CONST - CBENF_KILLFOCUS = 1; - CBENF_RETURN = 2; - CBENF_ESCAPE = 3; - CBENF_DROPDOWN = 4; - - CBEMAXSTRLEN = 260; - -{$ifdef ie4plus} -// CBEN_DRAGBEGIN sends this information ... - -TYPE - - DummyStruct12 = Record - hdr : NMHDR; - iItemid : cint; - szText : Array[0..CBEMAXSTRLEN-1] OF WCHAR; - END; - NMCBEDRAGBEGINW = DummyStruct12; - LPNMCBEDRAGBEGINW = ^DummyStruct12; - PNMCBEDRAGBEGINW = ^DummyStruct12; - TDummyStruct12 = DummyStruct12; - PDummyStruct12 = ^DummyStruct12; - - - - DummyStruct13 = Record - hdr : NMHDR; - iItemid : cint; - szText : Array[0..CBEMAXSTRLEN-1] OF char; - END; - NMCBEDRAGBEGINA = DummyStruct13; - LPNMCBEDRAGBEGINA = ^DummyStruct13; - PNMCBEDRAGBEGINA = ^DummyStruct13; - TDummyStruct13 = DummyStruct13; - PDummyStruct13 = ^DummyStruct13; - - -{$IFDEF UNICODE} - NMCBEDRAGBEGIN = NMCBEDRAGBEGINW; - LPNMCBEDRAGBEGIN = LPNMCBEDRAGBEGINW; - PNMCBEDRAGBEGIN = PNMCBEDRAGBEGINW; -{$ELSE} - NMCBEDRAGBEGIN = NMCBEDRAGBEGINA; - LPNMCBEDRAGBEGIN = LPNMCBEDRAGBEGINA; - PNMCBEDRAGBEGIN = PNMCBEDRAGBEGINA; -{$ENDIF} -{$ENDIF} // _WIN32_IE >= 0x0400 - -// CBEN_ENDEDIT sends this information... -// fChanged if the user actually did anything -// iNewSelection gives what would be the new selection unless the notify is failed -// iNewSelection may be CB_ERR if there's no match - DummyStruct14 = Record - hdr : NMHDR; - fChanged : BOOL; - iNewSelection : cint; - szText : Array[0..CBEMAXSTRLEN-1] OF WCHAR; - iWhy : cint; - END; - NMCBEENDEDITW = DummyStruct14; - LPNMCBEENDEDITW = ^DummyStruct14; - PNMCBEENDEDITW = ^DummyStruct14; - TDummyStruct14 = DummyStruct14; - PDummyStruct14 = ^DummyStruct14; - - - DummyStruct15 = Record - hdr : NMHDR; - fChanged : BOOL; - iNewSelection : cint; - szText : Array[0..CBEMAXSTRLEN-1] OF char; - iWhy : cint; - END; - NMCBEENDEDITA = DummyStruct15; - LPNMCBEENDEDITA = ^DummyStruct15; - PNMCBEENDEDITA = ^DummyStruct15; - TDummyStruct15 = DummyStruct15; - PDummyStruct15 = ^DummyStruct15; - - -{$IFDEF UNICODE} - NMCBEENDEDIT = NMCBEENDEDITW; - LPNMCBEENDEDIT = LPNMCBEENDEDITW; - PNMCBEENDEDIT = PNMCBEENDEDITW; -{$ELSE} - NMCBEENDEDIT = NMCBEENDEDITA; - LPNMCBEENDEDIT = LPNMCBEENDEDITA; - PNMCBEENDEDIT = PNMCBEENDEDITA; -{$ENDIF} - -{$ENDIF} - -{$ENDIF} // _WIN32_IE >= 0x0300 - - - -//====== TAB CONTROL ========================================================== - -{$IFNDEF NOTABCONTROL} - -{$IFDEF _WIN32} - - -CONST - WC_TABCONTROLA = 'SysTabControl32'; - WC_TABCONTROLW = {L}'SysTabControl32'; - -{$IFDEF UNICODE} - -TYPE - WC_TABCONTROL = WC_TABCONTROLW; -{$ELSE} - WC_TABCONTROL = WC_TABCONTROLA; -{$ENDIF} - -{$ELSE} - -CONST - WC_TABCONTROL = 'SysTabControl'; -{$ENDIF} - -// begin_r_commctrl - -{$ifdef ie3plus} - TCS_SCROLLOPPOSITE = $0001; // assumes multiline tab - TCS_BOTTOM = $0002; - TCS_RIGHT = $0002; - TCS_MULTISELECT = $0004; // allow multi-select in button mode -{$ENDIF} -{$ifdef ie4plus} - TCS_FLATBUTTONS = $0008; -{$ENDIF} - TCS_FORCEICONLEFT = $0010; - TCS_FORCELABELLEFT = $0020; -{$ifdef ie3plus} - TCS_HOTTRACK = $0040; - TCS_VERTICAL = $0080; -{$ENDIF} - TCS_TABS = $0000; - TCS_BUTTONS = $0100; - TCS_SINGLELINE = $0000; - TCS_MULTILINE = $0200; - TCS_RIGHTJUSTIFY = $0000; - TCS_FIXEDWIDTH = $0400; - TCS_RAGGEDRIGHT = $0800; - TCS_FOCUSONBUTTONDOWN = $1000; - TCS_OWNERDRAWFIXED = $2000; - TCS_TOOLTIPS = $4000; - TCS_FOCUSNEVER = $8000; - -// end_r_commctrl - -{$ifdef ie4plus} -// EX styles for use with TCM_SETEXTENDEDSTYLE - TCS_EX_FLATSEPARATORS = $00000001; - TCS_EX_REGISTERDROP = $00000002; -{$ENDIF} - - - TCM_GETIMAGELIST = (TCM_FIRST + 2); -// Macro 217 - - -Function TabCtrl_GetImageList( hwnd : hwnd):HIMAGELIST; - - - - -CONST - TCM_SETIMAGELIST = (TCM_FIRST + 3); -// Macro 218 - - -Function TabCtrl_SetImageList( hwnd : hwnd; himl : HIMAGELIST):HIMAGELIST; - - - - -CONST - TCM_GETITEMCOUNT = (TCM_FIRST + 4); -// Macro 219 - - -Function TabCtrl_GetItemCount( hwnd : hwnd):cint; - - - - -CONST - TCIF_TEXT = $0001; - TCIF_IMAGE = $0002; - TCIF_RTLREADING = $0004; - TCIF_PARAM = $0008; -{$ifdef ie3plus} - TCIF_STATE = $0010; - - - TCIS_BUTTONPRESSED = $0001; -{$ENDIF} -{$ifdef ie4plus} - TCIS_HIGHLIGHTED = $0002; -{$ENDIF} -TYPE - - - - - tagTCITEMHEADERA = Record - mask : UINT; - lpReserved1 : UINT; - lpReserved2 : UINT; - pszText : LPSTR; - cchTextMax : cint; - iImage : cint; - END; - TCITEMHEADERA = tagTCITEMHEADERA; - LPTCITEMHEADERA = ^tagTCITEMHEADERA; - TTCITEMHEADERA = tagTCITEMHEADERA; - PTCITEMHEADERA = ^tagTCITEMHEADERA; - - - tagTCITEMHEADERW = Record - mask : UINT; - lpReserved1 : UINT; - lpReserved2 : UINT; - pszText : LPWSTR; - cchTextMax : cint; - iImage : cint; - END; - TCITEMHEADERW = tagTCITEMHEADERW; - LPTCITEMHEADERW = ^tagTCITEMHEADERW; - TTCITEMHEADERW = tagTCITEMHEADERW; - PTCITEMHEADERW = ^tagTCITEMHEADERW; - - -{$IFDEF UNICODE} - TCITEMHEADER = TCITEMHEADERW; - LPTCITEMHEADER = LPTCITEMHEADERW; -{$ELSE} - TCITEMHEADER = TCITEMHEADERA; - LPTCITEMHEADER = LPTCITEMHEADERA; -{$ENDIF} - - -{$ifdef ie3plus} - TC_ITEMHEADERA = TCITEMHEADERA; - TC_ITEMHEADERW = TCITEMHEADERW; -{$ELSE} - tagTCITEMHEADERA = _TC_ITEMHEADERA; - TCITEMHEADERA = TC_ITEMHEADERA; - tagTCITEMHEADERW = _TC_ITEMHEADERW; - TCITEMHEADERW = TC_ITEMHEADERW; -{$ENDIF} - - - TC_ITEMHEADER = TCITEMHEADER; - - - - - - tagTCITEMA = Record - mask : UINT; -{$ifdef ie3plus} - dwState : DWORD; - dwStateMask : DWORD; -{$ELSE} - lpReserved1 : UINT; - lpReserved2 : UINT; -{$ENDIF} - pszText : LPSTR; - cchTextMax : cint; - iImage : cint; - lParam : LPARAM; - END; - TCITEMA = tagTCITEMA; - LPTCITEMA = ^tagTCITEMA; - TTCITEMA = tagTCITEMA; - PTCITEMA = ^tagTCITEMA; - - - tagTCITEMW = Record - mask : UINT; -{$ifdef ie3plus} - dwState : DWORD; - dwStateMask : DWORD; -{$ELSE} - lpReserved1 : UINT; - lpReserved2 : UINT; -{$ENDIF} - pszText : LPWSTR; - cchTextMax : cint; - iImage : cint; - lParam : LPARAM; - END; - TCITEMW = tagTCITEMW; - LPTCITEMW = ^tagTCITEMW; - TTCITEMW = tagTCITEMW; - PTCITEMW = ^tagTCITEMW; - - -{$IFDEF UNICODE} - TCITEM = TCITEMW; - LPTCITEM = LPTCITEMW; -{$ELSE} - TCITEM = TCITEMA; - LPTCITEM = LPTCITEMA; -{$ENDIF} - - -{$ifdef ie3plus} - TC_ITEMA = TCITEMA; - TC_ITEMW = TCITEMW; -{$ELSE} - tagTCITEMA = _TC_ITEMA; - TCITEMA = TC_ITEMA; - tagTCITEMW = _TC_ITEMW; - TCITEMW = TC_ITEMW; -{$ENDIF} - - - TC_ITEM = TCITEM; - - - - -CONST - TCM_GETITEMA = (TCM_FIRST + 5); - TCM_GETITEMW = (TCM_FIRST + 60); - -{$IFDEF UNICODE} - -TYPE - TCM_GETITEM = TCM_GETITEMW; -{$ELSE} - TCM_GETITEM = TCM_GETITEMA; -{$ENDIF} - -// Macro 220 -Function TabCtrl_GetItem( hwnd : hwnd; iItem : cint;var pitem : TC_ITEM ):BOOL; - - - - -CONST - TCM_SETITEMA = (TCM_FIRST + 6); - TCM_SETITEMW = (TCM_FIRST + 61); - -{$IFDEF UNICODE} - -TYPE - TCM_SETITEM = TCM_SETITEMW; -{$ELSE} - TCM_SETITEM = TCM_SETITEMA; -{$ENDIF} - -// Macro 221 -Function TabCtrl_SetItem( hwnd : hwnd; iItem : cint;var pitem : TC_ITEM ):BOOL; - - - - -CONST - TCM_INSERTITEMA = (TCM_FIRST + 7); - TCM_INSERTITEMW = (TCM_FIRST + 62); - -{$IFDEF UNICODE} - TCM_INSERTITEM = TCM_INSERTITEMW; -{$ELSE} - TCM_INSERTITEM = TCM_INSERTITEMA; -{$ENDIF} - -// Macro 222 -Function TabCtrl_InsertItem( hwnd : hwnd; iItem : cint;CONST pitem : TC_ITEM ):cint; - - -CONST - TCM_DELETEITEM = (TCM_FIRST + 8); - -// Macro 223 -Function TabCtrl_DeleteItem( hwnd : hwnd; i : cint):BOOL; - -CONST - TCM_DELETEALLITEMS = (TCM_FIRST + 9); - -// Macro 224 -Function TabCtrl_DeleteAllItems( hwnd : hwnd):BOOL; - -CONST - TCM_GETITEMRECT = (TCM_FIRST + 10); - -// Macro 225 -Function TabCtrl_GetItemRect( hwnd : hwnd; i : cint;var prc : RECT ):BOOL; - -CONST - TCM_GETCURSEL = (TCM_FIRST + 11); -// Macro 226 - -Function TabCtrl_GetCurSel( hwnd : hwnd):cint; - - -CONST - TCM_SETCURSEL = (TCM_FIRST + 12); - -// Macro 227 -Function TabCtrl_SetCurSel( hwnd : hwnd; i : WPARAM):cint; - -CONST - TCHT_NOWHERE = $0001; - TCHT_ONITEMICON = $0002; - TCHT_ONITEMLABEL = $0004; - TCHT_ONITEM = (TCHT_ONITEMICON OR TCHT_ONITEMLABEL); - -TYPE - - tagTCHITTESTINFO = Record - pt : POINT; - flags : UINT; - END; - TCHITTESTINFO = tagTCHITTESTINFO; - LPTCHITTESTINFO = ^tagTCHITTESTINFO; - TTCHITTESTINFO = tagTCHITTESTINFO; - PTCHITTESTINFO = ^tagTCHITTESTINFO; - -{$ifdef ie3plus} - LPTC_HITTESTINFO = LPTCHITTESTINFO; - TC_HITTESTINFO = TCHITTESTINFO; -{$ELSE} - tagTCHITTESTINFO = _TC_HITTESTINFO; - TCHITTESTINFO = TC_HITTESTINFO; - LPTCHITTESTINFO = LPTC_HITTESTINFO; -{$ENDIF} - - -CONST - TCM_HITTEST = (TCM_FIRST + 13); - -// Macro 228 -Function TabCtrl_HitTest( hwndTC : hwnd;var pinfo : TC_HITTESTINFO ):cint;inline; -Function TabCtrl_HitTest( hwndTC : hwnd;pinfo : LPTCHITTESTINFO ):cint;inline; - -CONST - TCM_SETITEMEXTRA = (TCM_FIRST + 14); - -// Macro 229 -Function TabCtrl_SetItemExtra( hwndTC : hwnd; cb : WPARAM):BOOL; - - - - -CONST - TCM_ADJUSTRECT = (TCM_FIRST + 40); - -// Macro 230 -Function TabCtrl_AdjustRect( hwnd : hwnd; bLarger : BOOL;var prc : RECT ):cint; - - - - -CONST - TCM_SETITEMSIZE = (TCM_FIRST + 41); - -// Macro 231 -Function TabCtrl_SetItemSize( hwnd : hwnd; x :wparam ; y : lparam ):DWORD; - -CONST - TCM_REMOVEIMAGE = (TCM_FIRST + 42); - -// Macro 232 -Procedure TabCtrl_RemoveImage( hwnd : hwnd; i : wparam ); - - - - -CONST - TCM_SETPADDING = (TCM_FIRST + 43); - -// Macro 233 -Procedure TabCtrl_SetPadding( hwnd : hwnd; cx : wparam ; cy : lparam ); - - - - -CONST - TCM_GETROWCOUNT = (TCM_FIRST + 44); - -// Macro 234 -Function TabCtrl_GetRowCount( hwnd : hwnd):cint; - - - - -CONST - TCM_GETTOOLTIPS = (TCM_FIRST + 45); - -// Macro 235 -Function TabCtrl_GetToolTips( hwnd : hwnd):HWND; - - - - -CONST - TCM_SETTOOLTIPS = (TCM_FIRST + 46); - -// Macro 236 -Procedure TabCtrl_SetToolTips( hwnd : hwnd; hwndTT : WPARAM); - - - - -CONST - TCM_GETCURFOCUS = (TCM_FIRST + 47); -// Macro 237 - - -Function TabCtrl_GetCurFocus( hwnd : hwnd):cint; - - - -CONST - TCM_SETCURFOCUS = (TCM_FIRST + 48); - -// Macro 238 -Procedure TabCtrl_SetCurFocus( hwnd : hwnd; i : LParam ); - - -{$ifdef ie3plus} - -CONST - TCM_SETMINTABWIDTH = (TCM_FIRST + 49); - -// Macro 239 -Function TabCtrl_SetMinTabWidth( hwnd : hwnd; x : WParam ):cint; - - -CONST - TCM_DESELECTALL = (TCM_FIRST + 50); - -// Macro 240 -Procedure TabCtrl_DeselectAll( hwnd : hwnd; fExcludeFocus : WPARAM ); - -{$ENDIF} - -{$ifdef ie4plus} -CONST - TCM_HIGHLIGHTITEM = (TCM_FIRST + 51); - -// Macro 241 -Function TabCtrl_HighlightItem( hwnd : hwnd; i : WPARAM; fHighlight :bool):BOOL; - - - -CONST - TCM_SETEXTENDEDSTYLE = (TCM_FIRST + 52); // optional wParam == mask - -// Macro 242 -Function TabCtrl_SetExtendedStyle( hwnd : hwnd; dw :LPARAM ):DWORD; - - -CONST - TCM_GETEXTENDEDSTYLE = (TCM_FIRST + 53); - -// Macro 243 -Function TabCtrl_GetExtendedStyle( hwnd : hwnd):DWORD; - - - -CONST - TCM_SETUNICODEFORMAT = CCM_SETUNICODEFORMAT; - -// Macro 244 -Function TabCtrl_SetUnicodeFormat( hwnd : hwnd; fUnicode : WPARAM):BOOL; - - - -CONST - TCM_GETUNICODEFORMAT = CCM_GETUNICODEFORMAT; - -// Macro 245 -Function TabCtrl_GetUnicodeFormat( hwnd : hwnd):BOOL; - - -{$ENDIF} // _WIN32_IE >= 0x0400 - - -CONST - TCN_KEYDOWN = (TCN_FIRST - 0); - - -{$IFDEF _WIN32} -// #include -{$ENDIF} - -TYPE - - tagTCKEYDOWN = Record - hdr : NMHDR; - wVKey : WORD; - flags : UINT; - END; - NMTCKEYDOWN = tagTCKEYDOWN; - TTCKEYDOWN = tagTCKEYDOWN; - PTCKEYDOWN = ^tagTCKEYDOWN; - -{$ifdef ie3plus} - TC_KEYDOWN = NMTCKEYDOWN; -{$ELSE} - tagTCKEYDOWN = _TC_KEYDOWN; - NMTCKEYDOWN = TC_KEYDOWN; -{$ENDIF} - - -{$IFDEF _WIN32} -// #include -{$ENDIF} - - -CONST - TCN_SELCHANGE = (TCN_FIRST - 1); - TCN_SELCHANGING = (TCN_FIRST - 2); -{$ifdef ie4plus} - TCN_GETOBJECT = (TCN_FIRST - 3); -{$ENDIF} // _WIN32_IE >= 0x0400 -{$ifdef ie5plus} - TCN_FOCUSCHANGE = (TCN_FIRST - 4); -{$ENDIF} // _WIN32_IE >= 0x0500 -{$ENDIF} // NOTABCONTROL - -//====== ANIMATE CONTROL ====================================================== - -{$IFNDEF NOANIMATE} - -{$IFDEF _WIN32} - - ANIMATE_CLASSW = {L}'SysAnimate32'; - ANIMATE_CLASSA = 'SysAnimate32'; - -{$IFDEF UNICODE} - ANIMATE_CLASS = ANIMATE_CLASSW; -{$ELSE} - ANIMATE_CLASS = ANIMATE_CLASSA; -{$ENDIF} - -// begin_r_commctrl - - -CONST - ACS_CENTER = $0001; - ACS_TRANSPARENT = $0002; - ACS_AUTOPLAY = $0004; -{$ifdef ie3plus} - ACS_TIMER = $0008; // don't use threads... use timers -{$ENDIF} - -// end_r_commctrl - - ACM_OPENA = (WM_USER+100); - ACM_OPENW = (WM_USER+103); - -{$IFDEF UNICODE} - - - ACM_OPEN = ACM_OPENW; -{$ELSE} - ACM_OPEN = ACM_OPENA; -{$ENDIF} - - -CONST - ACM_PLAY = (WM_USER+101); - ACM_STOP = (WM_USER+102); - - - ACN_START = 1; - ACN_STOP = 2; - - -// Macro 246 - - -Function Animate_Create(hwndP :HWND;id:HMENU;dwStyle:dword;hInstance:HINST):HWND; - -// Macro 247 - -// #define Animate_Open(hwnd, szName) (BOOL)SNDMSG(hwnd, ACM_OPEN, 0, (LPARAM)(LPTSTR)(szName)) -// Macro 248 - -// #define Animate_OpenEx(hwnd, hInst, szName) (BOOL)SNDMSG(hwnd, ACM_OPEN, (WPARAM)(hInst), (LPARAM)(LPTSTR)(szName)) -// Macro 249 - -// #define Animate_Play(hwnd, from, to, rep) (BOOL)SNDMSG(hwnd, ACM_PLAY, (WPARAM)(rep), (LPARAM)MAKELONG(from, to)) -// Macro 250 - -// #define Animate_Stop(hwnd) (BOOL)SNDMSG(hwnd, ACM_STOP, 0, 0) -// Macro 251 - -// #define Animate_Close(hwnd) Animate_Open(hwnd, NULL) -// Macro 252 - -// #define Animate_Seek(hwnd, frame) Animate_Play(hwnd, frame, frame, 1) -{$ENDIF} - -{$ENDIF} // NOANIMATE - -{$ifdef ie3plus} -//====== MONTHCAL CONTROL ====================================================== - -{$IFNDEF NOMONTHCAL} -{$IFDEF _WIN32} - - -CONST - MONTHCAL_CLASSW = {L}'SysMonthCal32'; - MONTHCAL_CLASSA = 'SysMonthCal32'; - - -{$IFDEF UNICODE} - MONTHCAL_CLASS = MONTHCAL_CLASSW; -{$ELSE} - MONTHCAL_CLASS = MONTHCAL_CLASSA; -{$ENDIF} - -TYPE -// bit-packed array of "bold" info for a month -// if a bit is on, that day is drawn bold - - MONTHDAYSTATE = DWORD; - LPMONTHDAYSTATE = ^MONTHDAYSTATE; - TMonthDayState = MONTHDAYSTATE; - PMonthDayState = LPMONTHDAYSTATE; - - -CONST - MCM_FIRST = $1000; - -// BOOL MonthCal_GetCurSel(HWND hmc, LPSYSTEMTIME pst) -// returns FALSE if MCS_MULTISELECT -// returns TRUE and sets *pst to the currently selected date otherwise - - - - -CONST - MCM_GETCURSEL = (MCM_FIRST + 1); - -// Macro 253 -// #define MonthCal_GetCurSel(hmc, pst) (BOOL)SNDMSG(hmc, MCM_GETCURSEL, 0, (LPARAM)(pst)) - -function MonthCal_GetCurSel(hwndMC:HWND; lpSysTime :LPSYSTEMTIME):Bool; - -// BOOL MonthCal_SetCurSel(HWND hmc, LPSYSTEMTIME pst) -// returns FALSE if MCS_MULTISELECT -// returns TURE and sets the currently selected date to *pst otherwise - - - -CONST - MCM_SETCURSEL = (MCM_FIRST + 2); - -// Macro 254 -// #define MonthCal_SetCurSel(hmc, pst) (BOOL)SNDMSG(hmc, MCM_SETCURSEL, 0, (LPARAM)(pst)) -// DWORD MonthCal_GetMaxSelCount(HWND hmc) -// returns the maximum number of selectable days allowed - -function MonthCal_SetCurSel(hwndMC:HWND; lpSysTime :LPSYSTEMTIME):Bool;inline; -function MonthCal_SetCurSel(hwndMC:HWND; var lpSysTime :TSYSTEMTIME):Bool;inline; - - -CONST - MCM_GETMAXSELCOUNT = (MCM_FIRST + 3); - -// Macro 255 -// #define MonthCal_GetMaxSelCount(hmc) (DWORD)SNDMSG(hmc, MCM_GETMAXSELCOUNT, 0, 0L) -// BOOL MonthCal_SetMaxSelCount(HWND hmc, UINT n) -// sets the max number days that can be selected iff MCS_MULTISELECT - -function MonthCal_GetMaxSelCount(hwndMC:HWND):Bool; - -CONST - MCM_SETMAXSELCOUNT = (MCM_FIRST + 4); - -// Macro 256 -// #define MonthCal_SetMaxSelCount(hmc, n) (BOOL)SNDMSG(hmc, MCM_SETMAXSELCOUNT, (WPARAM)(n), 0L) - -function MonthCal_SetMaxSelCount(hwndMC:HWND;n:uint):Bool; - -// BOOL MonthCal_GetSelRange(HWND hmc, LPSYSTEMTIME rgst) -// sets rgst[0] to the first day of the selection range -// sets rgst[1] to the last day of the selection range - -CONST - MCM_GETSELRANGE = (MCM_FIRST + 5); - -// Macro 257 -// #define MonthCal_GetSelRange(hmc, rgst) SNDMSG(hmc, MCM_GETSELRANGE, 0, (LPARAM)(rgst)) -// BOOL MonthCal_SetSelRange(HWND hmc, LPSYSTEMTIME rgst) -// selects the range of days from rgst[0] to rgst[1] - -function MonthCal_GetSelRange(hwndMC:HWND; lpSysTime :LPSYSTEMTIME):Bool; - - -CONST - MCM_SETSELRANGE = (MCM_FIRST + 6); - -// Macro 258 -// #define MonthCal_SetSelRange(hmc, rgst) SNDMSG(hmc, MCM_SETSELRANGE, 0, (LPARAM)(rgst)) -// DWORD MonthCal_GetMonthRange(HWND hmc, DWORD gmr, LPSYSTEMTIME rgst) -// if rgst specified, sets rgst[0] to the starting date and -// and rgst[1] to the ending date of the the selectable (non-grayed) -// days if GMR_VISIBLE or all the displayed days (including grayed) -// if GMR_DAYSTATE. -// returns the number of months spanned by the above range. - -function MonthCal_SetSelRange(hwndMC:HWND; lpSysTime :LPSYSTEMTIME):Bool; - - -CONST - MCM_GETMONTHRANGE = (MCM_FIRST + 7); - -// Macro 259 -// #define MonthCal_GetMonthRange(hmc, gmr, rgst) (DWORD)SNDMSG(hmc, MCM_GETMONTHRANGE, (WPARAM)(gmr), (LPARAM)(rgst)) -// BOOL MonthCal_SetDayState(HWND hmc, int cbds, DAYSTATE *rgds) -// cbds is the count of DAYSTATE items in rgds and it must be equal -// to the value returned from MonthCal_GetMonthRange(hmc, GMR_DAYSTATE, NULL) -// This sets the DAYSTATE bits for each month (grayed and non-grayed -// days) displayed in the calendar. The first bit in a month's DAYSTATE -// corresponts to bolding day 1, the second bit affects day 2, etc. - -function MonthCal_GetMonthRange(hwndMC:HWND; gmr: DWORD;lpSysTime :LPSYSTEMTIME):Bool; - - -CONST - MCM_SETDAYSTATE = (MCM_FIRST + 8); - -// Macro 260 -// #define MonthCal_SetDayState(hmc, cbds, rgds) SNDMSG(hmc, MCM_SETDAYSTATE, (WPARAM)(cbds), (LPARAM)(rgds)) -// BOOL MonthCal_GetMinReqRect(HWND hmc, LPRECT prc) -// sets *prc the minimal size needed to display one month -// To display two months, undo the AdjustWindowRect calculation already done to -// this rect, double the width, and redo the AdjustWindowRect calculation -- -// the monthcal control will display two calendars in this window (if you also -// double the vertical size, you will get 4 calendars) -// NOTE: if you want to gurantee that the "Today" string is not clipped, -// get the MCM_GETMAXTODAYWIDTH and use the max of that width and this width - -function MonthCal_SetDayState(hwndMC:HWND; gmr: Longint;lpDay :LPMONTHDAYSTATE):Bool; - - -CONST - MCM_GETMINREQRECT = (MCM_FIRST + 9); - -// Macro 261 -// #define MonthCal_GetMinReqRect(hmc, prc) SNDMSG(hmc, MCM_GETMINREQRECT, 0, (LPARAM)(prc)) -// set colors to draw control with -- see MCSC_ bits below - -function MonthCal_GetMinReqRect(hwndMC:HWND; lpr :LPRect):Bool;inline; -function MonthCal_GetMinReqRect(hwndMC:HWND; var lpr :TRect):Bool;inline; - - -CONST - MCM_SETCOLOR = (MCM_FIRST + 10); - -// Macro 262 -// #define MonthCal_SetColor(hmc, iColor, clr) SNDMSG(hmc, MCM_SETCOLOR, iColor, clr) - -function MonthCal_SetColor(hwndMC:HWND; ic:longint;clr:COLORREF):DWORD;inline; - - -CONST - MCM_GETCOLOR = (MCM_FIRST + 11); - -// Macro 263 -// #define MonthCal_GetColor(hmc, iColor) SNDMSG(hmc, MCM_GETCOLOR, iColor, 0) - -function MonthCal_GetColor(hwndMC:HWND; ic:longint):Bool; - - -CONST - MCSC_BACKGROUND = 0; // the background color (between months) - MCSC_TEXT = 1; // the dates - MCSC_TITLEBK = 2; // background of the title - MCSC_TITLETEXT = 3; - MCSC_MONTHBK = 4; // background within the month cal - MCSC_TRAILINGTEXT = 5; // the text color of header & trailing days - -// set what day is "today" send NULL to revert back to real date - MCM_SETTODAY = (MCM_FIRST + 12); - -// Macro 264 -// #define MonthCal_SetToday(hmc, pst) SNDMSG(hmc, MCM_SETTODAY, 0, (LPARAM)(pst)) -// get what day is "today" -// returns BOOL for success/failure - -function MonthCal_SetToday(hwndMC:HWND; lps:LPSYSTEMTIME):Bool; - - -CONST - MCM_GETTODAY = (MCM_FIRST + 13); - -// Macro 265 -// #define MonthCal_GetToday(hmc, pst) (BOOL)SNDMSG(hmc, MCM_GETTODAY, 0, (LPARAM)(pst)) -// determine what pinfo->pt is over - -function MonthCal_GetToday(hwndMC:HWND; lps:LPSYSTEMTIME):Bool; - - -CONST - MCM_HITTEST = (MCM_FIRST + 14); - -TYPE - - DummyStruct16 = Record - cbSize : UINT; - pt : POINT; - uHit : UINT; // out param - st : SYSTEMTIME; -{$ifdef NTDDI_VISTA} - rc : RECT; - iOffset : cint; - iRow : cint; - iCol : cint; -{$endif} - END; - MCHITTESTINFO = DummyStruct16; - PMCHITTESTINFO = ^DummyStruct16; - TDummyStruct16 = DummyStruct16; - PDummyStruct16 = ^DummyStruct16; - - -// Macro 266 -FUNCTION MonthCal_HitTest( hmc :HWND ; pinfo : PMCHITTESTINFO):DWORD; - - -CONST - MCHT_TITLE = $00010000; - MCHT_CALENDAR = $00020000; - MCHT_TODAYLINK = $00030000; - - MCHT_NEXT = $01000000; // these indicate that hitting - MCHT_PREV = $02000000; // here will go to the next/prev month - - MCHT_NOWHERE = $00000000; - - MCHT_TITLEBK = (MCHT_TITLE); - MCHT_TITLEMONTH = (MCHT_TITLE OR $0001); - MCHT_TITLEYEAR = (MCHT_TITLE OR $0002); - MCHT_TITLEBTNNEXT = (MCHT_TITLE OR MCHT_NEXT OR $0003); - MCHT_TITLEBTNPREV = (MCHT_TITLE OR MCHT_PREV OR $0003); - - MCHT_CALENDARBK = (MCHT_CALENDAR); - MCHT_CALENDARDATE = (MCHT_CALENDAR OR $0001); - MCHT_CALENDARDATENEXT = (MCHT_CALENDARDATE OR MCHT_NEXT); - MCHT_CALENDARDATEPREV = (MCHT_CALENDARDATE OR MCHT_PREV); - MCHT_CALENDARDAY = (MCHT_CALENDAR OR $0002); - MCHT_CALENDARWEEKNUM = (MCHT_CALENDAR OR $0003); - -// set first day of week to iDay: -// 0 for Monday, 1 for Tuesday, ..., 6 for Sunday -// -1 for means use locale info - MCM_SETFIRSTDAYOFWEEK = (MCM_FIRST + 15); -// Macro 267 - - -function MonthCal_SetFirstDayOfWeek( hmc : HWND ; iDay :LONGINT ):DWORD; - - -// DWORD result... low word has the day. high word is bool if this is app set -// or not (FALSE == using locale info) - -CONST - MCM_GETFIRSTDAYOFWEEK = (MCM_FIRST + 16); -// Macro 268 - - -Function MonthCal_GetFirstDayOfWeek( hmc : HWND ):DWORD; - - -// DWORD MonthCal_GetRange(HWND hmc, LPSYSTEMTIME rgst) -// modifies rgst[0] to be the minimum ALLOWABLE systemtime (or 0 if no minimum) -// modifies rgst[1] to be the maximum ALLOWABLE systemtime (or 0 if no maximum) -// returns GDTR_MIN|GDTR_MAX if there is a minimum|maximum limit - -CONST - MCM_GETRANGE = (MCM_FIRST + 17); -// Macro 269 - - -Function MonthCal_GetRange( hmc : HWND ; rgst : LPSYSTEMTIME):DWORD; - - -// BOOL MonthCal_SetRange(HWND hmc, DWORD gdtr, LPSYSTEMTIME rgst) -// if GDTR_MIN, sets the minimum ALLOWABLE systemtime to rgst[0], otherwise removes minimum -// if GDTR_MAX, sets the maximum ALLOWABLE systemtime to rgst[1], otherwise removes maximum -// returns TRUE on success, FALSE on error (such as invalid parameters) - -CONST - MCM_SETRANGE = (MCM_FIRST + 18); -// Macro 270 - - -Function MonthCal_SetRange( hmc : HWND ; gd : DWORD; rgst : LPSYSTEMTIME):BOOL; - - -// int MonthCal_GetMonthDelta(HWND hmc) -// returns the number of months one click on a next/prev button moves by - -CONST - MCM_GETMONTHDELTA = (MCM_FIRST + 19); -// Macro 271 - - -Function MonthCal_GetMonthDelta( hmc :hwnd ):cint; - - -// int MonthCal_SetMonthDelta(HWND hmc, int n) -// sets the month delta to n. n==0 reverts to moving by a page of months -// returns the previous value of n. - -CONST - MCM_SETMONTHDELTA = (MCM_FIRST + 20); -// Macro 272 - - -Function MonthCal_SetMonthDelta( hmc :hwnd ; n :cint ):cint; - - -// DWORD MonthCal_GetMaxTodayWidth(HWND hmc, LPSIZE psz) -// sets *psz to the maximum width/height of the "Today" string displayed -// at the bottom of the calendar (as long as MCS_NOTODAY is not specified) - -CONST - MCM_GETMAXTODAYWIDTH = (MCM_FIRST + 21); -// Macro 273 - - -Function MonthCal_GetMaxTodayWidth( hmc :hwnd ):DWORD; - - -{$ifdef ie4plus} - -CONST - MCM_SETUNICODEFORMAT = CCM_SETUNICODEFORMAT; -// Macro 274 - - -Function MonthCal_SetUnicodeFormat( hwnd : hwnd; fUnicode : bool):BOOL; - - -CONST - MCM_GETUNICODEFORMAT = CCM_GETUNICODEFORMAT; -// Macro 275 - - -Function MonthCal_GetUnicodeFormat( hwnd : hwnd):BOOL; - -{$ifdef NTDDI_VISTA} -Const -// View - MCMV_MONTH = 0; - MCMV_YEAR = 1; - MCMV_DECADE = 2; - MCMV_CENTURY = 3; - MCMV_MAX = MCMV_CENTURY; - - MCM_GETCURRENTVIEW = (MCM_FIRST + 22); - MCM_GETCALENDARCOUNT = (MCM_FIRST + 23); - MCM_GETCALENDARGRIDINFO = (MCM_FIRST + 24); - MCM_GETCALID = (MCM_FIRST + 27); - MCM_SETCALID = (MCM_FIRST + 28); -// Returns the min rect that will fit the max number of calendars for the passed in rect. - MCM_SIZERECTTOMIN = (MCM_FIRST + 29); - MCM_SETCALENDARBORDER = (MCM_FIRST + 30); - MCM_GETCALENDARBORDER = (MCM_FIRST + 31); - MCM_SETCURRENTVIEW = (MCM_FIRST + 32); - -// Part - MCGIP_CALENDARCONTROL = 0; - MCGIP_NEXT = 1; - MCGIP_PREV = 2; - MCGIP_FOOTER = 3; - MCGIP_CALENDAR = 4; - MCGIP_CALENDARHEADER = 5; - MCGIP_CALENDARBODY = 6; - MCGIP_CALENDARROW = 7; - MCGIP_CALENDARCELL = 8; - - MCGIF_DATE = $00000001; - MCGIF_RECT = $00000002; - MCGIF_NAME = $00000004; - -// Note: iRow of -1 refers to the row header and iCol of -1 refers to the col header. - -Type - tagMCGRIDINFO = record - cbSize : UINT; - dwPart : DWORD; - dwFlags : DWORD; - iCalendar : longint; - iRow : longint; - iCol : longint; - bSelected : BOOL; - stStart : SYSTEMTIME; - stEnd : SYSTEMTIME; - rc : RECT; - pszName : LPWSTR; - cchName : size_t; - end; - MCGRIDINFO = tagMCGRIDINFO; - TPMCGRIDINFO = MCGRIDINFO; - PMCGRIDINFO = ^MCGRIDINFO; - LPMCGRIDINFO = PMCGRIDINFO; - -function MonthCal_GetCurrentView(hmc:HWND):DWORD; -// (DWORD)SNDMSG(hmc, MCM_GETCURRENTVIEW, 0, 0) - -function MonthCal_GetCalendarCount(hmc:HWND):DWORD; -// (DWORD)SNDMSG(hmc, MCM_GETCALENDARCOUNT, 0, 0) - -function MonthCal_GetCalendarGridInfo(hmc:HWND; pmc:pMCGRIDINFO):BOOL; -// (BOOL)SNDMSG(hmc, MCM_GETCALENDARGRIDINFO, 0, (LPARAM)(PMCGRIDINFO)(pmcGridInfo)) - -function MonthCal_GetCALID(hmc:HWND):CALID; -// (CALID)SNDMSG(hmc, MCM_GETCALID, 0, 0) - -function MonthCal_SetCALID(hmc:HWND; calid:cuint):LRESULT; -// SNDMSG(hmc, MCM_SETCALID, (WPARAM)(calid), 0) - -function MonthCal_SizeRectToMin(hmc:HWND; prc:prect):LRESULT; -// SNDMSG(hmc, MCM_SIZERECTTOMIN, 0, (LPARAM)(prc)) - -function MonthCal_SetCalendarBorder(hmc:HWND; fset:bool; xyborder:cint):LRESULT; -// SNDMSG(hmc, MCM_SETCALENDARBORDER, (WPARAM)(fset), (LPARAM)(xyborder)) - -function MonthCal_GetCalendarBorder(hmc:HWND):cint; -// (int)SNDMSG(hmc, MCM_GETCALENDARBORDER, 0, 0) - -function MonthCal_SetCurrentView(hmc:HWND; dwNewView:DWord):BOOL; -// (BOOL)SNDMSG(hmc, MCM_SETCURRENTVIEW, 0, (LPARAM)(dwNewView)) - - -{$endif} - -{$ENDIF} - -// MCN_SELCHANGE is sent whenever the currently displayed date changes -// via month change, year change, keyboard navigation, prev/next button -// -TYPE - - tagNMSELCHANGE = Record - nmhdr : NMHDR; // this must be first, so we don't break WM_NOTIFY - stSelStart : SYSTEMTIME; - stSelEnd : SYSTEMTIME; - END; - NMSELCHANGE = tagNMSELCHANGE; - LPNMSELCHANGE = ^tagNMSELCHANGE; - TNMSELCHANGE = tagNMSELCHANGE; - PNMSELCHANGE = ^tagNMSELCHANGE; - - - -CONST - MCN_SELCHANGE = (MCN_FIRST + 1); - -// MCN_GETDAYSTATE is sent for MCS_DAYSTATE controls whenever new daystate -// information is needed (month or year scroll) to draw bolding information. -// The app must fill in cDayState months worth of information starting from -// stStart date. The app may fill in the array at prgDayState or change -// prgDayState to point to a different array out of which the information -// will be copied. (similar to tooltips) -// -TYPE - - tagNMDAYSTATE = Record - nmhdr : NMHDR; // this must be first, so we don't break WM_NOTIFY - stStart : SYSTEMTIME; - cDayState : cint; - prgDayState : LPMONTHDAYSTATE; // points to cDayState MONTHDAYSTATEs - END; - NMDAYSTATE = tagNMDAYSTATE; - LPNMDAYSTATE = ^tagNMDAYSTATE; - TNMDAYSTATE = tagNMDAYSTATE; - PNMDAYSTATE = ^tagNMDAYSTATE; - - - -CONST - MCN_GETDAYSTATE = (MCN_FIRST + 3); - -// MCN_SELECT is sent whenever a selection has occured (via mouse or keyboard) -// -TYPE - - NMSELECT = NMSELCHANGE; - LPNMSELECT = ^NMSELCHANGE; - - -CONST - MCN_SELECT = (MCN_FIRST + 4); - - -// begin_r_commctrl - - MCS_DAYSTATE = $0001; - MCS_MULTISELECT = $0002; - MCS_WEEKNUMBERS = $0004; -{$ifdef ie4plus} - MCS_NOTODAYCIRCLE = $0008; - MCS_NOTODAY = $0010; -{$ELSE} - MCS_NOTODAY = $0008; -{$ENDIF} -{$ifdef NTDDI_Vista} - MCS_NOTRAILINGDATES = $0040; - MCS_SHORTDAYSOFWEEK = $0080; - MCS_NOSELCHANGEONNAV = $0100; -{$endif} - - GMR_VISIBLE = 0; // visible portion of display - GMR_DAYSTATE = 1; // above plus the grayed out parts of - // partially displayed months - - -{$ENDIF} // _WIN32 -{$ENDIF} // NOMONTHCAL - - -//====== DATETIMEPICK CONTROL ================================================== - -{$IFNDEF NODATETIMEPICK} -{$IFDEF _WIN32} - - DATETIMEPICK_CLASSW = {L}'SysDateTimePick32'; - DATETIMEPICK_CLASSA = 'SysDateTimePick32'; - -{$IFDEF UNICODE} - DATETIMEPICK_CLASS = DATETIMEPICK_CLASSW; -{$ELSE} - DATETIMEPICK_CLASS = DATETIMEPICK_CLASSA; -{$ENDIF} - -{$ifdef NTDDI_VISTA} -Type - tagDATETIMEPICKERINFO = packed record - cbSize : DWORD; - rcCheck : RECT; - stateCheck : DWORD; - rcButton : RECT; - stateButton : DWORD; - hwndEdit : HWND; - hwndUD : HWND; - hwndDropDown : HWND; - end; - DATETIMEPICKERINFO = tagDATETIMEPICKERINFO; - PDATETIMEPICKERINFO = ^DATETIMEPICKERINFO; - LPDATETIMEPICKERINFO = PDATETIMEPICKERINFO; - TDATETIMEPICKERINFO = DATETIMEPICKERINFO; -{$endif} - -CONST - DTM_FIRST = $1000; - -// DWORD DateTimePick_GetSystemtime(HWND hdp, LPSYSTEMTIME pst) -// returns GDT_NONE if "none" is selected (DTS_SHOWNONE only) -// returns GDT_VALID and modifies *pst to be the currently selected value - DTM_GETSYSTEMTIME = (DTM_FIRST + 1); -// Macro 276 - -// #define DateTime_GetSystemtime(hdp, pst) (DWORD)SNDMSG(hdp, DTM_GETSYSTEMTIME, 0, (LPARAM)(pst)) - -// BOOL DateTime_SetSystemtime(HWND hdp, DWORD gd, LPSYSTEMTIME pst) -// if gd==GDT_NONE, sets datetimepick to None (DTS_SHOWNONE only) -// if gd==GDT_VALID, sets datetimepick to *pst -// returns TRUE on success, FALSE on error (such as bad params) - -CONST - DTM_SETSYSTEMTIME = (DTM_FIRST + 2); -// Macro 277 - -// #define DateTime_SetSystemtime(hdp, gd, pst) (BOOL)SNDMSG(hdp, DTM_SETSYSTEMTIME, (WPARAM)(gd), (LPARAM)(pst)) -function DateTime_SetSystemTime(hdp: HWND; gd: DWORD; const pst: TSystemTime): BOOL;inline; - -// DWORD DateTime_GetRange(HWND hdp, LPSYSTEMTIME rgst) -// modifies rgst[0] to be the minimum ALLOWABLE systemtime (or 0 if no minimum) -// modifies rgst[1] to be the maximum ALLOWABLE systemtime (or 0 if no maximum) -// returns GDTR_MIN|GDTR_MAX if there is a minimum|maximum limit - -CONST - DTM_GETRANGE = (DTM_FIRST + 3); -// Macro 278 - -// #define DateTime_GetRange(hdp, rgst) (DWORD)SNDMSG(hdp, DTM_GETRANGE, 0, (LPARAM)(rgst)) - -// BOOL DateTime_SetRange(HWND hdp, DWORD gdtr, LPSYSTEMTIME rgst) -// if GDTR_MIN, sets the minimum ALLOWABLE systemtime to rgst[0], otherwise removes minimum -// if GDTR_MAX, sets the maximum ALLOWABLE systemtime to rgst[1], otherwise removes maximum -// returns TRUE on success, FALSE on error (such as invalid parameters) - -CONST - DTM_SETRANGE = (DTM_FIRST + 4); -// Macro 279 - -// #define DateTime_SetRange(hdp, gd, rgst) (BOOL)SNDMSG(hdp, DTM_SETRANGE, (WPARAM)(gd), (LPARAM)(rgst)) -function DateTime_SetRange(hdp: HWND; gdtr: DWORD; rgst: PSystemTime): BOOL;inline; - -// BOOL DateTime_SetFormat(HWND hdp, LPCTSTR sz) -// sets the display formatting string to sz (see GetDateFormat and GetTimeFormat for valid formatting chars) -// NOTE: 'X' is a valid formatting character which indicates that the application -// will determine how to display information. Such apps must support DTN_WMKEYDOWN, -// DTN_FORMAT, and DTN_FORMATQUERY. - -CONST - DTM_SETFORMATA = (DTM_FIRST + 5); - DTM_SETFORMATW = (DTM_FIRST + 50); - -{$IFDEF UNICODE} - -TYPE - DTM_SETFORMAT = DTM_SETFORMATW; -{$ELSE} - DTM_SETFORMAT = DTM_SETFORMATA; -{$ENDIF} - -// Macro 280 - -// #define DateTime_SetFormat(hdp, sz) (BOOL)SNDMSG(hdp, DTM_SETFORMAT, 0, (LPARAM)(sz)) - - - -CONST - DTM_SETMCCOLOR = (DTM_FIRST + 6); -// Macro 281 - -// #define DateTime_SetMonthCalColor(hdp, iColor, clr) SNDMSG(hdp, DTM_SETMCCOLOR, iColor, clr) -function DateTime_SetMonthCalColor(hdp: HWND; iColor: DWORD; clr: TColorRef): TColorRef;inline; - -CONST - DTM_GETMCCOLOR = (DTM_FIRST + 7); -// Macro 282 - -// #define DateTime_GetMonthCalColor(hdp, iColor) SNDMSG(hdp, DTM_GETMCCOLOR, iColor, 0) - -// HWND DateTime_GetMonthCal(HWND hdp) -// returns the HWND of the MonthCal popup window. Only valid -// between DTN_DROPDOWN and DTN_CLOSEUP notifications. - -CONST - DTM_GETMONTHCAL = (DTM_FIRST + 8); -// Macro 283 - -// #define DateTime_GetMonthCal(hdp) (HWND)SNDMSG(hdp, DTM_GETMONTHCAL, 0, 0) -function DateTime_GetMonthCal(hdp: HWND): HWND;inline; - -{$ifdef ie4plus} - - -CONST - DTM_SETMCFONT = (DTM_FIRST + 9); - -// Macro 284 -procedure DateTime_SetMonthCalFont(hdp:HWND; hfont:HFONT; fRedraw:LPARAM); -// SNDMSG(hdp, DTM_SETMCFONT, (WPARAM)(hfont), (LPARAM)(fRedraw)) - - -CONST - DTM_GETMCFONT = (DTM_FIRST + 10); - -// Macro 285 -function DateTime_GetMonthCalFont(hdp:HWND):HFONT; -// SNDMSG(hdp, DTM_GETMCFONT, 0, 0) - -{$ifdef NTDDI_VISTA} -Const - DTM_SETMCSTYLE = (DTM_FIRST + 11); - DTM_GETMCSTYLE = (DTM_FIRST + 12); - DTM_CLOSEMONTHCAL = (DTM_FIRST + 13); - DTM_GETDATETIMEPICKERINFO = (DTM_FIRST + 14); - DTM_GETIDEALSIZE = (DTM_FIRST + 15); - -function DateTime_SetMonthCalStyle(hdp:HWND; dwStyle:DWord):LResult; -// SNDMSG(hdp, DTM_SETMCSTYLE, 0, (LPARAM)dwStyle) - -function DateTime_GetMonthCalStyle(hdp:HWND):LRESULT; -// SNDMSG(hdp, DTM_GETMCSTYLE, 0, 0) - -function DateTime_CloseMonthCal(hdp:HWND):LRESULT; -// SNDMSG(hdp, DTM_CLOSEMONTHCAL, 0, 0) - -// DateTime_GetDateTimePickerInfo(HWND hdp, DATETIMEPICKERINFO* pdtpi) -// Retrieves information about the selected date time picker. - -function DateTime_GetDateTimePickerInfo(hdp:HWND; pdtpi:PDATETIMEPICKERINFO):LRESULT; -// SNDMSG(hdp, DTM_GETDATETIMEPICKERINFO, 0, (LPARAM)(pdtpi)) - -function DateTime_GetIdealSize(hdp:HWND; ps:PSIZE): LResult; -// (BOOL)SNDMSG((hdp), DTM_GETIDEALSIZE, 0, (LPARAM)(psize)) - -{$endif} - - -{$ENDIF} // _WIN32_IE >= 0x0400 - -// begin_r_commctrl - - -CONST - DTS_UPDOWN = $0001; // use UPDOWN instead of MONTHCAL - DTS_SHOWNONE = $0002; // allow a NONE selection - DTS_SHORTDATEFORMAT = $0000; // use the short date format (app must forward WM_WININICHANGE messages) - DTS_LONGDATEFORMAT = $0004; // use the long date format (app must forward WM_WININICHANGE messages) -{$ifdef ie5plus} - DTS_SHORTDATECENTURYFORMAT = $000C; // short date format with century (app must forward WM_WININICHANGE messages) -{$ENDIF} // (_WIN32_IE >= 0x500) - DTS_TIMEFORMAT = $0009; // use the time format (app must forward WM_WININICHANGE messages) - DTS_APPCANPARSE = $0010; // allow user entered strings (app MUST respond to DTN_USERSTRING) - DTS_RIGHTALIGN = $0020; // right-align popup instead of left-align it - -// end_r_commctrl - - DTN_DATETIMECHANGE = (DTN_FIRST + 1); // the systemtime has changed -TYPE - - tagNMDATETIMECHANGE = Record - nmhdr : NMHDR; - dwFlags : DWORD; // GDT_VALID or GDT_NONE - st : SYSTEMTIME; // valid iff dwFlags==GDT_VALID - END; - NMDATETIMECHANGE = tagNMDATETIMECHANGE; - LPNMDATETIMECHANGE = ^tagNMDATETIMECHANGE; - TNMDATETIMECHANGE = tagNMDATETIMECHANGE; - PNMDATETIMECHANGE = ^tagNMDATETIMECHANGE; - - - -CONST - DTN_USERSTRINGA = (DTN_FIRST + 2); // the user has entered a string - DTN_USERSTRINGW = (DTN_FIRST + 15); -TYPE - - tagNMDATETIMESTRINGA = Record - nmhdr : NMHDR; - pszUserString : LPCSTR; // string user entered - st : SYSTEMTIME; // app fills this in - dwFlags : DWORD; // GDT_VALID or GDT_NONE - END; - NMDATETIMESTRINGA = tagNMDATETIMESTRINGA; - LPNMDATETIMESTRINGA = ^tagNMDATETIMESTRINGA; - TNMDATETIMESTRINGA = tagNMDATETIMESTRINGA; - PNMDATETIMESTRINGA = ^tagNMDATETIMESTRINGA; - - - tagNMDATETIMESTRINGW = Record - nmhdr : NMHDR; - pszUserString : LPCWSTR; // string user entered - st : SYSTEMTIME; // app fills this in - dwFlags : DWORD; // GDT_VALID or GDT_NONE - END; - NMDATETIMESTRINGW = tagNMDATETIMESTRINGW; - LPNMDATETIMESTRINGW = ^tagNMDATETIMESTRINGW; - TNMDATETIMESTRINGW = tagNMDATETIMESTRINGW; - PNMDATETIMESTRINGW = ^tagNMDATETIMESTRINGW; - - -{$IFDEF UNICODE} -CONST - DTN_USERSTRING = DTN_USERSTRINGW; -TYPE - NMDATETIMESTRING = NMDATETIMESTRINGW; - LPNMDATETIMESTRING = LPNMDATETIMESTRINGW; -{$ELSE} -CONST - DTN_USERSTRING = DTN_USERSTRINGA; -TYPE - NMDATETIMESTRING = NMDATETIMESTRINGA; - LPNMDATETIMESTRING = LPNMDATETIMESTRINGA; -{$ENDIF} - TNMDateTimeString = NMDATETIMESTRING; - PNMDateTimeString = LPNMDATETIMESTRING; - - - -CONST - DTN_WMKEYDOWNA = (DTN_FIRST + 3); // modify keydown on app format field (X) - DTN_WMKEYDOWNW = (DTN_FIRST + 16); -TYPE - - tagNMDATETIMEWMKEYDOWNA = Record - nmhdr : NMHDR; - nVirtKey : cint; // virtual key code of WM_KEYDOWN which MODIFIES an X field - pszFormat : LPCSTR; // format substring - st : SYSTEMTIME; // current systemtime, app should modify based on key - END; - NMDATETIMEWMKEYDOWNA = tagNMDATETIMEWMKEYDOWNA; - LPNMDATETIMEWMKEYDOWNA = ^tagNMDATETIMEWMKEYDOWNA; - TNMDATETIMEWMKEYDOWNA = tagNMDATETIMEWMKEYDOWNA; - PNMDATETIMEWMKEYDOWNA = ^tagNMDATETIMEWMKEYDOWNA; - - - tagNMDATETIMEWMKEYDOWNW = Record - nmhdr : NMHDR; - nVirtKey : cint; // virtual key code of WM_KEYDOWN which MODIFIES an X field - pszFormat : LPCWSTR; // format substring - st : SYSTEMTIME; // current systemtime, app should modify based on key - END; - NMDATETIMEWMKEYDOWNW = tagNMDATETIMEWMKEYDOWNW; - LPNMDATETIMEWMKEYDOWNW = ^tagNMDATETIMEWMKEYDOWNW; - TNMDATETIMEWMKEYDOWNW = tagNMDATETIMEWMKEYDOWNW; - PNMDATETIMEWMKEYDOWNW = ^tagNMDATETIMEWMKEYDOWNW; - - -{$IFDEF UNICODE} -CONST - DTN_WMKEYDOWN = DTN_WMKEYDOWNW; -TYPE - NMDATETIMEWMKEYDOWN = NMDATETIMEWMKEYDOWNW; - LPNMDATETIMEWMKEYDOWN= LPNMDATETIMEWMKEYDOWNW; -{$ELSE} -CONST - DTN_WMKEYDOWN = DTN_WMKEYDOWNA; -TYPE - NMDATETIMEWMKEYDOWN = NMDATETIMEWMKEYDOWNA; - LPNMDATETIMEWMKEYDOWN= LPNMDATETIMEWMKEYDOWNA; -{$ENDIF} - - - -CONST - DTN_FORMATA = (DTN_FIRST + 4); // query display for app format field (X) - DTN_FORMATW = (DTN_FIRST + 17); -TYPE - - tagNMDATETIMEFORMATA = Record - nmhdr : NMHDR; - pszFormat : LPCSTR; // format substring - st : SYSTEMTIME; // current systemtime - pszDisplay : LPCSTR; // string to display - szDisplay : Array [0..63] OF CHAR; // buffer pszDisplay originally points at - END; - NMDATETIMEFORMATA = tagNMDATETIMEFORMATA; - LPNMDATETIMEFORMATA = ^tagNMDATETIMEFORMATA; - TNMDATETIMEFORMATA = tagNMDATETIMEFORMATA; - PNMDATETIMEFORMATA = ^tagNMDATETIMEFORMATA; - - - tagNMDATETIMEFORMATW = Record - nmhdr : NMHDR; - pszFormat : LPCWSTR; // format substring - st : SYSTEMTIME; // current systemtime - pszDisplay : LPCWSTR; // string to display - szDisplay : Array [0..63] OF WCHAR; // buffer pszDisplay originally points at - END; - NMDATETIMEFORMATW = tagNMDATETIMEFORMATW; - LPNMDATETIMEFORMATW = ^tagNMDATETIMEFORMATW; - TNMDATETIMEFORMATW = tagNMDATETIMEFORMATW; - PNMDATETIMEFORMATW = ^tagNMDATETIMEFORMATW; - - -{$IFDEF UNICODE} -CONST - DTN_FORMAT = DTN_FORMATW; -TYPE - NMDATETIMEFORMAT = NMDATETIMEFORMATW; - LPNMDATETIMEFORMAT = LPNMDATETIMEFORMATW; -{$ELSE} -CONST - DTN_FORMAT = DTN_FORMATA; -TYPE - NMDATETIMEFORMAT = NMDATETIMEFORMATA; - LPNMDATETIMEFORMAT = LPNMDATETIMEFORMATA; -{$ENDIF} - - - -CONST - DTN_FORMATQUERYA = (DTN_FIRST + 5); // query formatting info for app format field (X) - DTN_FORMATQUERYW = (DTN_FIRST + 18); -TYPE - - tagNMDATETIMEFORMATQUERYA = Record - nmhdr : NMHDR; - pszFormat : LPCSTR; // format substring - szMax : SIZE; // max bounding rectangle app will use for this format string - END; - NMDATETIMEFORMATQUERYA = tagNMDATETIMEFORMATQUERYA; - LPNMDATETIMEFORMATQUERYA = ^tagNMDATETIMEFORMATQUERYA; - TNMDATETIMEFORMATQUERYA = tagNMDATETIMEFORMATQUERYA; - PNMDATETIMEFORMATQUERYA = ^tagNMDATETIMEFORMATQUERYA; - - - tagNMDATETIMEFORMATQUERYW = Record - nmhdr : NMHDR; - pszFormat : LPCWSTR; // format substring - szMax : SIZE; // max bounding rectangle app will use for this format string - END; - NMDATETIMEFORMATQUERYW = tagNMDATETIMEFORMATQUERYW; - LPNMDATETIMEFORMATQUERYW = ^tagNMDATETIMEFORMATQUERYW; - TNMDATETIMEFORMATQUERYW = tagNMDATETIMEFORMATQUERYW; - PNMDATETIMEFORMATQUERYW = ^tagNMDATETIMEFORMATQUERYW; - - -{$IFDEF UNICODE} -CONST - DTN_FORMATQUERY = DTN_FORMATQUERYW; -TYPE - NMDATETIMEFORMATQUERY= NMDATETIMEFORMATQUERYW; - LPNMDATETIMEFORMATQUERY= LPNMDATETIMEFORMATQUERYW; -{$ELSE} -CONST - DTN_FORMATQUERY = DTN_FORMATQUERYA; -TYPE - NMDATETIMEFORMATQUERY= NMDATETIMEFORMATQUERYA; - LPNMDATETIMEFORMATQUERY= LPNMDATETIMEFORMATQUERYA; -{$ENDIF} - - - -CONST - DTN_DROPDOWN = (DTN_FIRST + 6); // MonthCal has dropped down - DTN_CLOSEUP = (DTN_FIRST + 7); // MonthCal is popping up - - - GDTR_MIN = $0001; - GDTR_MAX = $0002; - - GDT_ERROR = -1; - GDT_VALID = 0; - GDT_NONE = 1; - - -{$ENDIF} // _WIN32 -{$ENDIF} // NODATETIMEPICK - - -{$ifdef ie4plus} - -{$IFNDEF NOIPADDRESS} - -/////////////////////////////////////////////// -/// IP Address edit control - -// Messages sent to IPAddress controls - - IPM_CLEARADDRESS = (WM_USER+100); // no parameters - IPM_SETADDRESS = (WM_USER+101); // lparam = TCP/IP address - IPM_GETADDRESS = (WM_USER+102); // lresult = # of non black fields. lparam = LPDWORD for TCP/IP address - IPM_SETRANGE = (WM_USER+103); // wparam = field, lparam = range - IPM_SETFOCUS = (WM_USER+104); // wparam = field - IPM_ISBLANK = (WM_USER+105); // no parameters - - WC_IPADDRESSW = {L}'SysIPAddress32'; - WC_IPADDRESSA = 'SysIPAddress32'; - -{$IFDEF UNICODE} - -TYPE - WC_IPADDRESS = WC_IPADDRESSW; -{$ELSE} - WC_IPADDRESS = WC_IPADDRESSA; -{$ENDIF} - - -CONST - IPN_FIELDCHANGED = (IPN_FIRST - 0); -TYPE - - tagNMIPADDRESS = Record - hdr : NMHDR; - iField : cint; - iValue : cint; - END; - NMIPADDRESS = tagNMIPADDRESS; - LPNMIPADDRESS = ^tagNMIPADDRESS; - TNMIPADDRESS = tagNMIPADDRESS; - PNMIPADDRESS = ^tagNMIPADDRESS; - - -// The following is a useful macro for passing the range values in the -// IPM_SETRANGE message. - -// Macro 286 - -// #define MAKEIPRANGE(low, high) ((LPARAM)(WORD)(((BYTE)(high) << 8) + (BYTE)(low))) - -// And this is a useful macro for making the IP Address to be passed -// as a LPARAM. - -// Macro 287 - -// #define MAKEIPADDRESS(b1,b2,b3,b4) ((LPARAM)(((DWORD)(b1)<<24)+((DWORD)(b2)<<16)+((DWORD)(b3)<<8)+((DWORD)(b4)))) - -// Get individual number -// Macro 288 - -// #define FIRST_IPADDRESS(x) ((x>>24) & 0xff) -// Macro 289 - -// #define SECOND_IPADDRESS(x) ((x>>16) & 0xff) -// Macro 290 - -// #define THIRD_IPADDRESS(x) ((x>>8) & 0xff) -// Macro 291 - -// #define FOURTH_IPADDRESS(x) (x & 0xff) - - -{$ENDIF} // NOIPADDRESS - - -//--------------------------------------------------------------------------------------- -//--------------------------------------------------------------------------------------- -/// ====================== Pager Control ============================= -//--------------------------------------------------------------------------------------- -//--------------------------------------------------------------------------------------- - -{$IFNDEF NOPAGESCROLLER} - -//Pager Class Name - -CONST - WC_PAGESCROLLERW = {L}'SysPager'; - WC_PAGESCROLLERA = 'SysPager'; - -{$IFDEF UNICODE} - -TYPE - WC_PAGESCROLLER = WC_PAGESCROLLERW; -{$ELSE} - WC_PAGESCROLLER = WC_PAGESCROLLERA; -{$ENDIF} - - -//--------------------------------------------------------------------------------------- -// Pager Control Styles -//--------------------------------------------------------------------------------------- -// begin_r_commctrl - - -CONST - PGS_VERT = $00000000; - PGS_HORZ = $00000001; - PGS_AUTOSCROLL = $00000002; - PGS_DRAGNDROP = $00000004; - -// end_r_commctrl - - -//--------------------------------------------------------------------------------------- -// Pager Button State -//--------------------------------------------------------------------------------------- -//The scroll can be in one of the following control State - PGF_INVISIBLE = 0; // Scroll button is not visible - PGF_NORMAL = 1; // Scroll button is in normal state - PGF_GRAYED = 2; // Scroll button is in grayed state - PGF_DEPRESSED = 4; // Scroll button is in depressed state - PGF_HOT = 8; // Scroll button is in hot state - - -// The following identifiers specifies the button control - PGB_TOPORLEFT = 0; - PGB_BOTTOMORRIGHT = 1; - -//--------------------------------------------------------------------------------------- -// Pager Control Messages -//--------------------------------------------------------------------------------------- - PGM_SETCHILD = (PGM_FIRST + 1); // lParam == hwnd -// Macro 292 - - -Procedure Pager_SetChild( hwnd : hwnd; hwndChild : LPARAM); - - - -CONST - PGM_RECALCSIZE = (PGM_FIRST + 2); -// Macro 293 - - -Procedure Pager_RecalcSize( hwnd : hwnd); - - - -CONST - PGM_FORWARDMOUSE = (PGM_FIRST + 3); -// Macro 294 - - -Procedure Pager_ForwardMouse( hwnd : hwnd; bForward : WPARAM); - - - -CONST - PGM_SETBKCOLOR = (PGM_FIRST + 4); -// Macro 295 - - -Function Pager_SetBkColor( hwnd : hwnd; clr : LPARAM):COLORREF; - - - -CONST - PGM_GETBKCOLOR = (PGM_FIRST + 5); -// Macro 296 - - -Function Pager_GetBkColor( hwnd : hwnd):COLORREF; - - - -CONST - PGM_SETBORDER = (PGM_FIRST + 6); -// Macro 297 - - -Function Pager_SetBorder( hwnd : hwnd; iBorder : LPARAM):cint; - - - -CONST - PGM_GETBORDER = (PGM_FIRST + 7); -// Macro 298 - - -Function Pager_GetBorder( hwnd : hwnd):cint; - - - -CONST - PGM_SETPOS = (PGM_FIRST + 8); -// Macro 299 - - -Function Pager_SetPos( hwnd : hwnd; iPos : LPARAM):cint; - - - -CONST - PGM_GETPOS = (PGM_FIRST + 9); -// Macro 300 - - -Function Pager_GetPos( hwnd : hwnd):cint; - - - -CONST - PGM_SETBUTTONSIZE = (PGM_FIRST + 10); -// Macro 301 - - -Function Pager_SetButtonSize( hwnd : hwnd; iSize : LPARAM):cint; - - - -CONST - PGM_GETBUTTONSIZE = (PGM_FIRST + 11); -// Macro 302 - - -Function Pager_GetButtonSize( hwnd : hwnd):cint; - - - -CONST - PGM_GETBUTTONSTATE = (PGM_FIRST + 12); -// Macro 303 - - -Function Pager_GetButtonState( hwnd : hwnd; iButton : LPARAM):DWORD; - - - -CONST - PGM_GETDROPTARGET = CCM_GETDROPTARGET; -// Macro 304 - - -Procedure Pager_GetDropTarget( hwnd : hwnd; ppdt : LPARAM); - -//--------------------------------------------------------------------------------------- -//Pager Control Notification Messages -//--------------------------------------------------------------------------------------- - - -// PGN_SCROLL Notification Message - - -CONST - PGN_SCROLL = (PGN_FIRST-1); - - PGF_SCROLLUP = 1; - PGF_SCROLLDOWN = 2; - PGF_SCROLLLEFT = 4; - PGF_SCROLLRIGHT = 8; - - -//Keys down - PGK_SHIFT = 1; - PGK_CONTROL = 2; - PGK_MENU = 4; - - -{$IFDEF _WIN32} -// #include -{$ENDIF} - -// This structure is sent along with PGN_SCROLL notifications -TYPE - - DummyStruct17 = Record - hdr : NMHDR; - fwKeys : WORD; // Specifies which keys are down when this notification is send - rcParent : RECT; // Contains Parent Window Rect - iDir : cint; // Scrolling Direction - iXpos : cint; // Horizontal scroll position - iYpos : cint; // Vertical scroll position - iScroll : cint; // [in/out] Amount to scroll - END; - NMPGSCROLL = DummyStruct17; - LPNMPGSCROLL = ^DummyStruct17; - TNMPGScroll = NMPGSCROLL; - PNMPGScroll = LPNMPGSCROLL; - - -{$IFDEF _WIN32} -// #include -{$ENDIF} - -// PGN_CALCSIZE Notification Message - - -CONST - PGN_CALCSIZE = (PGN_FIRST-2); - - PGF_CALCWIDTH = 1; - PGF_CALCHEIGHT = 2; - -TYPE - - DummyStruct18 = Record - hdr : NMHDR; - dwFlag : DWORD; - iWidth : cint; - iHeight : cint; - END; - NMPGCALCSIZE = DummyStruct18; - LPNMPGCALCSIZE = ^DummyStruct18; - TNMPGCalcSize = DummyStruct18; - PNMPGCalcSize = LPNMPGCALCSIZE; - - - -// PGN_HOTITEMCHANGE Notification Message - - -CONST - PGN_HOTITEMCHANGE = (PGN_FIRST-3); - -{ -The PGN_HOTITEMCHANGE notification uses these notification -flags defined in TOOLBAR: - - HICF_ENTERING = $00000010; // idOld is invalid - HICF_LEAVING = $00000020; // idNew is invalid -} - -// Structure for PGN_HOTITEMCHANGE notification -// -TYPE - - tagNMPGHOTITEM = Record - hdr : NMHDR; - idOld : cint; - idNew : cint; - dwFlags : DWORD; // HICF_* - END; - NMPGHOTITEM = tagNMPGHOTITEM; - LPNMPGHOTITEM = ^tagNMPGHOTITEM; - TNMPGHOTITEM = tagNMPGHOTITEM; - PNMPGHOTITEM = ^tagNMPGHOTITEM; - - -{$ENDIF} // NOPAGESCROLLER - -////====================== End Pager Control ========================================== - -// -// === Native Font Control === -// -{$IFNDEF NONATIVEFONTCTL} -//NativeFont Class Name - -CONST - WC_NATIVEFONTCTLW = {L}'NativeFontCtl'; - WC_NATIVEFONTCTLA = 'NativeFontCtl'; - -{$IFDEF UNICODE} - -TYPE - WC_NATIVEFONTCTL = WC_NATIVEFONTCTLW; -{$ELSE} - WC_NATIVEFONTCTL = WC_NATIVEFONTCTLA; -{$ENDIF} - -// begin_r_commctrl - -// style definition - -CONST - NFS_EDIT = $0001; - NFS_STATIC = $0002; - NFS_LISTCOMBO = $0004; - NFS_BUTTON = $0008; - NFS_ALL = $0010; - NFS_USEFONTASSOC = $0020; - -// end_r_commctrl - -{$ENDIF} // NONATIVEFONTCTL -// === End Native Font Control === - -/// ====================== Button Control ============================= - -{$IFNDEF NOBUTTON} - -{$IFDEF _WIN32} - -// Button Class Name - WC_BUTTONA = 'Button'; - WC_BUTTONW = {L}'Button'; - -CONST -{$IFDEF UNICODE} - WC_BUTTON = WC_BUTTONW; -{$ELSE} - WC_BUTTON = WC_BUTTONA; -{$ENDIF} - -{$ELSE} - - WC_BUTTON = 'Button'; -{$ENDIF} - -{$ifdef win32xp} - BUTTON_IMAGELIST_ALIGN_LEFT = 0; - BUTTON_IMAGELIST_ALIGN_RIGHT = 1; - BUTTON_IMAGELIST_ALIGN_TOP = 2; - BUTTON_IMAGELIST_ALIGN_BOTTOM = 3; - BUTTON_IMAGELIST_ALIGN_CENTER = 4; // Doesn't draw text - -TYPE - - DummyStruct19 = Record - himl : HIMAGELIST; // Index: Normal, hot pushed, disabled. If count is less than 4, we use index 1 - margin : RECT; // Margin around icon. - uAlign : UINT; - END; - BUTTON_IMAGELIST = DummyStruct19; - PBUTTON_IMAGELIST = ^DummyStruct19; - TDummyStruct19 = DummyStruct19; - PDummyStruct19 = ^DummyStruct19; - - - -CONST - BCM_GETIDEALSIZE = (BCM_FIRST + $0001); -// Macro 305 - - -Function Button_GetIdealSize( hwnd : hwnd; psize : LPARAM):BOOL; - - - -CONST - BCM_SETIMAGELIST = (BCM_FIRST + $0002); -// Macro 306 - - -Function Button_SetImageList( hwnd : hwnd; pbuttonImagelist : LPARAM):BOOL; - - - -CONST - BCM_GETIMAGELIST = (BCM_FIRST + $0003); -// Macro 307 - - -Function Button_GetImageList( hwnd : hwnd; pbuttonImagelist : LPARAM):BOOL; - - - -CONST - BCM_SETTEXTMARGIN = (BCM_FIRST + $0004); -// Macro 308 - - -Function Button_SetTextMargin( hwnd : hwnd; pmargin : LPARAM):BOOL; - - -CONST - BCM_GETTEXTMARGIN = (BCM_FIRST + $0005); -// Macro 309 - - -Function Button_GetTextMargin( hwnd : hwnd; pmargin : LPARAM):BOOL; - - -TYPE - - tagNMBCHOTITEM = Record - hdr : NMHDR; - dwFlags : DWORD; // HICF_* - END; - NMBCHOTITEM = tagNMBCHOTITEM; - LPNMBCHOTITEM = ^tagNMBCHOTITEM; - TNMBCHOTITEM = tagNMBCHOTITEM; - PNMBCHOTITEM = ^tagNMBCHOTITEM; - - - -CONST - BCN_HOTITEMCHANGE = (BCN_FIRST + $0001); - - BST_HOT = $0200; -{$ifdef win32vista} - BST_DROPDOWNPUSHED = $0400; - -// BUTTON STYLES - BS_SPLITBUTTON = $00000000C; // This block L suffixed (unsigned) - BS_DEFSPLITBUTTON = $00000000D; - BS_COMMANDLINK = $00000000E; - BS_DEFCOMMANDLINK = $00000000F; - -// SPLIT BUTTON INFO mask flags - BCSIF_GLYPH = $00001; - BCSIF_IMAGE = $00002; - BCSIF_STYLE = $00004; - BCSIF_SIZE = $00008; - -// SPLIT BUTTON STYLE flags - BCSS_NOSPLIT = $00001; - BCSS_STRETCH = $00002; - BCSS_ALIGNLEFT = $00004; - BCSS_IMAGE = $00008; - - BCM_SETDROPDOWNSTATE = (BCM_FIRST + $0006); - BCM_SETSPLITINFO = (BCM_FIRST + $0007); - BCM_GETSPLITINFO = (BCM_FIRST + $0008); - BCM_SETNOTE = (BCM_FIRST + $0009); - BCM_GETNOTE = (BCM_FIRST + $000A); - BCM_GETNOTELENGTH = (BCM_FIRST + $000B); - BCM_SETSHIELD = (BCM_FIRST + $000C); - - -// Value to pass to BCM_SETIMAGELIST to indicate that no glyph should be -// displayed - BCCL_NOGLYPH = HIMAGELIST(-1); - - BCN_DROPDOWN = (BCN_FIRST + $0002); -Type - - tagBUTTON_SPLITINFO = record - mask : UINT; - himlGlyph : HIMAGELIST; - uSplitStyle : UINT; - size : SIZE; - end; - BUTTON_SPLITINFO = tagBUTTON_SPLITINFO; - PBUTTON_SPLITINFO = ^BUTTON_SPLITINFO; - LPBUTTON_SPLITINFO = PBUTTON_SPLITINFO; - - { NOTIFICATION MESSAGES } - - tagNMBCDROPDOWN = packed record - hdr : NMHDR; - rcButton : RECT; - end; - NMBCDROPDOWN = tagNMBCDROPDOWN; - PNMBCDROPDOWN = ^NMBCDROPDOWN; - LPNMBCDROPDOWN = PNMBCDROPDOWN; - -// BUTTON MESSAGES - -function Button_SetDropDownState(hwnd:HWND; fDropDown:BOOL) : BOOL; -// (BOOL)SNDMSG((hwnd), BCM_SETDROPDOWNSTATE, (WPARAM)(fDropDown), 0) - -function Button_SetSplitInfo(hwnd:HWND; pInfo:PBUTTON_SPLITINFO):BOOL; -// (BOOL)SNDMSG((hwnd), BCM_SETSPLITINFO, 0, (LPARAM)(pInfo)) - -function Button_GetSplitInfo(hwnd:HWND; pInfo:PBUTTON_SPLITINFO) :BOOL; -// (BOOL)SNDMSG((hwnd), BCM_GETSPLITINFO, 0, (LPARAM)(pInfo)) - -function Button_SetNote(hwnd:HWND; psz:LPCWSTR) :BOOL; -// (BOOL)SNDMSG((hwnd), BCM_SETNOTE, 0, (LPARAM)(psz)) - -function Button_GetNote(hwnd:HWND; psz:LPCWSTR; pcc:cint) :BOOL; -// (BOOL)SNDMSG((hwnd), BCM_GETNOTE, (WPARAM)pcc, (LPARAM)psz) - -function Button_GetNoteLength(hwnd:HWND) :LRESULT; -// (LRESULT)SNDMSG((hwnd), BCM_GETNOTELENGTH, 0, 0) - -// Macro to use on a button or command link to display an elevated icon - -function Button_SetElevationRequiredState(hwnd:HWND; fRequired:BOOL) :LRESULT; -// (LRESULT)SNDMSG((hwnd), BCM_SETSHIELD, 0, (LPARAM)fRequired) - -{$endif} -{$ENDIF} -{$ENDIF} // NOBUTTON - - -/// ===================== End Button Control ========================= - -/// ====================== Static Control ============================= - -{$IFNDEF NOSTATIC} - -const -{$IFDEF _WIN32} - -// Static Class Name - WC_STATICA = 'Static'; - WC_STATICW = {L}'Static'; - -{$IFDEF UNICODE} - -TYPE - WC_STATIC = WC_STATICW; -{$ELSE} - WC_STATIC = WC_STATICA; -{$ENDIF} - -{$ELSE} - -CONST - WC_STATIC = 'Static'; -{$ENDIF} - -{$ENDIF} // NOSTATIC - -/// ===================== End Static Control ========================= - -/// ====================== Edit Control ============================= - -{$IFNDEF NOEDIT} - -{$IFDEF _WIN32} - -// Edit Class Name - WC_EDITA = 'Edit'; - WC_EDITW = {L}'Edit'; - -{$IFDEF UNICODE} - -TYPE - WC_EDIT = WC_EDITW; -{$ELSE} - WC_EDIT = WC_EDITA; -{$ENDIF} - -{$ELSE} - -CONST - WC_EDIT = 'Edit'; -{$ENDIF} - -{$ifdef win32xp} - EM_SETCUEBANNER = (ECM_FIRST + 1); // Set the cue banner with the lParm = LPCWSTR -// Macro 310 - - -Function Edit_SetCueBannerText( hwnd : hwnd; lpcwText : LPARAM):BOOL; - - -CONST - EM_GETCUEBANNER = (ECM_FIRST + 2); // Set the cue banner with the lParm = LPCWSTR -// Macro 311 - - -Function Edit_GetCueBannerText( hwnd : hwnd; lpwText : WPARAM; cchText : LPARAM):BOOL; - - -TYPE - - _tagEDITBALLOONTIP = Record - cbStruct : DWORD; - pszTitle : LPCWSTR; - pszText : LPCWSTR; - ttiIcon : cint; // From TTI_* - END; - EDITBALLOONTIP = _tagEDITBALLOONTIP; - PEDITBALLOONTIP = ^_tagEDITBALLOONTIP; - TEDITBALLOONTIP = _tagEDITBALLOONTIP; - - - -CONST - EM_SHOWBALLOONTIP = (ECM_FIRST + 3); // Show a balloon tip associated to the edit control -// Macro 312 - - -Function Edit_ShowBalloonTip( hwnd : hwnd; peditballoontip : LPARAM):BOOL; - - -CONST - EM_HIDEBALLOONTIP = (ECM_FIRST + 4); // Hide any balloon tip associated with the edit control -// Macro 313 - - -Function Edit_HideBalloonTip( hwnd : hwnd):BOOL; - -{$ifdef win32vista} -const - EM_SETHILITE = (ECM_FIRST + 5); - EM_GETHILITE = (ECM_FIRST + 6); - -// both are "unimplemented" in MSDN, so probably typing is off. -procedure Edit_SetHilite(hwndCtl:hwnd; ichStart:Wparam; ichEnd:lparam); -// ((void)SNDMSG((hwndCtl), EM_SETHILITE, (ichStart), (ichEnd))) - -function Edit_GetHilite(hwndCtl:hwnd):DWORD; -// ((DWORD)SNDMSG((hwndCtl), EM_GETHILITE, 0L, 0L)) -{$endif} - -{$ENDIF} - -{$ENDIF} // NOEDIT - -/// ===================== End Edit Control ========================= - -/// ====================== Listbox Control ============================= - -{$IFNDEF NOLISTBOX} - -{$IFDEF _WIN32} - -// Listbox Class Name - -CONST - WC_LISTBOXA = 'ListBox'; - WC_LISTBOXW = {L}'ListBox'; - -{$IFDEF UNICODE} - -TYPE - WC_LISTBOX = WC_LISTBOXW; -{$ELSE} - WC_LISTBOX = WC_LISTBOXA; -{$ENDIF} - -{$ELSE} - -CONST - WC_LISTBOX = 'ListBox'; -{$ENDIF} - -{$ENDIF} // NOLISTBOX - - -/// ===================== End Listbox Control ========================= - -/// ====================== Combobox Control ============================= - -{$IFNDEF NOCOMBOBOX} - -{$IFDEF _WIN32} - -// Combobox Class Name - WC_COMBOBOXA = 'ComboBox'; - WC_COMBOBOXW = {L}'ComboBox'; - -{$IFDEF UNICODE} - -TYPE - WC_COMBOBOX = WC_COMBOBOXW; -{$ELSE} - WC_COMBOBOX = WC_COMBOBOXA; -{$ENDIF} - -{$ELSE} - -CONST - WC_COMBOBOX = 'ComboBox'; -{$ENDIF} - -{$ENDIF} // NOCOMBOBOX - - -{$ifdef win32xp} - -// custom combobox control messages - CB_SETMINVISIBLE = (CBM_FIRST + 1); - CB_GETMINVISIBLE = (CBM_FIRST + 2); - -// Macro 314 - - -Function ComboBox_SetMinVisible( hwnd : hwnd; iMinVisible : WPARAM):BOOL; - - -// Macro 315 - - -Function ComboBox_GetMinVisible( hwnd : hwnd):cint; - - -{$ENDIF} - -/// ===================== End Combobox Control ========================= - -/// ====================== Scrollbar Control ============================ - -{$IFNDEF NOSCROLLBAR} - -{$IFDEF _WIN32} - -// Scrollbar Class Name - -CONST - WC_SCROLLBARA = 'ScrollBar'; - WC_SCROLLBARW = {L}'ScrollBar'; - -{$IFDEF UNICODE} - -TYPE - WC_SCROLLBAR = WC_SCROLLBARW; -{$ELSE} - WC_SCROLLBAR = WC_SCROLLBARA; -{$ENDIF} - -{$ELSE} - -CONST - WC_SCROLLBAR = 'ScrollBar'; -{$ENDIF} - -{$ENDIF} // NOSCROLLBAR - - -/// ===================== End Scrollbar Control ========================= - - -//====== SysLink control ========================================= - -{$IFDEF _WIN32} -{$ifdef win32xp} - - INVALID_LINK_INDEX = (-1); - - - - WC_LINK = {L}'SysLink'; - - LWS_TRANSPARENT = $0001; - LWS_IGNORERETURN = $0002; - -{$ifdef win32vista} - LWS_NOPREFIX = $0004; - LWS_USEVISUALSTYLE = $0008; - LWS_USECUSTOMTEXT = $0010; - LWS_RIGHT = $0020; -{$endif} - - LIF_ITEMINDEX = $00000001; - LIF_STATE = $00000002; - LIF_ITEMID = $00000004; - LIF_URL = $00000008; - - LIS_FOCUSED = $00000001; - LIS_ENABLED = $00000002; - LIS_VISITED = $00000004; -{$ifdef win32vista} - LIS_HOTTRACK = $00000008; - LIS_DEFAULTCOLORS = $00000010; // Don't use any custom text colors -{$endif} - -TYPE - - - tagLHITTESTINFO = Record - pt : POINT; - item : LITEM; - END; - LHITTESTINFO = tagLHITTESTINFO; - PLHITTESTINFO = ^tagLHITTESTINFO; - TLHITTESTINFO = tagLHITTESTINFO; -// PLHITTESTINFO = ^tagLHITTESTINFO; - - - tagNMLINK = Record - hdr : NMHDR; - item : LITEM; - END; - NMLINK = tagNMLINK; - PNMLINK = ^tagNMLINK; - TNMLINK = tagNMLINK; -// PNMLINK = ^tagNMLINK; - - -// SysLink notifications -// NM_CLICK // wParam: control ID, lParam: PNMLINK, ret: ignored. - -// LinkWindow messages - -CONST - LM_HITTEST = (WM_USER+$300); // wParam: n/a, lparam: PLHITTESTINFO, ret: BOOL - LM_GETIDEALHEIGHT = (WM_USER+$301); // wParam: n/a, lparam: n/a, ret: cy - LM_SETITEM = (WM_USER+$302); // wParam: n/a, lparam: LITEM*, ret: BOOL - LM_GETITEM = (WM_USER+$303); // wParam: n/a, lparam: LITEM*, ret: BOOL - -{$ENDIF} -{$ENDIF} // _WIN32 -//====== End SysLink control ========================================= - - -// -// === MUI APIs === -// -{$IFNDEF NOMUI} -procedure InitMUILanguage(uiLang:LANGID); stdcall; external commctrldll name 'InitMUILanguage'; - - -function GetMUILanguage:LANGID; stdcall; external commctrldll name 'GetMUILanguage'; -{$ENDIF} // NOMUI - -{$ENDIF} // _WIN32_IE >= 0x0400 - -{$IFDEF _WIN32} -//====== TrackMouseEvent ===================================================== - -{$IFNDEF NOTRACKMOUSEEVENT} - -// -// If the messages for TrackMouseEvent have not been defined then define them -// now. -// -{$IFNDEF WM_MOUSEHOVER} - -CONST - WM_MOUSEHOVER = $02A1; - WM_MOUSELEAVE = $02A3; -{$ENDIF} - -// -// If the TRACKMOUSEEVENT structure and associated flags havent been declared -// then declare them now. -// -{$IFNDEF TME_HOVER} - - TME_HOVER = $00000001; - TME_LEAVE = $00000002; -{$ifdef win32xp} - TME_NONCLIENT = $00000010; -{$ENDIF} { WINVER >= 0x0500 } - TME_QUERY = $40000000; - TME_CANCEL = $80000000; - - - - HOVER_DEFAULT = $FFFFFFFF; - -TYPE - - tagTRACKMOUSEEVENT = Record - cbSize : DWORD; - dwFlags : DWORD; - hwndTrack : HWND; - dwHoverTime : DWORD; - END; - TRACKMOUSEEVENT = tagTRACKMOUSEEVENT; - LPTRACKMOUSEEVENT = ^tagTRACKMOUSEEVENT; - TTRACKMOUSEEVENT = tagTRACKMOUSEEVENT; - PTRACKMOUSEEVENT = ^tagTRACKMOUSEEVENT; - - -{$ENDIF} // !TME_HOVER - - - -// -// Declare _TrackMouseEvent. This API tries to use the window manager's -// implementation of TrackMouseEvent if it is present, otherwise it emulates. -// -function _TrackMouseEvent(lpEventTrack:LPTRACKMOUSEEVENT):BOOL; stdcall; external commctrldll name '_TrackMouseEvent'; - -{$ENDIF} // !NOTRACKMOUSEEVENT - -{$ifdef ie4plus} - -//====== Flat Scrollbar APIs========================================= -{$IFNDEF NOFLATSBAPIS} - - -CONST - WSB_PROP_CYVSCROLL = LONG($00000001); - WSB_PROP_CXHSCROLL = LONG($00000002); - WSB_PROP_CYHSCROLL = LONG($00000004); - WSB_PROP_CXVSCROLL = LONG($00000008); - WSB_PROP_CXHTHUMB = LONG($00000010); - WSB_PROP_CYVTHUMB = LONG($00000020); - WSB_PROP_VBKGCOLOR = LONG($00000040); - WSB_PROP_HBKGCOLOR = LONG($00000080); - WSB_PROP_VSTYLE = LONG($00000100); - WSB_PROP_HSTYLE = LONG($00000200); - WSB_PROP_WINSTYLE = LONG($00000400); - WSB_PROP_PALETTE = LONG($00000800); - WSB_PROP_MASK = LONG($00000FFF); - - FSB_FLAT_MODE = 2; - FSB_ENCARTA_MODE = 1; - FSB_REGULAR_MODE = 0; - -function FlatSB_EnableScrollBar(hwnd:HWND;code : cint;p3 : UINT):BOOL; stdcall; external commctrldll name 'FlatSB_EnableScrollBar'; -function FlatSB_ShowScrollBar(hwnd:HWND;code : cint;p3 : BOOL):BOOL; stdcall; external commctrldll name 'FlatSB_ShowScrollBar'; - -function FlatSB_GetScrollRange(hwnd:HWND;code : cint;p3 : LPINT;p4 : LPINT):BOOL; stdcall; external commctrldll name 'FlatSB_GetScrollRange'; -function FlatSB_GetScrollRange(hwnd:HWND;code : cint;var p3,p4 : cint):BOOL; stdcall; external commctrldll name 'FlatSB_GetScrollRange'; -function FlatSB_GetScrollInfo(hwnd:HWND;code : cint;ScrollInfo : LPSCROLLINFO):BOOL; stdcall; external commctrldll name 'FlatSB_GetScrollInfo'; -function FlatSB_GetScrollInfo(hwnd:HWND;code : cint;var ScrollInfo : TSCROLLINFO):BOOL; stdcall; external commctrldll name 'FlatSB_GetScrollInfo'; - -function FlatSB_GetScrollPos(hwnd:HWND;code : cint):cint; stdcall; external commctrldll name 'FlatSB_GetScrollPos'; - - -function FlatSB_GetScrollProp(hwnd:HWND):BOOL; stdcall; external commctrldll name 'FlatSB_GetScrollProp'; -{$IFDEF _WIN64} -function FlatSB_GetScrollPropPtr(hwnd:HWND;propIndex : cint;p3 : LPINT):BOOL; stdcall; external commctrldll name 'FlatSB_GetScrollPropPtr'; -{$ELSE} -function FlatSB_GetScrollPropPtr(hwnd:HWND;code : cint):BOOL; stdcall; external commctrldll name 'FlatSB_GetScrollProp'; -{$ENDIF} - - -function FlatSB_SetScrollPos(hWnd:HWND;nBar,nPos:cint;bRedraw:BOOL):cint; stdcall; external commctrldll name 'FlatSB_SetScrollPos'; - -function FlatSB_SetScrollInfo(hWnd:HWND;BarFlag:cint;const ScrollInfo:TScrollInfo;Redraw:BOOL):cint; stdcall; external commctrldll name 'FlatSB_SetScrollInfo'; - - -function FlatSB_SetScrollRange(hWnd: HWND; nBar,nMinPos,nMaxPos: cint; bRedraw: BOOL):cint; stdcall; external commctrldll name 'FlatSB_SetScrollRange'; -function FlatSB_SetScrollProp(p1: HWND; index : UINT; newValue: INT_PTR; p4: BOOL):BOOL; stdcall; external commctrldll name 'FlatSB_SetScrollProp'; - -function InitializeFlatSB(hWnd:HWND):BOOL; stdcall; external commctrldll name 'InitializeFlatSB'; -function UninitializeFlatSB(hWnd:HWND):HRESULT; stdcall; external commctrldll name 'UninitializeFlatSB'; - -{$ENDIF} // NOFLATSBAPIS - -{$ENDIF} // _WIN32_IE >= 0x0400 - -{$ENDIF} { _WIN32 } - -{$ENDIF} // _WIN32_IE >= 0x0300 - -{$ifdef win32xp} -// -// subclassing stuff -// -TYPE - subclassproc=function (hwnd:HWND;uMsg:cUINT; wParam:WPARAM;lparam:LPARAM;uISubClass : UINT_PTR;dwRefData:DWORD_PTR):LRESULT; stdcall; - -{ - (CALLBACK *SUBCLASSPROC)(HWND hWnd, UINT uMsg, WPARAM wParam, = LRESULT - LPARAM lParam, UINT_PTR uIdSubclass, DWORD_PTR dwRefData); - -typedef LRESULT (CALLBACK *SUBCLASSPROC)(HWND hWnd, UINT uMsg, WPARAM wParam, - LPARAM lParam, UINT_PTR uIdSubclass, DWORD_PTR dwRefData); - - hwnd:HWND;uMsg:cUINT; wParam:WPARAM;lparam:LPARAM;uISubClass : CUINT_PTR;dwRefData:DWORD_PTR):LRESULT; stdcall; -} - -function SetWindowSubclass(hWnd:HWND;pfnSubclass:SUBCLASSPROC;uIdSubclass:UINT_PTR;dwRefData:DWORD_PTR):BOOL; stdcall; external commctrldll name 'SetWindowSubclass'; -function GetWindowSubclass(hWnd:HWND;pfnSubclass:SUBCLASSPROC;uIdSubclass:UINT_PTR;pdwRefData:PDWORD_PTR):BOOL; stdcall; external commctrldll name 'GetWindowSubclass'; -function RemoveWindowSubclass(hWnd:HWND;pfnSubclass:SUBCLASSPROC;uIdSubclass:UINT_PTR):BOOL; stdcall; external commctrldll name 'RemoveWindowSubclass'; - -function DefSubclassProc(hWnd:HWND;uMsg:UINT;wParam:WPARAM;lParam:LPARAM):LRESULT; stdcall; external commctrldll name 'DefSubclassProc'; -{$ENDIF} - -{$ifdef NTDDI_VISTA} -type _LI_METRIC= ( - - LIM_SMALL=0, // corresponds to SM_CXSMICON/SM_CYSMICON - LIM_LARGE // corresponds to SM_CXICON/SM_CYICON - ); - -Function LoadIconMetric( hinst:HINST; pszName:LPCWStr;lims:cint; var phico: HICON ):HRESULT; stdcall; external commctrldll name 'LoadIconMetric'; -Function LoadIconWithScaleDown( hinst:HINST; pszName:LPCWStr;cx:cint;cy:cint;var phico: HICON ):HRESULT; stdcall; external commctrldll name 'LoadIconMetric'; - -{$endif} - -{$ifdef win32xp} - -function DrawShadowText(hdc:HDC;pszText:LPCWSTR;cch:UINT;prc:PRECT;dwFlags:DWORD;crText:COLORREF;crShadow:COLORREF;ixOffset:cint;iyOffset:cint):cint; stdcall; external commctrldll name 'DrawShadowText'; -{$ENDIF} - -// ===================== Task Dialog ========================= - -Type - PFTASKDIALOGCALLBACK = function(hwnd: HWND; msg: UINT; wParam: WPARAM; lParam: LPARAM; lpRefData: LONG_PTR): HRESULT; stdcall; - - // _TASKDIALOG_FLAGS enum -const - TDF_ENABLE_HYPERLINKS = $0001; - TDF_USE_HICON_MAIN = $0002; - TDF_USE_HICON_FOOTER = $0004; - TDF_ALLOW_DIALOG_CANCELLATION = $0008; - TDF_USE_COMMAND_LINKS = $0010; - TDF_USE_COMMAND_LINKS_NO_ICON = $0020; - TDF_EXPAND_FOOTER_AREA = $0040; - TDF_EXPANDED_BY_DEFAULT = $0080; - TDF_VERIFICATION_FLAG_CHECKED = $0100; - TDF_SHOW_PROGRESS_BAR = $0200; - TDF_SHOW_MARQUEE_PROGRESS_BAR = $0400; - TDF_CALLBACK_TIMER = $0800; - TDF_POSITION_RELATIVE_TO_WINDOW = $1000; - TDF_RTL_LAYOUT = $2000; - TDF_NO_DEFAULT_RADIO_BUTTON = $4000; - TDF_CAN_BE_MINIMIZED = $8000; - -type - TASKDIALOG_FLAGS = Integer; // Note: _TASKDIALOG_FLAGS is an int - - // _TASKDIALOG_MESSAGES enum -const - TDM_NAVIGATE_PAGE = WM_USER+101; - TDM_CLICK_BUTTON = WM_USER+102; // wParam = Button ID - TDM_SET_MARQUEE_PROGRESS_BAR = WM_USER+103; // wParam = 0 (nonMarque) wParam != 0 (Marquee) - TDM_SET_PROGRESS_BAR_STATE = WM_USER+104; // wParam = new progress state - TDM_SET_PROGRESS_BAR_RANGE = WM_USER+105; // lParam = MAKELPARAM(nMinRange, nMaxRange) - TDM_SET_PROGRESS_BAR_POS = WM_USER+106; // wParam = new position - TDM_SET_PROGRESS_BAR_MARQUEE = WM_USER+107; // wParam = 0 (stop marquee), wParam != 0 (start marquee), lparam = speed (milliseconds between repaints) - TDM_SET_ELEMENT_TEXT = WM_USER+108; // wParam = element (TASKDIALOG_ELEMENTS), lParam = new element text (LPCWSTR) - TDM_CLICK_RADIO_BUTTON = WM_USER+110; // wParam = Radio Button ID - TDM_ENABLE_BUTTON = WM_USER+111; // lParam = 0 (disable), lParam != 0 (enable), wParam = Button ID - TDM_ENABLE_RADIO_BUTTON = WM_USER+112; // lParam = 0 (disable), lParam != 0 (enable), wParam = Radio Button ID - TDM_CLICK_VERIFICATION = WM_USER+113; // wParam = 0 (unchecked), 1 (checked), lParam = 1 (set key focus) - TDM_UPDATE_ELEMENT_TEXT = WM_USER+114; // wParam = element (TASKDIALOG_ELEMENTS), lParam = new element text (LPCWSTR) - TDM_SET_BUTTON_ELEVATION_REQUIRED_STATE = WM_USER+115; // wParam = Button ID, lParam = 0 (elevation not required), lParam != 0 (elevation required) - TDM_UPDATE_ICON = WM_USER+116; // wParam = icon element (TASKDIALOG_ICON_ELEMENTS), lParam = new icon (hIcon if TDF_USE_HICON_* was set, PCWSTR otherwise) - - // _TASKDIALOG_NOTIFICATIONS enum -const - TDN_CREATED = 0; - TDN_NAVIGATED = 1; - TDN_BUTTON_CLICKED = 2; // wParam = Button ID - TDN_HYPERLINK_CLICKED = 3; // lParam = (LPCWSTR)pszHREF - TDN_TIMER = 4; // wParam = Milliseconds since dialog created or timer reset - TDN_DESTROYED = 5; - TDN_RADIO_BUTTON_CLICKED = 6; // wParam = Radio Button ID - TDN_DIALOG_CONSTRUCTED = 7; - TDN_VERIFICATION_CLICKED = 8; // wParam = 1 if checkbox checked, 0 if not, lParam is unused and always 0 - TDN_HELP = 9; - TDN_EXPANDO_BUTTON_CLICKED = 10; // wParam = 0 (dialog is now collapsed), wParam != 0 (dialog is now expanded) - -type - _TASKDIALOG_BUTTON = packed record - nButtonID: Integer; - pszButtonText: PCWSTR; - end; - TASKDIALOG_BUTTON = _TASKDIALOG_BUTTON; - TTASKDIALOG_BUTTON = TASKDIALOG_BUTTON; - PTASKDIALOG_BUTTON = ^TASKDIALOG_BUTTON; - - // _TASKDIALOG_ELEMENTS enum -const - TDE_CONTENT = 0; - TDE_EXPANDED_INFORMATION = 1; - TDE_FOOTER = 2; - TDE_MAIN_INSTRUCTION = 3; - - // _TASKDIALOG_ICON_ELEMENTS enum - TDIE_ICON_MAIN = 0; - TDIE_ICON_FOOTER = 1; - - TD_WARNING_ICON = MAKEINTRESOURCEW(Word(-1)); - TD_ERROR_ICON = MAKEINTRESOURCEW(Word(-2)); - TD_INFORMATION_ICON = MAKEINTRESOURCEW(Word(-3)); - TD_SHIELD_ICON = MAKEINTRESOURCEW(Word(-4)); - TD_SHIELD_GRADIENT_ICON = MAKEINTRESOURCEW(Word(-5)); - TD_SHIELD_WARNING_ICON = MAKEINTRESOURCEW(Word(-6)); - TD_SHIELD_ERROR_ICON = MAKEINTRESOURCEW(Word(-7)); - TD_SHIELD_OK_ICON = MAKEINTRESOURCEW(Word(-8)); - TD_SHIELD_GRAY_ICON = MAKEINTRESOURCEW(Word(-9)); - - // _TASKDIALOG_COMMON_BUTTON_FLAGS enum - TDCBF_OK_BUTTON = $0001; // selected control return value IDOK - TDCBF_YES_BUTTON = $0002; // selected control return value IDYES - TDCBF_NO_BUTTON = $0004; // selected control return value IDNO - TDCBF_CANCEL_BUTTON = $0008; // selected control return value IDCANCEL - TDCBF_RETRY_BUTTON = $0010; // selected control return value IDRETRY - TDCBF_CLOSE_BUTTON = $0020; // selected control return value IDCLOSE - -type - TASKDIALOG_COMMON_BUTTON_FLAGS = Integer; // Note: _TASKDIALOG_COMMON_BUTTON_FLAGS is an int - - _TASKDIALOGCONFIG = packed record - cbSize: UINT; - hwndParent: HWND; - hInstance: HINST; // used for MAKEINTRESOURCE() strings - dwFlags: TASKDIALOG_FLAGS; // TASKDIALOG_FLAGS (TDF_XXX) flags - dwCommonButtons: TASKDIALOG_COMMON_BUTTON_FLAGS; // TASKDIALOG_COMMON_BUTTON (TDCBF_XXX) flags - pszWindowTitle: PCWSTR; // string or MAKEINTRESOURCE() - case PtrInt of - 0: (hMainIcon: HICON); - 1: ( - pszMainIcon: PCWSTR; - pszMainInstruction: PCWSTR; - pszContent: PCWSTR; - cButtons: UINT; - pButtons: PTASKDIALOG_BUTTON; - nDefaultButton: Integer; - cRadioButtons: UINT; - pRadioButtons: PTASKDIALOG_BUTTON; - nDefaultRadioButton: Integer; - pszVerificationText: PCWSTR; - pszExpandedInformation: PCWSTR; - pszExpandedControlText: PCWSTR; - pszCollapsedControlText: PCWSTR; - case PtrInt of - 0: (hFooterIcon: HICON); - 1: ( - pszFooterIcon: PCWSTR; - pszFooter: PCWSTR; - pfCallback: PFTASKDIALOGCALLBACK; - lpCallbackData: LONG_PTR; - cxWidth: UINT; // width of the Task Dialog's client area in DLU's. If 0, Task Dialog will calculate the ideal width. - ); - ); - end; - TASKDIALOGCONFIG = _TASKDIALOGCONFIG; - PTASKDIALOGCONFIG = ^TASKDIALOGCONFIG; - TTASKDIALOGCONFIG = TASKDIALOGCONFIG; - -var - TaskDialogIndirect: function(const pTaskConfig: PTASKDIALOGCONFIG; pnButton: PInteger; pnRadioButton: PInteger; pfVerificationFlagChecked: PBOOL): HRESULT; stdcall; - TaskDialog: function(hwndParent: HWND; hInstance: HINST; pszWindowTitle: PCWSTR; pszMainInstruction: PCWSTR; pszContent: PCWSTR; - dwCommonButtons: TASKDIALOG_COMMON_BUTTON_FLAGS; pszIcon: PCWSTR; pnButton: PInteger): HRESULT; stdcall; - - -// ==================== End TaskDialog ======================= - - -IMPLEMENTATION - -// Macro 8 - -//#define HANDLE_WM_NOTIFY(hwnd, wParam, lParam, fn) \ -// (fn)((hwnd), (int)(wParam), (NMHDR *)(lParam)) - -Procedure HANDLE_WM_NOTIFY( hwnd : hwnd; wParam : cint;var _lParam : NMHDR ;fn:Pointer); - -TYPE FnType=procedure ( hwnd : hwnd; wParam : cint;tst:LPARAM); stdcall; - -Begin - fnType(fn)(hwnd, wParam, LPARAM(@_lParam)); -end; - -// Macro 9 - -//#define FORWARD_WM_NOTIFY(hwnd, idFrom, pnmhdr, fn) \ -// (LRESULT)(fn)((hwnd), WM_NOTIFY, (WPARAM)(int)(idFrom), (LPARAM)(NMHDR *)(pnmhdr)) - -Function FORWARD_WM_NOTIFY( hwnd : hwnd; idFrom : cint;var pnmhdr : NMHDR ; fn : pointer ):LRESULT; - -TYPE FnType=Function( hwnd : hwnd; wParam : cint;wparam2:cint;lparam1:lparam):LResult; stdcall; - -Begin - Result:=LRESULT(fntype(fn)(hwnd, WM_NOTIFY, idFrom, LPARAM(@pnmhdr))); -end; - -// Macro 10 -// #define CCSIZEOF_STRUCT(structname, member) (((int)((LPBYTE)(&((structname*)0)->member) - ((LPBYTE)((structname*)0)))) + sizeof(((structname*)0)->member)) - - -// Macro 11 -// #define ImageList_AddIcon(himl, hicon) ImageList_ReplaceIcon(himl, -1, hicon) - -Function ImageList_AddIcon(Himl:HIMAGELIST;hicon:HICON):cint; -Begin - Result:=ImageList_ReplaceIcon(himl,-1,hicon); -end; - - -// Macro 12 -// #define INDEXTOOVERLAYMASK(i) ((i) << 8) - -// Macro 13 -// #define ImageList_RemoveAll(himl) ImageList_Remove(himl, -1) - -Procedure ImageList_RemoveAll(himl:HIMAGELIST); -Begin - ImageList_Remove(himl, -1) -End; - -// Macro 14 -// #define ImageList_ExtractIcon(hi, himl, i) ImageList_GetIcon(himl, i, 0) - -function ImageList_ExtractIcon(hi:longint; himl:HIMAGELIST;i:longint):HICON; - -Begin - result:=ImageList_GetIcon(himl, i,0); -end; - - -// Macro 15 -// #define ImageList_LoadBitmap(hi, lpbmp, cx, cGrow, crMask) -// ImageList_LoadImage(hi, lpbmp, cx, cGrow, crMask, IMAGE_BITMAP, 0) - -Procedure ImageList_LoadBitmap(hi:HINST;bmp:LPCTSTR;cx:cint;cGrow:cint;crMask:COLORREF); - -Begin - ImageList_LoadImage(hi, bmp, cx, cGrow, crMask, IMAGE_BITMAP, 0); -End; - -// Macro 16 -// #define Header_GetItemCount(hwndHD) \ -// (int)SNDMSG((hwndHD), HDM_GETITEMCOUNT, 0, DWord(0)) - -Function Header_GetItemCount( hwndHD : hwnd):cint; - -Begin - Result:=cint(SendMessage((hwndHD), HDM_GETITEMCOUNT, 0, LPARAM(0))) -end; - - -// Macro 17 -//#define Header_InsertItem(hwndHD, i, phdi) \ -// (int)SNDMSG((hwndHD), HDM_INSERTITEM, (WPARAM)(int)(i), (LPARAM)(const HD_ITEM *)(phdi)) - -Function Header_InsertItem( hwndHD : hwnd; i : cint;const phdi : HD_ITEM ):cint; - -Begin - Result:=cint(SendMessage((hwndHD), HDM_INSERTITEM, (i), LPARAM(@phdi))); -end; - -// Macro 18 -//#define Header_DeleteItem(hwndHD, i) \ -// (BOOL)SNDMSG((hwndHD), HDM_DELETEITEM, (WPARAM)(int)(i), LPARAM(0)) - -Function Header_DeleteItem( hwndHD : hwnd; i : cint):BOOL; - -Begin - Result:=BOOL(SendMessage((hwndHD), HDM_DELETEITEM, (i), LPARAM(0))); -end; - - -// Macro 19 -// #define Header_GetItem(hwndHD, i, phdi) \ -// (BOOL)SNDMSG((hwndHD), HDM_GETITEM, (WPARAM)(int)(i), (LPARAM)(HD_ITEM *)(phdi)) - -Function Header_GetItem( hwndHD : hwnd; i : cint;var phdi : HD_ITEM ):BOOL; - -Begin - Result:=BOOL(SendMessage((hwndHD), HDM_GETITEM, (i), LPARAM(@phdi))); -end; - - -// Macro 20 -// #define Header_SetItem(hwndHD, i, phdi) \ -// (BOOL)SNDMSG((hwndHD), HDM_SETITEM, (WPARAM)(int)(i), (LPARAM)(const HD_ITEM *)(phdi)) - -Function Header_SetItem( hwndHD : hwnd; i : cint;const phdi : HD_ITEM ):BOOL; - -Begin - Result:=BOOL(SendMessage((hwndHD), HDM_SETITEM, (i), LPARAM(@phdi))); -end; - - -// Macro 21 -// #define Header_Layout(hwndHD, playout) \ -// (BOOL)SNDMSG((hwndHD), HDM_LAYOUT, 0, (LPARAM)(HD_LAYOUT *)(playout)) - -Function Header_Layout( hwndHD : hwnd;var playout : HD_LAYOUT ):BOOL; - -Begin - Result:=BOOL(SendMessage((hwndHD), HDM_LAYOUT, 0, LPARAM(@playout))) -end; - - -// Macro 22 -// #define Header_GetItemRect(hwnd, iItem, lprc) \ -// (BOOL)SNDMSG((hwnd), HDM_GETITEMRECT, (WPARAM)(iItem), (LPARAM)(lprc)) - -Function Header_GetItemRect( hwnd : hwnd; iItem : WPARAM; lprc : LPARAM):BOOL; - -Begin - Result:=BOOL(SendMessage((hwnd), HDM_GETITEMRECT, iItem, lprc)); -end; - - -// Macro 23 -// #define Header_SetImageList(hwnd, himl) \ -// (HIMAGELIST)SNDMSG((hwnd), HDM_SETIMAGELIST, 0, (LPARAM)(himl)) - -Function Header_SetImageList( hwnd : hwnd; himl : LPARAM):HIMAGELIST; - -Begin - Result:=HIMAGELIST(SendMessage((hwnd), HDM_SETIMAGELIST, 0, himl)) -end; - - -// Macro 24 -// #define Header_GetImageList(hwnd) \ -// (HIMAGELIST)SNDMSG((hwnd), HDM_GETIMAGELIST, 0, 0) - -Function Header_GetImageList( hwnd : hwnd):HIMAGELIST; - -Begin - Result:=HIMAGELIST(SendMessage((hwnd), HDM_GETIMAGELIST, 0, 0)) -end; - - -// Macro 25 -// #define Header_OrderToIndex(hwnd, i) \ -// (int)SNDMSG((hwnd), HDM_ORDERTOINDEX, (WPARAM)(i), 0) - -Function Header_OrderToIndex( hwnd : hwnd; i : WPARAM):cint; - -Begin - Result:=cint(SendMessage((hwnd), HDM_ORDERTOINDEX, (i), 0)) -end; - - -// Macro 26 -// #define Header_CreateDragImage(hwnd, i) \ -// (HIMAGELIST)SNDMSG((hwnd), HDM_CREATEDRAGIMAGE, (WPARAM)(i), 0) - -Function Header_CreateDragImage( hwnd : hwnd; i : WPARAM):HIMAGELIST; - -Begin - Result:=HIMAGELIST(SendMessage((hwnd), HDM_CREATEDRAGIMAGE, (i), 0)) -end; - - -// Macro 27 -// #define Header_GetOrderArray(hwnd, iCount, lpi) \ -// (BOOL)SNDMSG((hwnd), HDM_GETORDERARRAY, (WPARAM)(iCount), (LPARAM)(lpi)) - -Function Header_GetOrderArray( hwnd : hwnd; iCount : WPARAM; lpi : LPARAM):BOOL; - -Begin - Result:=BOOL(SendMessage((hwnd), HDM_GETORDERARRAY, iCount, lpi)) -end; - - -// Macro 28 -// #define Header_SetOrderArray(hwnd, iCount, lpi) \ -// (BOOL)SNDMSG((hwnd), HDM_SETORDERARRAY, (WPARAM)(iCount), (LPARAM)(lpi)) - -Function Header_SetOrderArray( hwnd : hwnd; iCount : WPARAM; lpi : PInteger):BOOL;inline; - -Begin - Result:=BOOL(SendMessage((hwnd), HDM_SETORDERARRAY, iCount, LPARAM(lpi))) -end; - - -// Macro 29 -// #define Header_SetHotDivider(hwnd, fPos, dw) \ -// (int)SNDMSG((hwnd), HDM_SETHOTDIVIDER, (WPARAM)(fPos), (LPARAM)(dw)) - -Function Header_SetHotDivider( hwnd : hwnd; fPos : WPARAM; dw : LPARAM):cint; - -Begin - Result:=cint(SendMessage((hwnd), HDM_SETHOTDIVIDER, fPos, dw)) -end; - - -{$ifdef ie5plus} -// Macro 30 -// #define Header_SetBitmapMargin(hwnd, iWidth) \ -// (int)SNDMSG((hwnd), HDM_SETBITMAPMARGIN, (WPARAM)(iWidth), 0) - -Function Header_SetBitmapMargin( hwnd : hwnd; iWidth : WPARAM):cint; - -Begin - Result:=cint(SendMessage((hwnd), HDM_SETBITMAPMARGIN, iWidth, 0)) -end; - - -// Macro 31 -// #define Header_GetBitmapMargin(hwnd) \ -// (int)SNDMSG((hwnd), HDM_GETBITMAPMARGIN, 0, 0) - -Function Header_GetBitmapMargin( hwnd : hwnd):cint; - -Begin - Result:=cint(SendMessage((hwnd), HDM_GETBITMAPMARGIN, 0, 0)) -end; - -{$ENDIF} - -// Macro 32 -// #define Header_SetUnicodeFormat(hwnd, fUnicode) \ -// (BOOL)SNDMSG((hwnd), HDM_SETUNICODEFORMAT, (WPARAM)(fUnicode), 0) - -Function Header_SetUnicodeFormat( hwnd : hwnd; fUnicode : WPARAM):BOOL; - -Begin - Result:=BOOL(SendMessage((hwnd), HDM_SETUNICODEFORMAT, fUnicode, 0)); -end; - - -// Macro 33 -// #define Header_GetUnicodeFormat(hwnd) \ -// (BOOL)SNDMSG((hwnd), HDM_GETUNICODEFORMAT, 0, 0) - -Function Header_GetUnicodeFormat( hwnd : hwnd):BOOL; - -Begin - Result:=BOOL(SendMessage((hwnd), HDM_GETUNICODEFORMAT, 0, 0)) -end; - - -{$ifdef IE5plus} -// Macro 34 -// #define Header_SetFilterChangeTimeout(hwnd, i) \ -// (int)SNDMSG((hwnd), HDM_SETFILTERCHANGETIMEOUT, 0, (LPARAM)(i)) - -Function Header_SetFilterChangeTimeout( hwnd : hwnd; i : LPARAM):cint; - -Begin - Result:=cint(SendMessage((hwnd), HDM_SETFILTERCHANGETIMEOUT, 0, (i))) -end; - - -// Macro 35 -// #define Header_EditFilter(hwnd, i, fDiscardChanges) \ -// (int)SNDMSG((hwnd), HDM_EDITFILTER, (WPARAM)(i), MAKELPARAM(fDiscardChanges, 0)) - -Function Header_EditFilter( hwnd : hwnd; i : WPARAM; fDiscardChanges :cint ):cint; - -Begin - Result:=cint(SendMessage((hwnd), HDM_EDITFILTER, (i), MAKELPARAM(fDiscardChanges, 0))); -end; - - -// Macro 36 -// #define Header_ClearFilter(hwnd, i) \ -// (int)SNDMSG((hwnd), HDM_CLEARFILTER, (WPARAM)(i), 0) - -Function Header_ClearFilter( hwnd : hwnd; i : WPARAM):cint; - -Begin - Result:=cint(SendMessage((hwnd), HDM_CLEARFILTER, (i), 0)) -end; - - -// Macro 37 -// #define Header_ClearAllFilters(hwnd) \ -// (int)SNDMSG((hwnd), HDM_CLEARFILTER, (WPARAM)-1, 0) - -Function Header_ClearAllFilters( hwnd : hwnd):cint; - -Begin - Result:=cint(SendMessage((hwnd), HDM_CLEARFILTER, WPARAM(-1), 0)) -end; -{$endif} -{$ifdef win32vista} -// macro 37a ..37d -function Header_GetOverflowRect( hwnd : hwnd; lprc:lprect):bool; -begin - result:=bool(sendmessage(hwnd, HDM_GETOVERFLOWRECT, 0, LPARAM(lprc))); -end; - -function Header_GetFocusedItem(hwnd : hwnd):cint; -begin - Result:=cint(SendMessage((hwnd), HDM_GETFOCUSEDITEM, WPARAM(0), LPARAM(0))); -end; - -function Header_SetFocusedItem(hwnd:hwnd; iItem:cint):BOOL; -begin - result:=bool(sendmessage(hwnd, HDM_SETFOCUSEDITEM, WPARAM(0),LPARAM(iItem))); -end; -function Header_GetItemDropDownRect(hwnd : hwnd;iItem:cint; lprc:lprect):bool; -begin - result:=bool(sendmessage(hwnd, HDM_GETITEMDROPDOWNRECT, WPARAM(iItem), LPARAM(lprc))); -end; -{$endif} - -// Macro 38 -// #define ListView_SetUnicodeFormat(hwnd, fUnicode) \ -// (BOOL)SNDMSG((hwnd), LVM_SETUNICODEFORMAT, (WPARAM)(fUnicode), 0) - -Function ListView_SetUnicodeFormat( hwnd : hwnd; fUnicode : WPARAM):BOOL; - -Begin - Result:=BOOL(SendMessage((hwnd), LVM_SETUNICODEFORMAT, fUnicode, 0)); -end; - - -// Macro 39 -// #define ListView_GetUnicodeFormat(hwnd) \ -// (BOOL)SNDMSG((hwnd), LVM_GETUNICODEFORMAT, 0, 0) - -Function ListView_GetUnicodeFormat( hwnd : hwnd):BOOL; - -Begin - Result:=BOOL(SendMessage((hwnd), LVM_GETUNICODEFORMAT, 0, 0)) -end; - - -// Macro 40 -// #define ListView_GetBkColor(hwnd) \ -// (COLORREF)SNDMSG((hwnd), LVM_GETBKCOLOR, 0, LPARAM(0)) - -Function ListView_GetBkColor( hwnd : hwnd):COLORREF; - -Begin - Result:=COLORREF(SendMessage((hwnd), LVM_GETBKCOLOR, 0, LPARAM(0))) -end; - - -// Macro 41 -// #define ListView_SetBkColor(hwnd, clrBk) \ -// (BOOL)SNDMSG((hwnd), LVM_SETBKCOLOR, 0, (LPARAM)(COLORREF)(clrBk)) - -Function ListView_SetBkColor( hwnd : hwnd; clrBk : COLORREF):BOOL; - -Begin - Result:=BOOL(SendMessage((hwnd), LVM_SETBKCOLOR, 0, clrBk)) -end; - - -// Macro 42 -// #define ListView_GetImageList(hwnd, iImageList) \ -// (HIMAGELIST)SNDMSG((hwnd), LVM_GETIMAGELIST, (WPARAM)(INT)(iImageList), DWord(0)) - -Function ListView_GetImageList( hwnd : hwnd; iImageList : CINT):HIMAGELIST; - -Begin - Result:=HIMAGELIST(SendMessage((hwnd), LVM_GETIMAGELIST, iImageList, LPARAM(0))) -end; - - -// Macro 43 -// #define ListView_SetImageList(hwnd, himl, iImageList) \ -// (HIMAGELIST)SNDMSG((hwnd), LVM_SETIMAGELIST, (WPARAM)(iImageList), (LPARAM)(HIMAGELIST)(himl)) - -Function ListView_SetImageList( hwnd : hwnd; himl : HIMAGELIST; iImageList : WPARAM):HIMAGELIST; - -Begin - Result:=HIMAGELIST(SendMessage((hwnd), LVM_SETIMAGELIST, iImageList, himl)) -end; - - -// Macro 44 -// #define ListView_GetItemCount(hwnd) \ -// (int)SNDMSG((hwnd), LVM_GETITEMCOUNT, 0, DWord(0)) - -Function ListView_GetItemCount( hwnd : hwnd):cint; - -Begin - Result:=cint(SendMessage((hwnd), LVM_GETITEMCOUNT, 0, LPARAM(0))) -end; - - -// Macro 45 -// #define INDEXTOSTATEIMAGEMASK(i) ((i) << 12) - -// Macro 46 -// #define ListView_GetItem(hwnd, pitem) \ -// (BOOL)SNDMSG((hwnd), LVM_GETITEM, 0, (LPARAM)(LV_ITEM *)(pitem)) - -Function ListView_GetItem( hwnd : hwnd;var pitem : LV_ITEM ):BOOL; - -Begin - Result:=BOOL(SendMessage((hwnd), LVM_GETITEM, 0, LPARAM(@pitem))) -end; - - -// Macro 47 -// #define ListView_SetItem(hwnd, pitem) \ -// (BOOL)SNDMSG((hwnd), LVM_SETITEM, 0, (LPARAM)(const LV_ITEM *)(pitem)) - -Function ListView_SetItem( hwnd : hwnd;const pitem : LV_ITEM ):BOOL; - -Begin - Result:=BOOL(SendMessage((hwnd), LVM_SETITEM, 0, LPARAM(@pitem))) -end; - - -// Macro 48 -// #define ListView_InsertItem(hwnd, pitem) \ -// (int)SNDMSG((hwnd), LVM_INSERTITEM, 0, (LPARAM)(const LV_ITEM *)(pitem)) - -Function ListView_InsertItem( hwnd : hwnd;Const pitem : LV_ITEM ):cint; - -Begin - Result:=cint(SendMessage((hwnd), LVM_INSERTITEM, 0, LPARAM(@pitem))) -end; - - -// Macro 49 -// #define ListView_DeleteItem(hwnd, i) \ -// (BOOL)SNDMSG((hwnd), LVM_DELETEITEM, (WPARAM)(int)(i), DWord(0)) - -Function ListView_DeleteItem( hwnd : hwnd; i : cint):BOOL; - -Begin - Result:=BOOL(SendMessage((hwnd), LVM_DELETEITEM, (i), LPARAM(0))) -end; - - -// Macro 50 -// #define ListView_DeleteAllItems(hwnd) \ -// (BOOL)SNDMSG((hwnd), LVM_DELETEALLITEMS, 0, DWord(0)) - -Function ListView_DeleteAllItems( hwnd : hwnd):BOOL; - -Begin - Result:=BOOL(SendMessage((hwnd), LVM_DELETEALLITEMS, 0, LPARAM(0))) -end; - - -// Macro 51 -// #define ListView_GetCallbackMask(hwnd) \ -// (BOOL)SNDMSG((hwnd), LVM_GETCALLBACKMASK, 0, 0) - -Function ListView_GetCallbackMask( hwnd : hwnd):BOOL; - -Begin - Result:=BOOL(SendMessage((hwnd), LVM_GETCALLBACKMASK, 0, 0)) -end; - - -// Macro 52 -// #define ListView_SetCallbackMask(hwnd, mask) \ -// (BOOL)SNDMSG((hwnd), LVM_SETCALLBACKMASK, (WPARAM)(UINT)(mask), 0) - -Function ListView_SetCallbackMask( hwnd : hwnd; mask : UINT):BOOL; - -Begin - Result:=BOOL(SendMessage((hwnd), LVM_SETCALLBACKMASK, mask, 0)) -end; - - -// Macro 53 -// #define ListView_GetNextItem(hwnd, i, flags) \ -// (int)SNDMSG((hwnd), LVM_GETNEXTITEM, (WPARAM)(int)(i), MAKELPARAM((flags), 0)) - -Function ListView_GetNextItem( hwnd : hwnd; i : cint; flags : cint):cint; - -Begin - Result:=cint(SendMessage((hwnd), LVM_GETNEXTITEM, (i), MAKELPARAM((flags), 0))) -end; - - -// Macro 54 -// #define ListView_FindItem(hwnd, iStart, plvfi) \ -// (int)SNDMSG((hwnd), LVM_FINDITEM, (WPARAM)(int)(iStart), (LPARAM)(const LV_FINDINFO *)(plvfi)) - -Function ListView_FindItem( hwnd : hwnd; iStart : cint;const plvfi : LV_FINDINFO ):cint; - -Begin - Result:=cint(SendMessage((hwnd), LVM_FINDITEM, iStart, LPARAM(@plvfi))) -end; - - -// Macro 55 -// #define ListView_GetItemRect(hwnd, i, prc, code) \ -// (BOOL)SNDMSG((hwnd), LVM_GETITEMRECT, (WPARAM)(int)(i), \ -// ((prc) ? (((RECT *)(prc))->left = (code),(LPARAM)(RECT *)(prc)) : (LPARAM)(RECT *)NULL)) - -Function ListView_GetItemRect( hwnd : hwnd; i : cint;var prc : TRect;code : cint):BOOL; -begin - if assigned(@prc) then - begin - prc.left:=Code; - Result:=BOOL(SendMessage(hWnd,LVM_GETITEMRECT,i,LPARAM(@prc))); - end - else - Result:=BOOL(SendMessage(hWnd,LVM_GETITEMRECT,i,0)); -end; - - -// Macro 56 -// #define ListView_SetItemPosition(hwndLV, i, x, y) \ -// (BOOL)SNDMSG((hwndLV), LVM_SETITEMPOSITION, (WPARAM)(int)(i), MAKELPARAM((x), (y))) - -Function ListView_SetItemPosition( hwndLV : hwnd; i : cint; x : cint ; y : cint ):BOOL; - -Begin - Result:=BOOL(SendMessage((hwndLV), LVM_SETITEMPOSITION, (i), MAKELPARAM((x), (y)))) -end; - - -// Macro 57 -// #define ListView_GetItemPosition(hwndLV, i, ppt) \ -// (BOOL)SNDMSG((hwndLV), LVM_GETITEMPOSITION, (WPARAM)(int)(i), (LPARAM)(POINT *)(ppt)) - -Function ListView_GetItemPosition( hwndLV : hwnd; i : cint;var ppt : POINT ):BOOL; - -Begin - Result:=BOOL(SendMessage((hwndLV), LVM_GETITEMPOSITION, (i), LPAram(@ppt))) -end; - -// Macro 58 -// #define ListView_GetStringWidth(hwndLV, psz) \ -// (int)SNDMSG((hwndLV), LVM_GETSTRINGWIDTH, 0, (LPARAM)(LPCTSTR)(psz)) - -Function ListView_GetStringWidth( hwndLV : hwnd; psz : LPCTSTR):cint; - -Begin - Result:=cint(SendMessage((hwndLV), LVM_GETSTRINGWIDTH, 0, LPARAM(psz))) -end; - - -// Macro 59 -// #define ListView_HitTest(hwndLV, pinfo) \ -// (int)SNDMSG((hwndLV), LVM_HITTEST, 0, (LPARAM)(LV_HITTESTINFO *)(pinfo)) - -Function ListView_HitTest( hwndLV : hwnd;var pinfo : LV_HITTESTINFO ):cint; - -Begin - Result:=cint(SendMessage((hwndLV), LVM_HITTEST, 0, LParam(@pinfo))) -end; - - -// Macro 60 -// #define ListView_EnsureVisible(hwndLV, i, fPartialOK) \ -// (BOOL)SNDMSG((hwndLV), LVM_ENSUREVISIBLE, (WPARAM)(int)(i), MAKELPARAM((fPartialOK), 0)) - -Function ListView_EnsureVisible( hwndLV : hwnd; i : cint; fPartialOK : cint ):BOOL;inline; - -Begin - Result:=BOOL(SendMessage((hwndLV), LVM_ENSUREVISIBLE, (i), MAKELPARAM((fPartialOK), 0))) -end; - - -Function ListView_EnsureVisible( hwndLV : hwnd; i : cint; fPartialOK : BOOL ):BOOL;inline; - -Begin - Result:=BOOL(SendMessage((hwndLV), LVM_ENSUREVISIBLE, (i), LPARAM(fPartialOK))) -end; - - -// Macro 61 -// #define ListView_Scroll(hwndLV, dx, dy) \ -// (BOOL)SNDMSG((hwndLV), LVM_SCROLL, (WPARAM)(int)(dx), (LPARAM)(int)(dy)) - -Function ListView_Scroll( hwndLV : hwnd; dx : cint; dy : cint):BOOL; - -Begin - Result:=BOOL(SendMessage((hwndLV), LVM_SCROLL, dx, dy)) -end; - - -// Macro 62 -// #define ListView_RedrawItems(hwndLV, iFirst, iLast) \ -// (BOOL)SNDMSG((hwndLV), LVM_REDRAWITEMS, (WPARAM)(int)(iFirst), (LPARAM)(int)(iLast)) - -Function ListView_RedrawItems( hwndLV : hwnd; iFirst : cint; iLast : cint):BOOL; - -Begin - Result:=BOOL(SendMessage((hwndLV), LVM_REDRAWITEMS, iFirst, iLast)) -end; - - -// Macro 63 -// #define ListView_Arrange(hwndLV, code) \ -// (BOOL)SNDMSG((hwndLV), LVM_ARRANGE, (WPARAM)(UINT)(code), DWord(0)) - -Function ListView_Arrange( hwndLV : hwnd; code : UINT):BOOL; - -Begin - Result:=BOOL(SendMessage((hwndLV), LVM_ARRANGE, code, LPARAM(0))) -end; - - -// Macro 64 -// #define ListView_EditLabel(hwndLV, i) \ -// (HWND)SNDMSG((hwndLV), LVM_EDITLABEL, (WPARAM)(int)(i), DWord(0)) - -Function ListView_EditLabel( hwndLV : hwnd; i : cint):HWND; - -Begin - Result:=HWND(SendMessage((hwndLV), LVM_EDITLABEL, (i), LPARAM(0))) -end; - - -// Macro 65 -// #define ListView_GetEditControl(hwndLV) \ -// (HWND)SNDMSG((hwndLV), LVM_GETEDITCONTROL, 0, DWord(0)) - -Function ListView_GetEditControl( hwndLV : hwnd):HWND; - -Begin - Result:=HWND(SendMessage((hwndLV), LVM_GETEDITCONTROL, 0, LPARAM(0))) -end; - - -// Macro 66 -// #define ListView_GetColumn(hwnd, iCol, pcol) \ -// (BOOL)SNDMSG((hwnd), LVM_GETCOLUMN, (WPARAM)(int)(iCol), (LPARAM)(LV_COLUMN *)(pcol)) - -Function ListView_GetColumn( hwnd : hwnd; iCol : cint;var pcol : LV_COLUMN ):BOOL; - -Begin - Result:=BOOL(SendMessage((hwnd), LVM_GETCOLUMN, iCol, LPARAM(@pcol))) -end; - - -// Macro 67 -// #define ListView_SetColumn(hwnd, iCol, pcol) \ -// (BOOL)SNDMSG((hwnd), LVM_SETCOLUMN, (WPARAM)(int)(iCol), (LPARAM)(const LV_COLUMN *)(pcol)) - -Function ListView_SetColumn( hwnd : hwnd; iCol : cint; Const pcol : LV_COLUMN ):BOOL; - -Begin - Result:=BOOL(SendMessage((hwnd), LVM_SETCOLUMN, iCol, LPARAM(@pcol))) -end; - - -// Macro 68 -// #define ListView_InsertColumn(hwnd, iCol, pcol) \ -// (int)SNDMSG((hwnd), LVM_INSERTCOLUMN, (WPARAM)(int)(iCol), (LPARAM)(const LV_COLUMN *)(pcol)) - -Function ListView_InsertColumn( hwnd : hwnd; iCol : cint;const pcol : LV_COLUMN ):cint; - -Begin - Result:=cint(SendMessage((hwnd), LVM_INSERTCOLUMN, iCol, LPARAM(@pcol))) -end; - - -// Macro 69 -// #define ListView_DeleteColumn(hwnd, iCol) \ -// (BOOL)SNDMSG((hwnd), LVM_DELETECOLUMN, (WPARAM)(int)(iCol), 0) - -Function ListView_DeleteColumn( hwnd : hwnd; iCol : cint):BOOL; - -Begin - Result:=BOOL(SendMessage((hwnd), LVM_DELETECOLUMN, iCol, 0)) -end; - - -// Macro 70 -// #define ListView_GetColumnWidth(hwnd, iCol) \ -// (int)SNDMSG((hwnd), LVM_GETCOLUMNWIDTH, (WPARAM)(int)(iCol), 0) - -Function ListView_GetColumnWidth( hwnd : hwnd; iCol : cint):cint; - -Begin - Result:=cint(SendMessage((hwnd), LVM_GETCOLUMNWIDTH, iCol, 0)) -end; - - -// Macro 71 -// #define ListView_SetColumnWidth(hwnd, iCol, cx) \ -// (BOOL)SNDMSG((hwnd), LVM_SETCOLUMNWIDTH, (WPARAM)(int)(iCol), MAKELPARAM((cx), 0)) - -Function ListView_SetColumnWidth( hwnd : hwnd; iCol : cint; cx :cint ):BOOL; - -Begin - Result:=BOOL(SendMessage((hwnd), LVM_SETCOLUMNWIDTH, iCol, MAKELPARAM((cx), 0))) -end; - - -// Macro 72 -// #define ListView_GetHeader(hwnd)\ -// (HWND)SNDMSG((hwnd), LVM_GETHEADER, 0, DWord(0)) - -Function ListView_GetHeader( hwnd : hwnd):HWND; - -Begin - Result:=Windows.HWND(SendMessage((hwnd), LVM_GETHEADER, 0, LPARAM(0))); -end; - - -// Macro 73 -// #define ListView_CreateDragImage(hwnd, i, lpptUpLeft) \ -// (HIMAGELIST)SNDMSG((hwnd), LVM_CREATEDRAGIMAGE, (WPARAM)(int)(i), (LPARAM)(LPPOINT)(lpptUpLeft)) - -Function ListView_CreateDragImage( hwnd : hwnd; i : cint; lpptUpLeft : LPPOINT):HIMAGELIST;inline; - -Begin - Result:=HIMAGELIST(SendMessage((hwnd), LVM_CREATEDRAGIMAGE, WPARAM(i), LPARAM(lpptUpLeft))) -end; - -Function ListView_CreateDragImage( hwnd : hwnd; i : cint; const lpptUpLeft : POINT):HIMAGELIST;inline; - -Begin - Result:=HIMAGELIST(SendMessage((hwnd), LVM_CREATEDRAGIMAGE, WPARAM(i), LPARAM(@lpptUpLeft))) -end; - - -// Macro 74 -// #define ListView_GetViewRect(hwnd, prc) \ -// (BOOL)SNDMSG((hwnd), LVM_GETVIEWRECT, 0, (LPARAM)(RECT *)(prc)) - -Function ListView_GetViewRect( hwnd : hwnd;var prc : RECT ):BOOL; - -Begin - Result:=BOOL(SendMessage((hwnd), LVM_GETVIEWRECT, 0, LPARAM(@prc))) -end; - -// Macro 75 -// #define ListView_GetTextColor(hwnd) \ -// (COLORREF)SNDMSG((hwnd), LVM_GETTEXTCOLOR, 0, DWord(0)) - -Function ListView_GetTextColor( hwnd : hwnd):COLORREF; - -Begin - Result:=COLORREF(SendMessage((hwnd), LVM_GETTEXTCOLOR, 0, LPARAM(0))) -end; - - -// Macro 76 -// #define ListView_SetTextColor(hwnd, clrText) \ -// (BOOL)SNDMSG((hwnd), LVM_SETTEXTCOLOR, 0, (LPARAM)(COLORREF)(clrText)) - -Function ListView_SetTextColor( hwnd : hwnd; clrText : COLORREF):BOOL; - -Begin - Result:=BOOL(SendMessage((hwnd), LVM_SETTEXTCOLOR, 0, clrText)) -end; - - -// Macro 77 -// #define ListView_GetTextBkColor(hwnd) \ -// (COLORREF)SNDMSG((hwnd), LVM_GETTEXTBKCOLOR, 0, DWord(0)) - -Function ListView_GetTextBkColor( hwnd : hwnd):COLORREF; - -Begin - Result:=COLORREF(SendMessage((hwnd), LVM_GETTEXTBKCOLOR, 0, LPARAM(0))) -end; - - -// Macro 78 -// #define ListView_SetTextBkColor(hwnd, clrTextBk) \ -// (BOOL)SNDMSG((hwnd), LVM_SETTEXTBKCOLOR, 0, (LPARAM)(COLORREF)(clrTextBk)) - -Function ListView_SetTextBkColor( hwnd : hwnd; clrTextBk : COLORREF):BOOL; - -Begin - Result:=BOOL(SendMessage((hwnd), LVM_SETTEXTBKCOLOR, 0, clrTextBk)) -end; - - -// Macro 79 -// #define ListView_GetTopIndex(hwndLV) \ -// (int)SNDMSG((hwndLV), LVM_GETTOPINDEX, 0, 0) - -Function ListView_GetTopIndex( hwndLV : hwnd):cint; - -Begin - Result:=cint(SendMessage((hwndLV), LVM_GETTOPINDEX, 0, 0)) -end; - - -// Macro 80 -// #define ListView_GetCountPerPage(hwndLV) \ -// (int)SNDMSG((hwndLV), LVM_GETCOUNTPERPAGE, 0, 0) - -Function ListView_GetCountPerPage( hwndLV : hwnd):cint; - -Begin - Result:=cint(SendMessage((hwndLV), LVM_GETCOUNTPERPAGE, 0, 0)) -end; - - -// Macro 81 -// -// #define ListView_GetOrigin(hwndLV, ppt) \ -// (BOOL)SNDMSG((hwndLV), LVM_GETORIGIN, (WPARAM)0, (LPARAM)(POINT *)(ppt)) - -Function ListView_GetOrigin( hwndLV : hwnd;var ppt : POINT ):BOOL; - -Begin - Result:=BOOL(SendMessage((hwndLV), LVM_GETORIGIN, WPARAM(0), LPARAM(@ppt))) -end; - - -// Macro 82 -// #define ListView_Update(hwndLV, i) \ -// (BOOL)SNDMSG((hwndLV), LVM_UPDATE, (WPARAM)(i), DWord(0)) - -Function ListView_Update( hwndLV : hwnd; i : WPARAM):BOOL; - -Begin - Result:=BOOL(SendMessage((hwndLV), LVM_UPDATE, (i), LPARAM(0))) -end; - - -// Macro 83 -// #define ListView_SetItemState(hwndLV, i, data, mask) \ -// { LV_ITEM _ms_lvi;\ -// _ms_lvi.stateMask = mask;\ -// _ms_lvi.state = data;\ -// SNDMSG((hwndLV), LVM_SETITEMSTATE, (WPARAM)(i), (LPARAM)(LV_ITEM *)&_ms_lvi);\ -// } - -Procedure ListView_SetItemState(hwndLV :hwnd; i :cint ;data,mask:UINT); - -Var _ms_lvi : LV_ITEM; - -Begin - _ms_lvi.stateMask:=mask; - _ms_lvi.state:=data; - SendMessage(hwndLV, LVM_SETITEMSTATE, i,LPARAM(@_ms_lvi)); -end; - - -// Macro 84 -// #define ListView_SetCheckState(hwndLV, i, fCheck) \ -// ListView_SetItemState(hwndLV, i, INDEXTOSTATEIMAGEMASK((fCheck)?2:1), LVIS_STATEIMAGEMASK) - -Procedure ListView_SetCheckState( hwndLV : hwnd; i : cint ; fCheck : BOOL ); - -var j:longint; -Begin - IF not fCheck Then // (or inc(longint(fCheck)) if you like it dirty) - j:=1 - Else - j:=2; -ListView_SetItemState(hwndLV, i, INDEXTOSTATEIMAGEMASK(j), LVIS_STATEIMAGEMASK); -end; - - -// Macro 85 -// #define ListView_GetItemState(hwndLV, i, mask) \ -// (UINT)SNDMSG((hwndLV), LVM_GETITEMSTATE, (WPARAM)(i), (LPARAM)(mask)) - -Function ListView_GetItemState( hwndLV : hwnd; i : WPARAM; mask : LPARAM):UINT; - -Begin - Result:=UINT(SendMessage((hwndLV), LVM_GETITEMSTATE, (i), mask)) -end; - - -// Macro 86 -// #define ListView_GetCheckState(hwndLV, i) \ -// ((((UINT)(SNDMSG((hwndLV), LVM_GETITEMSTATE, (WPARAM)(i), LVIS_STATEIMAGEMASK))) >> 12) -1) - -Function ListView_GetCheckState( hwndLV : hwnd; i : WPARAM):UINT; - -Begin - Result:=(SendMessage((hwndLV), LVM_GETITEMSTATE, (i), LVIS_STATEIMAGEMASK) shl 12) -1; -end; - - -// Macro 87 -// #define ListView_GetItemText(hwndLV, i, iSubItem_, pszText_, cchTextMax_) \ -// { LV_ITEM _ms_lvi;\ -// _ms_lvi.iSubItem = iSubItem_;\ -// _ms_lvi.cchTextMax = cchTextMax_;\ -// _ms_lvi.pszText = pszText_;\ -// SNDMSG((hwndLV), LVM_GETITEMTEXT, (WPARAM)(i), (LPARAM)(LV_ITEM *)&_ms_lvi);\ -// } - -Procedure ListView_GetItemText(hwndLV:hwnd; i : WPARAM ;iSubItem : cint ;pszText : Pointer;cchTextMax :cint); - -Var _ms_lvi : LV_ITEM; - -Begin - _ms_lvi.iSubItem := iSubItem; - _ms_lvi.cchTextMax := cchTextMax; - _ms_lvi.pszText := pszText; // unicode dependant! - SendMessage(hwndLV, LVM_GETITEMTEXT, i, LPARAM(@_ms_LVI)); -end; - - -// Macro 88 -// #define ListView_SetItemText(hwndLV, i, iSubItem_, pszText_) \ -// { LV_ITEM _ms_lvi;\ -// _ms_lvi.iSubItem = iSubItem_;\ -// _ms_lvi.pszText = pszText_;\ -// SNDMSG((hwndLV), LVM_SETITEMTEXT, (WPARAM)(i), (LPARAM)(LV_ITEM *)&_ms_lvi);\ -// } - -Procedure ListView_SetItemText(hwndLV:hwnd; i : WPARAM ;iSubItem : cint ;pszText : Pointer); - -Var _ms_lvi : LV_ITEM; - -Begin - _ms_lvi.iSubItem := iSubItem; - _ms_lvi.pszText := pszText; // unicode dependant! - SendMessage(hwndLV, LVM_SETITEMTEXT, i, LPARAM(@_ms_lvi)); -End; - -// Macro 89 -// #define ListView_SetItemCount(hwndLV, cItems) \ -// SNDMSG((hwndLV), LVM_SETITEMCOUNT, (WPARAM)(cItems), 0) - -Procedure ListView_SetItemCount( hwndLV : hwnd; cItems : WPARAM); - -Begin - SendMessage((hwndLV), LVM_SETITEMCOUNT, cItems, 0) -end; - - -// Macro 90 -// #define ListView_SetItemCountEx(hwndLV, cItems, dwFlags) \ -// SNDMSG((hwndLV), LVM_SETITEMCOUNT, (WPARAM)(cItems), (LPARAM)(dwFlags)) - -Procedure ListView_SetItemCountEx( hwndLV : hwnd; cItems : WPARAM; dwFlags : LPARAM); - -Begin - SendMessage((hwndLV), LVM_SETITEMCOUNT, cItems, dwFlags) -end; - - -// Macro 91 -// #define ListView_SortItems(hwndLV, _pfnCompare, _lPrm) \ -// (BOOL)SNDMSG((hwndLV), LVM_SORTITEMS, (WPARAM)(LPARAM)(_lPrm), \ -// (LPARAM)(PFNLVCOMPARE)(_pfnCompare)) - -Function ListView_SortItems( hwndLV : hwnd;pfnCompare : PFNLVCOMPARE; lPrm : LPARAM):BOOL; - -Begin - Result:=BOOL(SendMessage((hwndLV), LVM_SORTITEMS, lPrm, LPARAM(@pfncompare))); -end; - - -// Macro 92 -// #define ListView_SetItemPosition32(hwndLV, i, x0, y0) \ -// { POINT ptNewPos; \ -// ptNewPos.x = x0; ptNewPos.y = y0; \ -// SNDMSG((hwndLV), LVM_SETITEMPOSITION32, (WPARAM)(int)(i), (LPARAM)&ptNewPos); \ -// } - -Procedure ListView_SetItemPosition32(hwndLV:hwnd; i:cint;x0,y0:long); - -Var ptNewPos:POINT; - -Begin - ptNewPos.X:=x0; ptNewPos.Y:=y0; - SendMessage(hwndlv, LVM_SETITEMPOSITION32, I,LPARAM(@ptNewPos)); -end; - - -// Macro 93 -// #define ListView_GetSelectedCount(hwndLV) \ -// (UINT)SNDMSG((hwndLV), LVM_GETSELECTEDCOUNT, 0, DWord(0)) - -Function ListView_GetSelectedCount( hwndLV : hwnd):UINT; - -Begin - Result:=SendMessage(hwndLV, LVM_GETSELECTEDCOUNT, 0, LPARAM(0)); -end; - -// Macro 94 -// #define ListView_GetItemSpacing(hwndLV, fSmall) \ -// (DWORD)SNDMSG((hwndLV), LVM_GETITEMSPACING, fSmall, DWord(0)) - -Function ListView_GetItemSpacing( hwndLV : hwnd; fSmall : cint ):DWORD; - -Begin - Result:=LPARAM(SendMessage((hwndLV), LVM_GETITEMSPACING, fSmall, LPARAM(0))); -end; - -// Macro 95 -// #define ListView_GetISearchString(hwndLV, lpsz) \ -// (BOOL)SNDMSG((hwndLV), LVM_GETISEARCHSTRING, 0, (LPARAM)(LPTSTR)(lpsz)) - -Function ListView_GetISearchString( hwndLV : hwnd; lpsz : LPTSTR):BOOL; - -Begin - Result:=BOOL(SendMessage((hwndLV), LVM_GETISEARCHSTRING, 0, LPARAM(lpsz))) -end; - -// Macro 96 -// #define ListView_SetIconSpacing(hwndLV, cx, cy) \ -// (DWORD)SNDMSG((hwndLV), LVM_SETICONSPACING, 0, MAKELONG(cx,cy)) - -Function ListView_SetIconSpacing( hwndLV : hwnd; cx,cy : cint ):DWORD; - -Begin - Result:=DWORD(SendMessage((hwndLV), LVM_SETICONSPACING, 0, MAKELONG(cx,cy))) -end; - - -// Macro 97 -// #define ListView_SetExtendedListViewStyle(hwndLV, dw)\ -// (DWORD)SNDMSG((hwndLV), LVM_SETEXTENDEDLISTVIEWSTYLE, 0, dw) - -Function ListView_SetExtendedListViewStyle( hwndLV : hwnd; dw :cint ):DWORD; - -Begin - Result:=DWORD(SendMessage((hwndLV), LVM_SETEXTENDEDLISTVIEWSTYLE, 0, dw)) -end; - - -// Macro 98 -// #define ListView_SetExtendedListViewStyleEx(hwndLV, dwMask, dw)\ -// (DWORD)SNDMSG((hwndLV), LVM_SETEXTENDEDLISTVIEWSTYLE, dwMask, dw) - -Function ListView_SetExtendedListViewStyleEx( hwndLV : hwnd; dwMask, dw : cint ):DWORD; - -Begin - Result:=DWORD(SendMessage((hwndLV), LVM_SETEXTENDEDLISTVIEWSTYLE, dwMask, dw)) -end; - - -// Macro 99 -// #define ListView_GetExtendedListViewStyle(hwndLV)\ -// (DWORD)SNDMSG((hwndLV), LVM_GETEXTENDEDLISTVIEWSTYLE, 0, 0) - -Function ListView_GetExtendedListViewStyle( hwndLV : hwnd):DWORD; - -Begin - Result:=DWORD(SendMessage((hwndLV), LVM_GETEXTENDEDLISTVIEWSTYLE, 0, 0)) -end; - - -// Macro 100 -// #define ListView_GetSubItemRect(hwnd, iItem, iSubItem, code, prc) \ -// (BOOL)SNDMSG((hwnd), LVM_GETSUBITEMRECT, (WPARAM)(int)(iItem), \ -// ((prc) ? ((((LPRECT)(prc))->top = iSubItem), (((LPRECT)(prc))->left = code), (LPARAM)(prc)) : (LPARAM)(LPRECT)NULL)) - -Function ListView_GetSubItemRect( hwnd : hwnd; iItem : cint;iSubItem, code :cint ;prc:LPRECT):BOOL; - -VAR LastParam : LPRECT; -Begin - if prc<>nil then - begin - prc^.top:=iSubItem; - prc^.left:=code; - lastparam:=prc; - end - else - lastparam:=nil; - Result:=bool(SendMessage((hwnd), LVM_GETSUBITEMRECT, iItem, LPARAM(lastparam))); -End; - -// Macro 101 -// #define ListView_SubItemHitTest(hwnd, plvhti) \ -// (int)SNDMSG((hwnd), LVM_SUBITEMHITTEST, 0, (LPARAM)(LPLVHITTESTINFO)(plvhti)) - -Function ListView_SubItemHitTest( hwnd : hwnd; plvhti : LPLVHITTESTINFO):cint; -Begin - Result:=cint(SendMessage((hwnd), LVM_SUBITEMHITTEST, 0, LParam(plvhti))) -end; - - -// Macro 102 -// #define ListView_SetColumnOrderArray(hwnd, iCount, pi) \ -// (BOOL)SNDMSG((hwnd), LVM_SETCOLUMNORDERARRAY, (WPARAM)(iCount), (LPARAM)(LPINT)(pi)) - -Function ListView_SetColumnOrderArray( hwnd : hwnd; iCount : WPARAM; pi : LPINT):BOOL; - -Begin - Result:=BOOL(SendMessage((hwnd), LVM_SETCOLUMNORDERARRAY, iCount, LPARAM(pi))); -end; - - -// Macro 103 -// #define ListView_GetColumnOrderArray(hwnd, iCount, pi) \ -// (BOOL)SNDMSG((hwnd), LVM_GETCOLUMNORDERARRAY, (WPARAM)(iCount), (LPARAM)(LPINT)(pi)) - -Function ListView_GetColumnOrderArray( hwnd : hwnd; iCount : WPARAM; pi : LPINT):BOOL; - -Begin - Result:=BOOL(SendMessage((hwnd), LVM_GETCOLUMNORDERARRAY, iCount, LPARAM(pi))) -end; - - -// Macro 104 -// #define ListView_SetHotItem(hwnd, i) \ -// (int)SNDMSG((hwnd), LVM_SETHOTITEM, (WPARAM)(i), 0) - -Function ListView_SetHotItem( hwnd : hwnd; i : WPARAM):cint; -Begin - Result:=cint(SendMessage((hwnd), LVM_SETHOTITEM, (i), 0)) -end; - -// Macro 105 -// #define ListView_GetHotItem(hwnd) \ -// (int)SNDMSG((hwnd), LVM_GETHOTITEM, 0, 0) - -Function ListView_GetHotItem( hwnd : hwnd):cint; -Begin - Result:=cint(SendMessage((hwnd), LVM_GETHOTITEM, 0, 0)) -end; - -// Macro 106 -// #define ListView_SetHotCursor(hwnd, hcur) \ -// (HCURSOR)SNDMSG((hwnd), LVM_SETHOTCURSOR, 0, (LPARAM)(hcur)) - -Function ListView_SetHotCursor( hwnd : hwnd; hcur : LPARAM):HCURSOR; -Begin - Result:=HCURSOR(SendMessage((hwnd), LVM_SETHOTCURSOR, 0, hcur)) -end; - -// Macro 107 -// #define ListView_GetHotCursor(hwnd) \ -// (HCURSOR)SNDMSG((hwnd), LVM_GETHOTCURSOR, 0, 0) - -Function ListView_GetHotCursor( hwnd : hwnd):HCURSOR; -Begin - Result:=HCURSOR(SendMessage((hwnd), LVM_GETHOTCURSOR, 0, 0)) -end; - - -// Macro 108 -// #define ListView_ApproximateViewRect(hwnd, iWidth, iHeight, iCount) \ -// (DWORD)SNDMSG((hwnd), LVM_APPROXIMATEVIEWRECT, iCount, MAKELPARAM(iWidth, iHeight)) - -Function ListView_ApproximateViewRect( hwnd : hwnd; iWidth, iHeight, iCount : cint ):DWORD; -Begin - Result:=DWORD(SendMessage((hwnd), LVM_APPROXIMATEVIEWRECT, iCount, MAKELPARAM(iWidth, iHeight))); -end; - - -// Macro 109 -// #define ListView_SetWorkAreas(hwnd, nWorkAreas, prc) \ -// (BOOL)SNDMSG((hwnd), LVM_SETWORKAREAS, (WPARAM)(int)(nWorkAreas), (LPARAM)(RECT *)(prc)) - -Function ListView_SetWorkAreas( hwnd : hwnd; nWorkAreas : cint;var prc : RECT ):BOOL;inline; -Begin - Result:=BOOL(SendMessage((hwnd), LVM_SETWORKAREAS, nWorkAreas, LPARAM(@prc))) -end; - - -Function ListView_SetWorkAreas( hwnd : hwnd; nWorkAreas : cint; prc : PRECT ):BOOL;inline; -Begin - Result:=BOOL(SendMessage((hwnd), LVM_SETWORKAREAS, nWorkAreas, LPARAM(prc))) -end; - -// Macro 110 -// #define ListView_GetWorkAreas(hwnd, nWorkAreas, prc) \ -// (BOOL)SNDMSG((hwnd), LVM_GETWORKAREAS, (WPARAM)(int)(nWorkAreas), (LPARAM)(RECT *)(prc)) - -Function ListView_GetWorkAreas( hwnd : hwnd; nWorkAreas : cint;var prc : RECT ):BOOL; -Begin - Result:=BOOL(SendMessage((hwnd), LVM_GETWORKAREAS, nWorkAreas, LPARAM(@prc))) -end; - - -// Macro 111 -// #define ListView_GetNumberOfWorkAreas(hwnd, pnWorkAreas) \ -// (BOOL)SNDMSG((hwnd), LVM_GETNUMBEROFWORKAREAS, 0, (LPARAM)(UINT *)(pnWorkAreas)) - -Function ListView_GetNumberOfWorkAreas( hwnd : hwnd;var pnWorkAreas : UINT ):BOOL; -Begin - Result:=BOOL(SendMessage((hwnd), LVM_GETNUMBEROFWORKAREAS, 0, LPARAM(@pnWorkAreas))) -end; - - -// Macro 112 -// #define ListView_GetSelectionMark(hwnd) \ -// (int)SNDMSG((hwnd), LVM_GETSELECTIONMARK, 0, 0) - -Function ListView_GetSelectionMark( hwnd : hwnd):cint; - -Begin - Result:=cint(SendMessage((hwnd), LVM_GETSELECTIONMARK, 0, 0)) -end; - - -// Macro 113 -// #define ListView_SetSelectionMark(hwnd, i) \ -// (int)SNDMSG((hwnd), LVM_SETSELECTIONMARK, 0, (LPARAM)(i)) - -Function ListView_SetSelectionMark( hwnd : hwnd; i : LPARAM):cint; - -Begin - Result:=cint(SendMessage((hwnd), LVM_SETSELECTIONMARK, 0, (i))) -end; - - -// Macro 114 -// #define ListView_SetHoverTime(hwndLV, dwHoverTimeMs)\ -// (DWORD)SNDMSG((hwndLV), LVM_SETHOVERTIME, 0, (LPARAM)(dwHoverTimeMs)) - -Function ListView_SetHoverTime( hwndLV : hwnd; dwHoverTimeMs : LPARAM):DWORD; - -Begin - Result:=DWORD(SendMessage((hwndLV), LVM_SETHOVERTIME, 0, dwHoverTimeMs)) -end; - - -// Macro 115 -// #define ListView_GetHoverTime(hwndLV)\ -// (DWORD)SNDMSG((hwndLV), LVM_GETHOVERTIME, 0, 0) - -Function ListView_GetHoverTime( hwndLV : hwnd):DWORD; - -Begin - Result:=DWORD(SendMessage((hwndLV), LVM_GETHOVERTIME, 0, 0)) -end; - - -// Macro 116 -// #define ListView_SetToolTips(hwndLV, hwndNewHwnd)\ -// (HWND)SNDMSG((hwndLV), LVM_SETTOOLTIPS, (WPARAM)(hwndNewHwnd), 0) - -Function ListView_SetToolTips( hwndLV : hwnd; hwndNewHwnd : WPARAM):HWND; - -Begin - Result:=HWND(SendMessage((hwndLV), LVM_SETTOOLTIPS, hwndNewHwnd, 0)) -end; - - -// Macro 117 -// #define ListView_GetToolTips(hwndLV)\ -// (HWND)SNDMSG((hwndLV), LVM_GETTOOLTIPS, 0, 0) - -Function ListView_GetToolTips( hwndLV : hwnd):HWND; - -Begin - Result:=HWND(SendMessage((hwndLV), LVM_GETTOOLTIPS, 0, 0)) -end; - - -// Macro 118 -// #define ListView_SortItemsEx(hwndLV, _pfnCompare, _lPrm) \ -// (BOOL)SNDMSG((hwndLV), LVM_SORTITEMSEX, (WPARAM)(LPARAM)(_lPrm), (LPARAM)(PFNLVCOMPARE)(_pfnCompare)) - -Function ListView_SortItemsEx( hwndLV : hwnd; _pfnCompare : PFNLVCOMPARE; _lPrm : LPARAM):BOOL; - -Begin - Result:=BOOL(SendMessage((hwndLV), LVM_SORTITEMSEX, _lPrm, LPAram(@_pfnCompare))) -end; - -{$ifdef win32xp} -// Macro 119 -// #define ListView_SetSelectedColumn(hwnd, iCol) \ -// SNDMSG((hwnd), LVM_SETSELECTEDCOLUMN, (WPARAM)iCol, 0) - -Procedure ListView_SetSelectedColumn( hwnd : hwnd; iCol : WPARAM); - -Begin - SendMessage((hwnd), LVM_SETSELECTEDCOLUMN, iCol, 0) -end; - -// Macro 120 -// #define ListView_SetTileWidth(hwnd, cpWidth) \ -// SNDMSG((hwnd), LVM_SETTILEWIDTH, (WPARAM)cpWidth, 0) - -Procedure ListView_SetTileWidth( hwnd : hwnd; cpWidth : WPARAM); - -Begin - SendMessage((hwnd), LVM_SETTILEWIDTH, cpWidth, 0) -end; - - -// Macro 121 -// #define ListView_SetView(hwnd, iView) \ -// (DWORD)SNDMSG((hwnd), LVM_SETVIEW, (WPARAM)(DWORD)iView, 0) - -Function ListView_SetView( hwnd : hwnd; iView : DWORD):DWORD; - -Begin - Result:=DWORD(SendMessage((hwnd), LVM_SETVIEW, iView, 0)) -end; - - -// Macro 122 -// #define ListView_GetView(hwnd) \ -// (DWORD)SNDMSG((hwnd), LVM_GETVIEW, 0, 0) - -Function ListView_GetView( hwnd : hwnd):DWORD; -Begin - Result:=DWORD(SendMessage((hwnd), LVM_GETVIEW, 0, 0)) -end; - - -// Macro 123 -// #define ListView_InsertGroup(hwnd, index, pgrp) \ -// SNDMSG((hwnd), LVM_INSERTGROUP, (WPARAM)index, (LPARAM)pgrp) - -Procedure ListView_InsertGroup( hwnd : hwnd; index : WPARAM; pgrp : LPARAM); -Begin - SendMessage((hwnd), LVM_INSERTGROUP, index, pgrp) -end; - - -// Macro 124 -// #define ListView_SetGroupInfo(hwnd, iGroupId, pgrp) \ -// SNDMSG((hwnd), LVM_SETGROUPINFO, (WPARAM)iGroupId, (LPARAM)pgrp) - -Procedure ListView_SetGroupInfo( hwnd : hwnd; iGroupId : WPARAM; pgrp : LPARAM); -Begin - SendMessage((hwnd), LVM_SETGROUPINFO, iGroupId, pgrp) -end; - - -// Macro 125 -// #define ListView_GetGroupInfo(hwnd, iGroupId, pgrp) \ -// SNDMSG((hwnd), LVM_GETGROUPINFO, (WPARAM)iGroupId, (LPARAM)pgrp) - -Procedure ListView_GetGroupInfo( hwnd : hwnd; iGroupId : WPARAM; pgrp : LPARAM); -Begin - SendMessage((hwnd), LVM_GETGROUPINFO, iGroupId, pgrp) -end; - - -// Macro 126 -// #define ListView_RemoveGroup(hwnd, iGroupId) \ -// SNDMSG((hwnd), LVM_REMOVEGROUP, (WPARAM)iGroupId, 0) - -Procedure ListView_RemoveGroup( hwnd : hwnd; iGroupId : WPARAM); -Begin - SendMessage((hwnd), LVM_REMOVEGROUP, iGroupId, 0) -end; - - -// Macro 127 -// #define ListView_MoveGroup(hwnd, iGroupId, toIndex) \ -// SNDMSG((hwnd), LVM_MOVEGROUP, (WPARAM)iGroupId, (LPARAM)toIndex) - -Procedure ListView_MoveGroup( hwnd : hwnd; iGroupId : WPARAM; toIndex : LPARAM); -Begin - SendMessage((hwnd), LVM_MOVEGROUP, iGroupId, toIndex) -end; - - -// Macro 128 -// #define ListView_MoveItemToGroup(hwnd, idItemFrom, idGroupTo) \ -// SNDMSG((hwnd), LVM_MOVEITEMTOGROUP, (WPARAM)idItemFrom, (LPARAM)idGroupTo) - -Procedure ListView_MoveItemToGroup( hwnd : hwnd; idItemFrom : WPARAM; idGroupTo : LPARAM); - -Begin - SendMessage((hwnd), LVM_MOVEITEMTOGROUP, idItemFrom, idGroupTo) -end; - - -// Macro 129 -// #define ListView_SetGroupMetrics(hwnd, pGroupMetrics) \ -// SNDMSG((hwnd), LVM_SETGROUPMETRICS, 0, (LPARAM)pGroupMetrics) - -Procedure ListView_SetGroupMetrics( hwnd : hwnd; pGroupMetrics : LPARAM); - -Begin - SendMessage((hwnd), LVM_SETGROUPMETRICS, 0, pGroupMetrics) -end; - - -// Macro 130 -// #define ListView_GetGroupMetrics(hwnd, pGroupMetrics) \ -// SNDMSG((hwnd), LVM_GETGROUPMETRICS, 0, (LPARAM)pGroupMetrics) - -Procedure ListView_GetGroupMetrics( hwnd : hwnd; pGroupMetrics : LPARAM); - -Begin -SendMessage((hwnd), LVM_GETGROUPMETRICS, 0, pGroupMetrics) -end; - - -// Macro 131 -// #define ListView_EnableGroupView(hwnd, fEnable) \ -// SNDMSG((hwnd), LVM_ENABLEGROUPVIEW, (WPARAM)fEnable, 0) - -Procedure ListView_EnableGroupView( hwnd : hwnd; fEnable : WPARAM); - -Begin - SendMessage((hwnd), LVM_ENABLEGROUPVIEW, fEnable, 0) -end; - - -// Macro 132 -// #define ListView_SortGroups(hwnd, _pfnGroupCompate, _plv) \ -// SNDMSG((hwnd), LVM_SORTGROUPS, (WPARAM)_pfnGroupCompate, (LPARAM)_plv) - -Procedure ListView_SortGroups( hwnd : hwnd; _pfnGroupCompate : WPARAM; _plv : LPARAM); - -Begin - SendMessage((hwnd), LVM_SORTGROUPS, _pfnGroupCompate, _plv) -end; - -// Macro 133 -// #define ListView_InsertGroupSorted(hwnd, structInsert) \ -// SNDMSG((hwnd), LVM_INSERTGROUPSORTED, (WPARAM)structInsert, 0) - -Procedure ListView_InsertGroupSorted( hwnd : hwnd; structInsert : WPARAM); - -Begin - SendMessage((hwnd), LVM_INSERTGROUPSORTED, structInsert, 0) -end; - - -// Macro 134 -// #define ListView_RemoveAllGroups(hwnd) \ -// SNDMSG((hwnd), LVM_REMOVEALLGROUPS, 0, 0) - -Procedure ListView_RemoveAllGroups( hwnd : hwnd); - -Begin -SendMessage((hwnd), LVM_REMOVEALLGROUPS, 0, 0) -end; - - -// Macro 135 -// #define ListView_HasGroup(hwnd, dwGroupId) \ -// SNDMSG((hwnd), LVM_HASGROUP, dwGroupId, 0) - -Procedure ListView_HasGroup( hwnd : hwnd; dwGroupId :DWORD ); - -Begin - SendMessage((hwnd), LVM_HASGROUP, dwGroupId, 0) -end; - - -// Macro 136 -// #define ListView_SetTileViewInfo(hwnd, ptvi) \ -// SNDMSG((hwnd), LVM_SETTILEVIEWINFO, 0, (LPARAM)ptvi) - -Procedure ListView_SetTileViewInfo( hwnd : hwnd; ptvi : LPARAM); - -Begin - SendMessage((hwnd), LVM_SETTILEVIEWINFO, 0, ptvi) -end; - - -// Macro 137 -// #define ListView_GetTileViewInfo(hwnd, ptvi) \ -// SNDMSG((hwnd), LVM_GETTILEVIEWINFO, 0, (LPARAM)ptvi) - -Procedure ListView_GetTileViewInfo( hwnd : hwnd; ptvi : LPARAM); - -Begin - SendMessage((hwnd), LVM_GETTILEVIEWINFO, 0, ptvi) -end; - - -// Macro 138 -// #define ListView_SetTileInfo(hwnd, pti) \ -// SNDMSG((hwnd), LVM_SETTILEINFO, 0, (LPARAM)pti) - -Procedure ListView_SetTileInfo( hwnd : hwnd; pti : LPARAM); - -Begin - SendMessage((hwnd), LVM_SETTILEINFO, 0, pti) -end; - - -// Macro 139 -// #define ListView_GetTileInfo(hwnd, pti) \ -// SNDMSG((hwnd), LVM_GETTILEINFO, 0, (LPARAM)pti) - -Procedure ListView_GetTileInfo( hwnd : hwnd; pti : LPARAM); - -Begin - SendMessage((hwnd), LVM_GETTILEINFO, 0, pti) -end; - - -// Macro 140 -// #define ListView_SetInsertMark(hwnd, lvim) \ -// (BOOL)SNDMSG((hwnd), LVM_SETINSERTMARK, (WPARAM) 0, (LPARAM) (lvim)) - -Function ListView_SetInsertMark( hwnd : hwnd; lvim : lparam ):BOOL; - -Begin - Result:=BOOL(SendMessage((hwnd), LVM_SETINSERTMARK, 0, lvim)); -end; - - -// Macro 141 -// #define ListView_GetInsertMark(hwnd, lvim) \ -// (BOOL)SNDMSG((hwnd), LVM_GETINSERTMARK, (WPARAM) 0, (LPARAM) (lvim)) - -Function ListView_GetInsertMark( hwnd : hwnd; lvim : lparam ):BOOL; -Begin - Result:=BOOL(SendMessage((hwnd), LVM_GETINSERTMARK, WPARAM (0), LPARAM (lvim))); -end; - - -// Macro 142 -// #define ListView_InsertMarkHitTest(hwnd, point, lvim) \ -// (int)SNDMSG((hwnd), LVM_INSERTMARKHITTEST, (WPARAM)(LPPOINT)(point), (LPARAM)(LPLVINSERTMARK)(lvim)) - -Function ListView_InsertMarkHitTest( hwnd : hwnd; point : LPPOINT; lvim : LPLVINSERTMARK):cint; -Begin - Result:=cint(SendMessage((hwnd), LVM_INSERTMARKHITTEST, wparam(point), lparam(lvim))); -end; - - -// Macro 143 -// #define ListView_GetInsertMarkRect(hwnd, rc) \ -// (int)SNDMSG((hwnd), LVM_GETINSERTMARKRECT, (WPARAM)0, (LPARAM)(LPRECT)(rc)) - -Function ListView_GetInsertMarkRect( hwnd : hwnd; rc : LPRECT):cint; -Begin - Result:=cint(SendMessage((hwnd), LVM_GETINSERTMARKRECT, WPARAM(0), LPARAM(rc))) -end; - - -// Macro 144 -// #define ListView_SetInsertMarkColor(hwnd, color) \ -// (COLORREF)SNDMSG((hwnd), LVM_SETINSERTMARKCOLOR, (WPARAM)0, (LPARAM)(COLORREF)(color)) - -Function ListView_SetInsertMarkColor( hwnd : hwnd; color : COLORREF):COLORREF; - -Begin - Result:=COLORREF(SendMessage((hwnd), LVM_SETINSERTMARKCOLOR, WPARAM(0), color)); -end; - -// Macro 145 -// #define ListView_GetInsertMarkColor(hwnd) \ -// (COLORREF)SNDMSG((hwnd), LVM_GETINSERTMARKCOLOR, (WPARAM)0, (LPARAM)0) - -Function ListView_GetInsertMarkColor( hwnd : hwnd):COLORREF; - -Begin - Result:=COLORREF(SendMessage((hwnd), LVM_GETINSERTMARKCOLOR, WPARAM(0), LPARAM(0))); -end; - -// Macro 146 -// #define ListView_SetInfoTip(hwndLV, plvInfoTip)\ -// (BOOL)SNDMSG((hwndLV), LVM_SETINFOTIP, (WPARAM)0, (LPARAM)plvInfoTip) - -Function ListView_SetInfoTip( hwndLV : hwnd; plvInfoTip : LPARAM):BOOL; -Begin - Result:=BOOL(SendMessage((hwndLV), LVM_SETINFOTIP, WPARAM(0), plvInfoTip)); -end; - -// Macro 147 -// #define ListView_GetSelectedColumn(hwnd) \ -// (UINT)SNDMSG((hwnd), LVM_GETSELECTEDCOLUMN, 0, 0) - -Function ListView_GetSelectedColumn( hwnd : hwnd):UINT; -Begin - Result:=UINT(SendMessage((hwnd), LVM_GETSELECTEDCOLUMN, 0, 0)); -end; - -// Macro 148 -// #define ListView_IsGroupViewEnabled(hwnd) \ -// (BOOL)SNDMSG((hwnd), LVM_ISGROUPVIEWENABLED, 0, 0) - -Function ListView_IsGroupViewEnabled( hwnd : hwnd):BOOL; -Begin - Result:=BOOL(SendMessage((hwnd), LVM_ISGROUPVIEWENABLED, 0, 0)); -end; - -// Macro 149 -// #define ListView_GetOutlineColor(hwnd) \ -// (COLORREF)SNDMSG((hwnd), LVM_GETOUTLINECOLOR, 0, 0) - -Function ListView_GetOutlineColor( hwnd : hwnd):COLORREF; -Begin - Result:=COLORREF(SendMessage((hwnd), LVM_GETOUTLINECOLOR, 0, 0)); -end; - - -// Macro 150 -// #define ListView_SetOutlineColor(hwnd, color) \ -// (COLORREF)SNDMSG((hwnd), LVM_SETOUTLINECOLOR, (WPARAM)0, (LPARAM)(COLORREF)(color)) - -Function ListView_SetOutlineColor( hwnd : hwnd; color : COLORREF):COLORREF; -Begin - Result:=COLORREF(SendMessage((hwnd), LVM_SETOUTLINECOLOR, WPARAM(0), color)); -end; - -// Macro 151 -// #define ListView_CancelEditLabel(hwnd) \ -// (VOID)SNDMSG((hwnd), LVM_CANCELEDITLABEL, (WPARAM)0, (LPARAM)0) - -procedure ListView_CancelEditLabel( hwnd : hwnd); -Begin - SendMessage((hwnd), LVM_CANCELEDITLABEL, WPARAM(0), LPARAM(0)); -end; - -// Macro 152 -// #define ListView_MapIndexToID(hwnd, index) \ -// (UINT)SNDMSG((hwnd), LVM_MAPINDEXTOID, (WPARAM)index, (LPARAM)0) - -Function ListView_MapIndexToID( hwnd : hwnd; index : WPARAM):UINT; - -Begin - Result:=UINT(SendMessage((hwnd), LVM_MAPINDEXTOID, index, LPARAM(0))); -end; - -// Macro 153 -// #define ListView_MapIDToIndex(hwnd, id) \ -// (UINT)SNDMSG((hwnd), LVM_MAPIDTOINDEX, (WPARAM)id, (LPARAM)0) - -Function ListView_MapIDToIndex( hwnd : hwnd; id : WPARAM):UINT; -Begin - Result:=UINT(SendMessage((hwnd), LVM_MAPIDTOINDEX, id, LPARAM(0))); -end; - -function ListView_IsItemVisible(hwnd:hwnd; aindex:cuint):cuint; -begin - Result:=UINT(SendMessage((hwnd),LVM_ISITEMVISIBLE, WPARAM(aindex), LPARAM(0))); -end; -{$ENDIF} - -{$ifdef win32vista} - -function ListView_SetGroupHeaderImageList(hwnd:HWNd;himl:HIMAGELIST):HIMAGELIST; -begin - Result:=HIMAGELIST(SendMessage((hwnd),LVM_SETIMAGELIST, WPARAM(LVSIL_GROUPHEADER), LPARAM(HIMAGELIST((himl))))); -end; - -function ListView_GetGroupHeaderImageList(hwnd:HWND):HIMAGELIST; -begin - Result:=HIMAGELIST(SendMessage((hwnd),LVM_GETIMAGELIST, WPARAM(LVSIL_GROUPHEADER),LPARAM(0))); -end; - -function ListView_GetEmptyText(hwnd:HWND;pszText:LPWSTR; cchText:CUINT):BOOL; -begin - Result:=BOOL(SendMessage((hwnd),LVM_GETEMPTYTEXT, WPARAM(cchText), LPARAM(pszText))); -end; - -function ListView_GetFooterRect(hwnd:HWND; prc:PRECT):BOOL; -begin - Result:=BOOL(SendMessage((hwnd),LVM_GETFOOTERRECT, WPARAM(0), LPARAM(prc))); -end; - -function ListView_GetFooterInfo(hwnd:HWND;plvfi: LPLVFOOTERINFO ):BOOL; -begin - Result:=BOOL(SendMessage((hwnd),LVM_GETFOOTERINFO, WPARAM(0), LPARAM(plvfi))); -end; - -function ListView_GetFooterItemRect(hwnd:HWND;iItem:CUINT;prc:PRECT):BOOL; -begin - Result:=BOOL(SendMessage((hwnd),LVM_GETFOOTERITEMRECT, WPARAM(iItem), LPARAM(prc))); -end; - -function ListView_GetFooterItem(hwnd:HWND;iItem:CUINT; pfi:PLVFOOTERITEM):BOOL; -begin - Result:=BOOL(SendMessage((hwnd),LVM_GETFOOTERITEM, WPARAM(iItem), LPARAM(pfi))); -end; - -// (hwnd), LVM_GETITEMINDEXRECT, (WPARAM)(LVITEMINDEX*)(plvii), \ -// ((prc) ? ((((LPRECT)(prc))->top = (iSubItem)), (((LPRECT)(prc))->left = (code)), (LPARAM)(prc)) : (LPARAM)(LPRECT)NULL)) - -function ListView_GetItemIndexRect(hwnd:hwnd; plvii:PLVITEMINDEX; iSubItem:clong; code:clong; prc:LPRECT) :BOOL; -begin - if assigned(prc) then - begin - prc^.top:=iSubItem; - prc^.left:=code; - end; - Result:=BOOL(SendMessage((hwnd), LVM_GETITEMINDEXRECT, WPARAM(pLVITEMINDEX(plvii)), LPARAM(PRC))); -end; - -function ListView_SetItemIndexState(hwndLV:HWND; plvii:PLVITEMINDEX; data:CUINT; mask:CUINT):HRESULT; - var macro_lvi: LV_ITEM ; -begin - macro_lvi.stateMask := (mask); - macro_lvi.state := (data); - Result:=HRESULT(SendMessage((hwndLV),LVM_SETITEMINDEXSTATE, WPARAM(pLVITEMINDEX(plvii)), LPARAM(PLV_ITEM(@macro_lvi)))); -end; - -function ListView_GetNextItemIndex(hwnd:HWND;plvii:PLVITEMINDEX; flags:LPARAM):BOOL; -begin - Result:=BOOL(SendMessage((hwnd),LVM_GETNEXTITEMINDEX, WPARAM(pLVITEMINDEX(plvii)), MAKELPARAM(flags, 0))); -end; -{$endif} - -// Macro 154 -// #define ListView_SetBkImage(hwnd, plvbki) \ -// (BOOL)SNDMSG((hwnd), LVM_SETBKIMAGE, 0, (LPARAM)(plvbki)) - -Function ListView_SetBkImage( hwnd : hwnd; plvbki : LPARAM):BOOL; -Begin - Result:=BOOL(SendMessage((hwnd), LVM_SETBKIMAGE, 0, plvbki)); -end; - -// Macro 155 -// #define ListView_GetBkImage(hwnd, plvbki) \ -// (BOOL)SNDMSG((hwnd), LVM_GETBKIMAGE, 0, (LPARAM)(plvbki)) - -Function ListView_GetBkImage( hwnd : hwnd; plvbki : LPARAM):BOOL; -Begin - Result:=BOOL(SendMessage((hwnd), LVM_GETBKIMAGE, 0, plvbki)); -end; - -// Macro 156 -// #define TreeView_InsertItem(hwnd, lpis) \ -// (HTREEITEM)SNDMSG((hwnd), TVM_INSERTITEM, 0, (LPARAM)(LPTV_INSERTSTRUCT)(lpis)) - -Function TreeView_InsertItem( hwnd : hwnd; lpis : LPTV_INSERTSTRUCT):HTREEITEM;inline; -Begin - Result:=HTREEITEM(SendMessage((hwnd), TVM_INSERTITEM, 0, LPARAM(lpis))); -end; - - -Function TreeView_InsertItem( hwnd : hwnd; const lpis : TV_INSERTSTRUCT):HTREEITEM;inline; -Begin - Result:=HTREEITEM(SendMessage((hwnd), TVM_INSERTITEM, 0, LPARAM(@lpis))); -end; - -// Macro 157 -// #define TreeView_DeleteItem(hwnd, hitem) \ -// (BOOL)SNDMSG((hwnd), TVM_DELETEITEM, 0, (LPARAM)(HTREEITEM)(hitem)) - -Function TreeView_DeleteItem( hwnd : hwnd; hitem : HTREEITEM):BOOL; -Begin - Result:=BOOL(SendMessage((hwnd), TVM_DELETEITEM, 0, LPARAM(hitem))); -end; - - -// Macro 158 -// #define TreeView_DeleteAllItems(hwnd) \ -// (BOOL)SNDMSG((hwnd), TVM_DELETEITEM, 0, (LPARAM)TVI_ROOT) - -Function TreeView_DeleteAllItems( hwnd : hwnd):BOOL; -Begin - Result:=BOOL(SendMessage((hwnd), TVM_DELETEITEM, 0, LPARAM(HTREEITEM(TVI_ROOT)))); -end; - - -// Macro 159 -// #define TreeView_Expand(hwnd, hitem, code) \ -// (BOOL)SNDMSG((hwnd), TVM_EXPAND, (WPARAM)(code), (LPARAM)(HTREEITEM)(hitem)) - -Function TreeView_Expand( hwnd : hwnd; hitem : HTREEITEM; code : WPARAM):BOOL; -Begin - Result:=BOOL(SendMessage((hwnd), TVM_EXPAND, code, lparam(hitem))) -end; - - -// Macro 160 -// #define TreeView_GetItemRect(hwnd, hitem, prc, code) \ -// (*(HTREEITEM *)prc = (hitem), (BOOL)SNDMSG((hwnd), TVM_GETITEMRECT, (WPARAM)(code), (LPARAM)(RECT *)(prc))) - -Function TreeView_GetItemRect( hwnd : hwnd; hitem: HTREEITEM; code : WPARAM; prc : pRECT):BOOL;inline; -Begin - HTREEITEM(prc):=HITEM; - Result:=Bool(SendMessage((hwnd), TVM_GETITEMRECT, code, LPARAM(prc))); -end; - -Function TreeView_GetItemRect( hwnd : hwnd; hitem: HTREEITEM; var prc : TRECT;code : Bool):BOOL;inline; -Begin - HTREEITEM(Pointer(@prc)^):=HITEM; - Result:=Bool(SendMessage((hwnd), TVM_GETITEMRECT, WPARAM(code), LPARAM(@prc))); -end; - -// Macro 161 -// #define TreeView_GetCount(hwnd) \ -// (UINT)SNDMSG((hwnd), TVM_GETCOUNT, 0, 0) - -Function TreeView_GetCount( hwnd : hwnd):UINT; -Begin - Result:=UINT(SendMessage((hwnd), TVM_GETCOUNT, 0, 0)) -end; - -// Macro 162 -// #define TreeView_GetIndent(hwnd) \ -// (UINT)SNDMSG((hwnd), TVM_GETINDENT, 0, 0) - -Function TreeView_GetIndent( hwnd : hwnd):UINT; -Begin - Result:=UINT(SendMessage((hwnd), TVM_GETINDENT, 0, 0)) -end; - - -// Macro 163 -// #define TreeView_SetIndent(hwnd, indent) \ -// (BOOL)SNDMSG((hwnd), TVM_SETINDENT, (WPARAM)(indent), 0) - -Function TreeView_SetIndent( hwnd : hwnd; indent : WPARAM):BOOL; -Begin - Result:=BOOL(SendMessage((hwnd), TVM_SETINDENT, indent, 0)) -end; - - -// Macro 164 -// #define TreeView_GetImageList(hwnd, iImage) \ -// (HIMAGELIST)SNDMSG((hwnd), TVM_GETIMAGELIST, iImage, 0) - -Function TreeView_GetImageList( hwnd : hwnd; iImage : cint ):HIMAGELIST; -Begin - Result:=HIMAGELIST(SendMessage((hwnd), TVM_GETIMAGELIST, iImage, 0)) -end; - - -// Macro 165 -// #define TreeView_SetImageList(hwnd, himl, iImage) \ -// (HIMAGELIST)SNDMSG((hwnd), TVM_SETIMAGELIST, iImage, (LPARAM)(HIMAGELIST)(himl)) - -Function TreeView_SetImageList( hwnd : hwnd; himl : HIMAGELIST; iImage : cint ):HIMAGELIST; -Begin - Result:=HIMAGELIST(SendMessage((hwnd), TVM_SETIMAGELIST, iImage, himl)) -end; - -// Macro 166 -// #define TreeView_GetNextItem(hwnd, hitem, code) \ -// (HTREEITEM)SNDMSG((hwnd), TVM_GETNEXTITEM, (WPARAM)(code), (LPARAM)(HTREEITEM)(hitem)) - -Function TreeView_GetNextItem( hwnd : hwnd; hitem : HTREEITEM; code : WPARAM):HTREEITEM; - -Begin - Result:=HTREEITEM(SendMessage((hwnd), TVM_GETNEXTITEM, code, lparam(hitem))) -end; - - -// Macro 167 - -function TreeView_GetChild(hwnd:hwnd; hitem:HTREEITEM) : HTREEITEM; - -Begin - Result:=TreeView_GetNextItem(hwnd, hitem, TVGN_CHILD) -End; -// Macro 168 - -// #define TreeView_GetNextSibling(hwnd:hwnd; hitem:HTREEITEM); -// (hwnd, hitem) -// TreeView_GetNextItem(hwnd, hitem, TVGN_NEXT) - - - -function TreeView_GetNextSibling(hwnd:hwnd; hitem:HTREEITEM) : HTREEITEM; -// (hwnd, hitem) -// TreeView_GetNextItem(hwnd, hitem, TVGN_NEXT) - -Begin - Result:=TreeView_getNextItem(hwnd,hitem,TVGN_NEXT); -end; - -// Macro 169 -function TreeView_GetPrevSibling(hwnd:hwnd; hitem:HTREEITEM) : HTREEITEM; -begin - Result:=TreeView_GetNextItem(hwnd, hitem, TVGN_PREVIOUS); -end; - -// Macro 170 - -function TreeView_GetParent(hwnd:hwnd; hitem:HTREEITEM) : HTREEITEM; -begin - Result:=TreeView_GetNextItem(hwnd, hitem, TVGN_PARENT) -end; - -// Macro 171 -// #define TreeView_GetFirstVisible(hwnd:hwnd); -// TreeView_GetNextItem(hwnd, NULL, TVGN_FIRSTVISIBLE) - -function TreeView_GetFirstVisible(hwnd:hwnd) : HTREEITEM;inline; -begin - Result:=TreeView_GetNextItem(hwnd, NIL, TVGN_FIRSTVISIBLE) -end; - -// Macro 172 - -//#define TreeView_GetNextVisible(hwnd:hwnd; hitem:HTREEITEM); -//(hwnd, hitem) TreeView_GetNextItem(hwnd, hitem, TVGN_NEXTVISIBLE) -function TreeView_GetNextVisible(hwnd:hwnd; hitem:HTREEITEM) : HTREEITEM;inline; -begin - Result:=TreeView_GetNextItem(hwnd, hitem, TVGN_NEXTVISIBLE) -end; - -// Macro 173 -//#define TreeView_GetPrevVisible(hwnd:hwnd; hitem:HTREEITEM); -// (hwnd, hitem) TreeView_GetNextItem(hwnd, hitem, TVGN_PREVIOUSVISIBLE) - - -function TreeView_GetPrevVisible(hwnd:hwnd; hitem:HTREEITEM) : HTREEITEM;inline; -Begin - Result:=TreeView_GetNextItem(hwnd, hitem, TVGN_PREVIOUSVISIBLE); -end; - -// Macro 174 - -function TreeView_GetSelection(hwnd:hwnd) : HTREEITEM;inline; -begin - Result:=TreeView_GetNextItem(hwnd, NIL, TVGN_CARET); -end; - -// Macro 175 - -//#define TreeView_GetDropHilight(hwnd:hwnd); -//TreeView_GetNextItem(hwnd, NULL, TVGN_DROPHILITE) - -function TreeView_GetDropHilight(hwnd:hwnd) : HTREEITEM;inline; - -begin - Result:=TreeView_GetNextItem(hwnd, NIL, TVGN_DROPHILITE); -end; - -function TreeView_GetDropHilite(hwnd:hwnd) : HTREEITEM;inline; - -begin - Result:=TreeView_GetNextItem(hwnd, NIL, TVGN_DROPHILITE); -end; - - -// Macro 176 - -function TreeView_GetRoot(hwnd:hwnd) : HTREEITEM;inline; - -begin - Result:=TreeView_GetNextItem(hwnd, NIL, TVGN_ROOT); -end; - -// Macro 177 -//#define TreeView_GetLastVisible(hwnd:hwnd); -//TreeView_GetNextItem(hwnd, NULL, TVGN_LASTVISIBLE) - -function TreeView_GetLastVisible(hwnd:hwnd) : HTREEITEM;inline; -begin - Result:=TreeView_GetNextItem(hwnd, NIL, TVGN_LASTVISIBLE) -end; - -// Macro 178 - - -Function TreeView_Select( hwnd : hwnd; hitem : HTREEITEM; code : WPARAM):BOOL; - -Begin - Result:=BOOL(SendMessage((hwnd), TVM_SELECTITEM, code, LPARAM(hitem))) -end; - -// Macro 179 -// #define TreeView_SelectItem(hwnd, hitem) TreeView_Select(hwnd, hitem, TVGN_CARET) -// Macro 180 -// #define TreeView_SelectDropTarget(hwnd, hitem) TreeView_Select(hwnd, hitem, TVGN_DROPHILITE) -// Macro 181 -// #define TreeView_SelectSetFirstVisible(hwnd, hitem) TreeView_Select(hwnd, hitem, TVGN_FIRSTVISIBLE) - -// Macro 179 -Procedure TreeView_SelectItem(hwnd:hwnd; hitem:HTREEITEM); -Begin - TreeView_Select(hwnd, hitem, TVGN_CARET) -End; - -// Macro 180 -Procedure TreeView_SelectDropTarget(hwnd:hwnd; hitem:HTREEITEM); -Begin - TreeView_Select(hwnd, hitem, TVGN_DROPHILITE) -End; - -// Macro 181 -Procedure TreeView_SelectSetFirstVisible(hwnd:hwnd; hitem:HTREEITEM); -Begin - TreeView_Select(hwnd, hitem, TVGN_FIRSTVISIBLE) -End; - -// Macro 182 -// #define TreeView_GetItem(hwnd, pitem) \ -// (BOOL)SNDMSG((hwnd), TVM_GETITEM, 0, (LPARAM)(TV_ITEM *)(pitem)) - -Function TreeView_GetItem( hwnd : hwnd;var pitem : TV_ITEM ):BOOL; - -Begin - Result:=BOOL(SendMessage((hwnd), TVM_GETITEM, 0, LPARAM(@pitem))) -end; - - -// Macro 183 - -//#define TreeView_SetItem(hwnd, pitem) \ -// (BOOL)SNDMSG((hwnd), TVM_SETITEM, 0, (LPARAM)(const TV_ITEM *)(pitem)) - -Function TreeView_SetItem( hwnd : hwnd;const pitem : TV_ITEM ):BOOL; - -Begin - Result:=BOOL(SendMessage((hwnd), TVM_SETITEM, 0, LParam(@pitem))) -end; - - -// Macro 184 - -//#define TreeView_EditLabel(hwnd, hitem) \ -// (HWND)SNDMSG((hwnd), TVM_EDITLABEL, 0, (LPARAM)(HTREEITEM)(hitem)) - -Function TreeView_EditLabel( hwnd : hwnd; hitem : HTREEITEM):HWND; - -Begin - Result:=Windows.HWND(SendMessage((hwnd), TVM_EDITLABEL, 0, LParam(hitem))) -end; - - -// Macro 185 - -//#define TreeView_GetEditControl(hwnd) \ -// (HWND)SNDMSG((hwnd), TVM_GETEDITCONTROL, 0, 0) - -Function TreeView_GetEditControl( hwnd : hwnd):HWND; - -Begin - Result:=Windows.HWND(SendMessage((hwnd), TVM_GETEDITCONTROL, 0, 0)) -end; - - -// Macro 186 - -//#define TreeView_GetVisibleCount(hwnd) \ -// (UINT)SNDMSG((hwnd), TVM_GETVISIBLECOUNT, 0, 0) - -Function TreeView_GetVisibleCount( hwnd : hwnd):UINT; - -Begin - Result:=UINT(SendMessage((hwnd), TVM_GETVISIBLECOUNT, 0, 0)) -end; - - -// Macro 187 - -//#define TreeView_HitTest(hwnd, lpht) \ -// (HTREEITEM)SNDMSG((hwnd), TVM_HITTEST, 0, (LPARAM)(LPTV_HITTESTINFO)(lpht)) - -Function TreeView_HitTest( hwnd : hwnd; lpht : LPTV_HITTESTINFO):HTREEITEM;inline; - -Begin - Result:=HTREEITEM(SendMessage((hwnd), TVM_HITTEST, 0, lparam(lpht))) -end; - - -Function TreeView_HitTest( hwnd : hwnd; var lpht : TV_HITTESTINFO):HTREEITEM;inline; - -Begin - Result:=HTREEITEM(SendMessage((hwnd), TVM_HITTEST, 0, lparam(@lpht))) -end; -// Macro 188 - -//#define TreeView_CreateDragImage(hwnd, hitem) \ -// (HIMAGELIST)SNDMSG((hwnd), TVM_CREATEDRAGIMAGE, 0, (LPARAM)(HTREEITEM)(hitem)) - -Function TreeView_CreateDragImage( hwnd : hwnd; hitem : HTREEITEM):HIMAGELIST; - -Begin - Result:=HIMAGELIST(SendMessage((hwnd), TVM_CREATEDRAGIMAGE, 0, Lparam(hitem))) -end; - - -// Macro 189 - -//#define TreeView_SortChildren(hwnd, hitem, recurse) \ -// (BOOL)SNDMSG((hwnd), TVM_SORTCHILDREN, (WPARAM)(recurse), (LPARAM)(HTREEITEM)(hitem)) - -Function TreeView_SortChildren( hwnd : hwnd; hitem : HTREEITEM; recurse : WPARAM):BOOL; - -Begin - Result:=BOOL(SendMessage((hwnd), TVM_SORTCHILDREN, recurse, LParam(hitem))) -end; - - -// Macro 190 - -//#define TreeView_EnsureVisible(hwnd, hitem) \ -// (BOOL)SNDMSG((hwnd), TVM_ENSUREVISIBLE, 0, (LPARAM)(HTREEITEM)(hitem)) - -Function TreeView_EnsureVisible( hwnd : hwnd; hitem : HTREEITEM):BOOL; - -Begin - Result:=BOOL(SendMessage((hwnd), TVM_ENSUREVISIBLE, 0, LParam(hitem))) -end; - - -// Macro 191 - -//#define TreeView_SortChildrenCB(hwnd, psort, recurse) \ -// (BOOL)SNDMSG((hwnd), TVM_SORTCHILDRENCB, (WPARAM)(recurse), \ -// (LPARAM)(LPTV_SORTCB)(psort)) - -Function TreeView_SortChildrenCB( hwnd : hwnd;psort :lpTV_sortcb; recurse : WPARAM):BOOL;inline; - -Begin - Result:=BOOL(SendMessage((hwnd), TVM_SORTCHILDRENCB, recurse, LPARAM(psort))) -end; - - -Function TreeView_SortChildrenCB( hwnd : hwnd;const psort :tagTVsortcb; recurse : WPARAM):BOOL;inline; - -Begin - Result:=BOOL(SendMessage((hwnd), TVM_SORTCHILDRENCB, recurse, LPARAM(@psort))) -end; - - -// Macro 192 - -//#define TreeView_EndEditLabelNow(hwnd, fCancel) \ -// (BOOL)SNDMSG((hwnd), TVM_ENDEDITLABELNOW, (WPARAM)(fCancel), 0) - -Function TreeView_EndEditLabelNow( hwnd : hwnd; fCancel : WPARAM):BOOL;inline; - -Begin - Result:=BOOL(SendMessage((hwnd), TVM_ENDEDITLABELNOW, fCancel, 0)) -end; - - -Function TreeView_EndEditLabelNow( hwnd : hwnd; fCancel : Bool):BOOL;inline; - -Begin - Result:=BOOL(SendMessage((hwnd), TVM_ENDEDITLABELNOW, WPARAM(fCancel), 0)) -end; - - -// Macro 193 - -//#define TreeView_SetToolTips(hwnd, hwndTT) \ -// (HWND)SNDMSG((hwnd), TVM_SETTOOLTIPS, (WPARAM)(hwndTT), 0) - -Function TreeView_SetToolTips( hwnd : hwnd; hwndTT : WPARAM):HWND; - -Begin - Result:=Windows.HWND(SendMessage((hwnd), TVM_SETTOOLTIPS, hwndTT, 0)) -end; - - -// Macro 194 - -//#define TreeView_GetToolTips(hwnd) \ -// (HWND)SNDMSG((hwnd), TVM_GETTOOLTIPS, 0, 0) - -Function TreeView_GetToolTips( hwnd : hwnd):HWND; - -Begin - Result:=Windows.HWND(SendMessage((hwnd), TVM_GETTOOLTIPS, 0, 0)) -end; - - -// Macro 195 - -//#define TreeView_GetISearchString(hwndTV, lpsz) \ -// (BOOL)SNDMSG((hwndTV), TVM_GETISEARCHSTRING, 0, (LPARAM)(LPTSTR)(lpsz)) - -Function TreeView_GetISearchString( hwndTV : hwnd; lpsz : LPTSTR):BOOL; - -Begin - Result:=BOOL(SendMessage((hwndTV), TVM_GETISEARCHSTRING, 0, LPARAM(lpsz))) -end; - - -// Macro 196 - -//#define TreeView_SetInsertMark(hwnd, hItem, fAfter) \ -// (BOOL)SNDMSG((hwnd), TVM_SETINSERTMARK, (WPARAM) (fAfter), (LPARAM) (hItem)) - -Function TreeView_SetInsertMark( hwnd : hwnd; hItem : LParam ; fAfter : WParam ):BOOL; - -Begin - Result:=BOOL(SendMessage((hwnd), TVM_SETINSERTMARK, (fAfter), (hItem))) -end; - - -// Macro 197 - -//#define TreeView_SetUnicodeFormat(hwnd, fUnicode) \ -// (BOOL)SNDMSG((hwnd), TVM_SETUNICODEFORMAT, (WPARAM)(fUnicode), 0) - -Function TreeView_SetUnicodeFormat( hwnd : hwnd; fUnicode : WPARAM):BOOL; - -Begin - Result:=BOOL(SendMessage((hwnd), TVM_SETUNICODEFORMAT, fUnicode, 0)) -end; - - -// Macro 198 - -//#define TreeView_GetUnicodeFormat(hwnd) \ -// (BOOL)SNDMSG((hwnd), TVM_GETUNICODEFORMAT, 0, 0) - -Function TreeView_GetUnicodeFormat( hwnd : hwnd):BOOL; - -Begin - Result:=BOOL(SendMessage((hwnd), TVM_GETUNICODEFORMAT, 0, 0)) -end; - - -// Macro 199 - -//#define TreeView_SetItemHeight(hwnd, iHeight) \ -// (int)SNDMSG((hwnd), TVM_SETITEMHEIGHT, (WPARAM)(iHeight), 0) - -Function TreeView_SetItemHeight( hwnd : hwnd; iHeight : WPARAM):cint; - -Begin - Result:=cint(SendMessage((hwnd), TVM_SETITEMHEIGHT, iHeight, 0)) -end; - - -// Macro 200 - -//#define TreeView_GetItemHeight(hwnd) \ -// (int)SNDMSG((hwnd), TVM_GETITEMHEIGHT, 0, 0) - -Function TreeView_GetItemHeight( hwnd : hwnd):cint; - -Begin - Result:=cint(SendMessage((hwnd), TVM_GETITEMHEIGHT, 0, 0)) -end; - - -// Macro 201 - -//#define TreeView_SetBkColor(hwnd, clr) \ -// (COLORREF)SNDMSG((hwnd), TVM_SETBKCOLOR, 0, (LPARAM)(clr)) - -Function TreeView_SetBkColor( hwnd : hwnd; clr : LPARAM):COLORREF; - -Begin - Result:=COLORREF(SendMessage((hwnd), TVM_SETBKCOLOR, 0, clr)) -end; - - -// Macro 202 - -//#define TreeView_SetTextColor(hwnd, clr) \ -// (COLORREF)SNDMSG((hwnd), TVM_SETTEXTCOLOR, 0, (LPARAM)(clr)) - -Function TreeView_SetTextColor( hwnd : hwnd; clr : LPARAM):COLORREF; - -Begin - Result:=COLORREF(SendMessage((hwnd), TVM_SETTEXTCOLOR, 0, clr)) -end; - - -// Macro 203 - -//#define TreeView_GetBkColor(hwnd) \ -// (COLORREF)SNDMSG((hwnd), TVM_GETBKCOLOR, 0, 0) - -Function TreeView_GetBkColor( hwnd : hwnd):COLORREF; - -Begin - Result:=COLORREF(SendMessage((hwnd), TVM_GETBKCOLOR, 0, 0)) -end; - - -// Macro 204 - -//#define TreeView_GetTextColor(hwnd) \ -// (COLORREF)SNDMSG((hwnd), TVM_GETTEXTCOLOR, 0, 0) - -Function TreeView_GetTextColor( hwnd : hwnd):COLORREF; - -Begin - Result:=COLORREF(SendMessage((hwnd), TVM_GETTEXTCOLOR, 0, 0)) -end; - - -// Macro 205 - -//#define TreeView_SetScrollTime(hwnd, uTime) \ -// (UINT)SNDMSG((hwnd), TVM_SETSCROLLTIME, uTime, 0) - -Function TreeView_SetScrollTime( hwnd : hwnd; uTime : wparam ):UINT; - -Begin - Result:=UINT(SendMessage((hwnd), TVM_SETSCROLLTIME, uTime, 0)) -end; - - -// Macro 206 - -//#define TreeView_GetScrollTime(hwnd) \ -// (UINT)SNDMSG((hwnd), TVM_GETSCROLLTIME, 0, 0) - -Function TreeView_GetScrollTime( hwnd : hwnd):UINT; - -Begin - Result:=UINT(SendMessage((hwnd), TVM_GETSCROLLTIME, 0, 0)) -end; - - -// Macro 207 - -//#define TreeView_SetInsertMarkColor(hwnd, clr) \ -// (COLORREF)SNDMSG((hwnd), TVM_SETINSERTMARKCOLOR, 0, (LPARAM)(clr)) - -Function TreeView_SetInsertMarkColor( hwnd : hwnd; clr : LPARAM):COLORREF; - -Begin - Result:=COLORREF(SendMessage((hwnd), TVM_SETINSERTMARKCOLOR, 0, clr)) -end; - - -// Macro 208 - -//#define TreeView_GetInsertMarkColor(hwnd) \ -// (COLORREF)SNDMSG((hwnd), TVM_GETINSERTMARKCOLOR, 0, 0) - -Function TreeView_GetInsertMarkColor( hwnd : hwnd):COLORREF; - -Begin - Result:=COLORREF(SendMessage((hwnd), TVM_GETINSERTMARKCOLOR, 0, 0)) -end; - - -// Macro 209 - -//#define TreeView_SetItemState(hwndTV, hti, data, _mask) \ -// { TVITEM _ms_TVi;\ -// _ms_TVi.mask = TVIF_STATE; \ -// _ms_TVi.hItem = hti; \ -// _ms_TVi.stateMask = _mask;\ -// _ms_TVi.state = data;\ -// SNDMSG((hwndTV), TVM_SETITEM, 0, (LPARAM)(TV_ITEM *)&_ms_TVi);\ -// } - -Procedure TreeView_SetItemState(hwndTV:HWND;hti:HTreeItem;data:UINT;_mask:UINT); - -var _ms_TVi : TVITEM; - -Begin - _ms_TVi.mask:=TVIF_STATE; - _ms_TVi.hItem := hti; - _ms_TVi.stateMask := _mask; - _ms_TVi.state := data; - SendMessage(hwndTV,TVM_SETITEM, 0, LPARAM(@_ms_TVi)); -end; - - -// Macro 210 - -//#define TreeView_SetCheckState(hwndTV, hti, fCheck) \ -// TreeView_SetItemState(hwndTV, hti, INDEXTOSTATEIMAGEMASK((fCheck)?2:1), TVIS_STATEIMAGEMASK) - -Procedure TreeView_SetCheckState( hwndTV : hwnd; hti : HTreeItem ; fCheck : bool ); - -var j : cint; - -Begin - IF not fCheck Then // (or inc(longint(fCheck)) if you like it dirty) - j:=1 - Else - j:=2; - - TreeView_SetItemState(hwndTV, hti, INDEXTOSTATEIMAGEMASK(j), TVIS_STATEIMAGEMASK) -end; - - -{$ifdef IE5plus} -// Macro 211 - -//#define TreeView_GetItemState(hwndTV, hti, mask) \ -// (UINT)SNDMSG((hwndTV), TVM_GETITEMSTATE, (WPARAM)(hti), (LPARAM)(mask)) - -Function TreeView_GetItemState( hwndTV : hwnd; hti : WPARAM; mask : LPARAM):UINT; - -Begin - Result:=UINT(SendMessage((hwndTV), TVM_GETITEMSTATE, hti, mask)) -end; - - - -// Macro 212 -// #define TreeView_GetCheckState(hwndTV, hti) \ -// ((((UINT)(SNDMSG((hwndTV), TVM_GETITEMSTATE, (WPARAM)(hti), TVIS_STATEIMAGEMASK))) >> 12) -1) - -Function TreeView_GetCheckState( hwndTV : hwnd; hti : WPARAM):UINT; - -Begin - Result:=((UINT(SendMessage((hwndTV), TVM_GETITEMSTATE, hti, TVIS_STATEIMAGEMASK) shr 12) -1)); -end; - - -// Macro 213 - -// #define TreeView_SetLineColor(hwnd, clr) \ -// (COLORREF)SNDMSG((hwnd), TVM_SETLINECOLOR, 0, (LPARAM)(clr)) - -Function TreeView_SetLineColor( hwnd : hwnd; clr : LPARAM):COLORREF; - -Begin - Result:=COLORREF(SendMessage((hwnd), TVM_SETLINECOLOR, 0, clr)) -end; - - -// Macro 214 - -// #define TreeView_GetLineColor(hwnd) \ -// (COLORREF)SNDMSG((hwnd), TVM_GETLINECOLOR, 0, 0) - -Function TreeView_GetLineColor( hwnd : hwnd):COLORREF; - -Begin - Result:=COLORREF(SendMessage((hwnd), TVM_GETLINECOLOR, 0, 0)) -end; - - -// Macro 215 -// #define TreeView_MapAccIDToHTREEITEM(hwnd, id) \ -// (HTREEITEM)SNDMSG((hwnd), TVM_MAPACCIDTOHTREEITEM, id, 0) - -Function TreeView_MapAccIDToHTREEITEM( hwnd : hwnd; id :uint):HTREEITEM; - -Begin - Result:=HTREEITEM(SendMessage((hwnd), TVM_MAPACCIDTOHTREEITEM, id, 0)) -end; - - -// Macro 216 -// #define TreeView_MapHTREEITEMToAccID(hwnd, htreeitem) \ -// (UINT)SNDMSG((hwnd), TVM_MAPHTREEITEMTOACCID, (WPARAM)htreeitem, 0) - -Function TreeView_MapHTREEITEMToAccID( hwnd : hwnd; htreeitem : WPARAM):UINT; - -Begin - Result:=UINT(SendMessage((hwnd), TVM_MAPHTREEITEMTOACCID, htreeitem, 0)) -end; -{$endif} - -{$ifdef win32vista} -function TreeView_GetSelectedCount(hwnd:hwnd):DWORD; -Begin - Result:=DWORD(SendMessage((hwnd),TVM_GETSELECTEDCOUNT, 0, 0)); -end; - -function TreeView_ShowInfoTip(hwnd:HWND; hitem:HTREEITEM):DWORD; -Begin - Result:=DWORD(SendMessage((hwnd),TVM_SHOWINFOTIP, 0, LPARAM(hitem))); -end; - -function TreeView_GetItemPartRect(hwnd:HWND; hitem:HTREEITEM; prc:prect; partid:TVITEMPART):bool; -var info : TVGETITEMPARTRECTINFO; -Begin - info.hti := (hitem); - info.prc := (prc); - info.partID := (partid); - Result:=BOOL(SendMessage((hwnd), TVM_GETITEMPARTRECT, 0, LPARAM(@info))); -end; -{$endif} - -// Macro 217 - -//#define TabCtrl_GetImageList(hwnd) \ -// (HIMAGELIST)SNDMSG((hwnd), TCM_GETIMAGELIST, 0, DWord(0)) - -Function TabCtrl_GetImageList( hwnd : hwnd):HIMAGELIST; - -Begin - Result:=HIMAGELIST(SendMessage((hwnd), TCM_GETIMAGELIST, 0, LPARAM(0))) -end; - - -// Macro 218 - -//#define TabCtrl_SetImageList(hwnd, himl) \ -// (HIMAGELIST)SNDMSG((hwnd), TCM_SETIMAGELIST, 0, (LPARAM)(HIMAGELIST)(himl)) - -Function TabCtrl_SetImageList( hwnd : hwnd; himl : HIMAGELIST):HIMAGELIST; - -Begin - Result:=HIMAGELIST(SendMessage((hwnd), TCM_SETIMAGELIST, 0, himl)) -end; - - -// Macro 219 - -//#define TabCtrl_GetItemCount(hwnd) \ -// (int)SNDMSG((hwnd), TCM_GETITEMCOUNT, 0, DWord(0)) - -Function TabCtrl_GetItemCount( hwnd : hwnd):cint; - -Begin - Result:=cint(SendMessage((hwnd), TCM_GETITEMCOUNT, 0, LPARAM(0))) -end; - - -// Macro 220 - -//#define TabCtrl_GetItem(hwnd, iItem, pitem) \ -// (BOOL)SNDMSG((hwnd), TCM_GETITEM, (WPARAM)(int)(iItem), (LPARAM)(TC_ITEM *)(pitem)) - -Function TabCtrl_GetItem( hwnd : hwnd; iItem : cint;var pitem : TC_ITEM ):BOOL; - -Begin - Result:=BOOL(SendMessage((hwnd), TCM_GETITEM, iItem, LPARAM(@pitem))) -end; - - -// Macro 221 - -//#define TabCtrl_SetItem(hwnd, iItem, pitem) \ -// (BOOL)SNDMSG((hwnd), TCM_SETITEM, (WPARAM)(int)(iItem), (LPARAM)(TC_ITEM *)(pitem)) - -Function TabCtrl_SetItem( hwnd : hwnd; iItem : cint;var pitem : TC_ITEM ):BOOL; - -Begin - Result:=BOOL(SendMessage((hwnd), TCM_SETITEM, iItem, LPARAM(@pitem))) -end; - - -// Macro 222 - -//#define TabCtrl_InsertItem(hwnd, iItem, pitem) \ -// (int)SNDMSG((hwnd), TCM_INSERTITEM, (WPARAM)(int)(iItem), (LPARAM)(const TC_ITEM *)(pitem)) - -Function TabCtrl_InsertItem( hwnd : hwnd; iItem : cint;const pitem : TC_ITEM ):cint; - -Begin - Result:=cint(SendMessage((hwnd), TCM_INSERTITEM, iItem, LPARAM(@pitem))); -end; - - -// Macro 223 - -//#define TabCtrl_DeleteItem(hwnd, i) \ -// (BOOL)SNDMSG((hwnd), TCM_DELETEITEM, (WPARAM)(int)(i), DWord(0)) - -Function TabCtrl_DeleteItem( hwnd : hwnd; i : cint):BOOL; - -Begin - Result:=BOOL(SendMessage((hwnd), TCM_DELETEITEM, (i), LPARAM(0))) -end; - - -// Macro 224 - -//#define TabCtrl_DeleteAllItems(hwnd) \ -// (BOOL)SNDMSG((hwnd), TCM_DELETEALLITEMS, 0, DWord(0)) - -Function TabCtrl_DeleteAllItems( hwnd : hwnd):BOOL; - -Begin - Result:=BOOL(SendMessage((hwnd), TCM_DELETEALLITEMS, 0, LPARAM(0))) -end; - - -// Macro 225 - -//#define TabCtrl_GetItemRect(hwnd, i, prc) \ -// (BOOL)SNDMSG((hwnd), TCM_GETITEMRECT, (WPARAM)(int)(i), (LPARAM)(RECT *)(prc)) - -Function TabCtrl_GetItemRect( hwnd : hwnd; i : cint;var prc : RECT ):BOOL; - -Begin - Result:=BOOL(SendMessage((hwnd), TCM_GETITEMRECT, (i), LPARAM(@prc))) -end; - - -// Macro 226 - -//#define TabCtrl_GetCurSel(hwnd) \ -// (int)SNDMSG((hwnd), TCM_GETCURSEL, 0, 0) - -Function TabCtrl_GetCurSel( hwnd : hwnd):cint; - -Begin - Result:=cint(SendMessage((hwnd), TCM_GETCURSEL, 0, 0)) -end; - - -// Macro 227 - -//#define TabCtrl_SetCurSel(hwnd, i) \ -// (int)SNDMSG((hwnd), TCM_SETCURSEL, (WPARAM)(i), 0) - -Function TabCtrl_SetCurSel( hwnd : hwnd; i : WPARAM):cint; - -Begin - Result:=cint(SendMessage((hwnd), TCM_SETCURSEL, (i), 0)) -end; - - -// Macro 228 - -//#define TabCtrl_HitTest(hwndTC, pinfo) \ -// (int)SNDMSG((hwndTC), TCM_HITTEST, 0, (LPARAM)(TC_HITTESTINFO *)(pinfo)) - -Function TabCtrl_HitTest( hwndTC : hwnd;var pinfo : TC_HITTESTINFO ):cint;inline; - -Begin - Result:=cint(SendMessage((hwndTC), TCM_HITTEST, 0, LPARAM(@pinfo))) -end; - - -Function TabCtrl_HitTest( hwndTC : hwnd;pinfo : LPTCHITTESTINFO ):cint;inline; - -Begin - Result:=cint(SendMessage((hwndTC), TCM_HITTEST, 0, LPARAM(@pinfo))) -end; - - -// Macro 229 - -//#define TabCtrl_SetItemExtra(hwndTC, cb) \ -// (BOOL)SNDMSG((hwndTC), TCM_SETITEMEXTRA, (WPARAM)(cb), DWord(0)) - -Function TabCtrl_SetItemExtra( hwndTC : hwnd; cb : WPARAM):BOOL; - -Begin - Result:=BOOL(SendMessage((hwndTC), TCM_SETITEMEXTRA, cb, LPARAM(0))) -end; - - -// Macro 230 - -//#define TabCtrl_AdjustRect(hwnd, bLarger, prc) \ -// (int)SNDMSG(hwnd, TCM_ADJUSTRECT, (WPARAM)(BOOL)(bLarger), (LPARAM)(RECT *)prc) - -Function TabCtrl_AdjustRect( hwnd : hwnd; bLarger : BOOL;var prc : RECT ):cint; - -Begin - Result:=cint(SendMessage(hwnd, TCM_ADJUSTRECT, Wparam(bLarger), Lparam(@prc))); -end; - - -// Macro 231 - -//#define TabCtrl_SetItemSize(hwnd, x, y) \ -// (DWORD)SNDMSG((hwnd), TCM_SETITEMSIZE, 0, MAKELPARAM(x,y)) - -Function TabCtrl_SetItemSize( hwnd : hwnd; x : wparam ; y : lparam ):DWORD; - -Begin - Result:=DWORD(SendMessage((hwnd), TCM_SETITEMSIZE, 0, MAKELPARAM(x,y))) -end; - - -// Macro 232 - -//#define TabCtrl_RemoveImage(hwnd, i) \ -// (void)SNDMSG((hwnd), TCM_REMOVEIMAGE, i, DWord(0)) - -Procedure TabCtrl_RemoveImage( hwnd : hwnd; i : WPARAM); - -Begin -SendMessage((hwnd), TCM_REMOVEIMAGE, i, LPARAM(0)) -end; - - -// Macro 233 - -//#define TabCtrl_SetPadding(hwnd, cx, cy) \ -// (void)SNDMSG((hwnd), TCM_SETPADDING, 0, MAKELPARAM(cx, cy)) - -Procedure TabCtrl_SetPadding( hwnd : hwnd; cx : WPARAM ; cy : LPARAM ); - -Begin -SendMessage((hwnd), TCM_SETPADDING, 0, MAKELPARAM(cx, cy)) -end; - - -// Macro 234 - -//#define TabCtrl_GetRowCount(hwnd) \ -// (int)SNDMSG((hwnd), TCM_GETROWCOUNT, 0, DWord(0)) - -Function TabCtrl_GetRowCount( hwnd : hwnd):cint; - -Begin - Result:=cint(SendMessage((hwnd), TCM_GETROWCOUNT, 0, LPARAM(0))) -end; - - -// Macro 235 - -//#define TabCtrl_GetToolTips(hwnd) \ -// (HWND)SNDMSG((hwnd), TCM_GETTOOLTIPS, 0, DWord(0)) - -Function TabCtrl_GetToolTips( hwnd : hwnd):HWND; - -Begin - Result:=Windows.HWND(SendMessage((hwnd), TCM_GETTOOLTIPS, 0, LPARAM(0))) -end; - - -// Macro 236 - -//#define TabCtrl_SetToolTips(hwnd, hwndTT) \ -// (void)SNDMSG((hwnd), TCM_SETTOOLTIPS, (WPARAM)(hwndTT), DWord(0)) - -Procedure TabCtrl_SetToolTips( hwnd : hwnd; hwndTT : WPARAM); - -Begin -SendMessage((hwnd), TCM_SETTOOLTIPS, hwndTT, LPARAM(0)) -end; - - -// Macro 237 - -//#define TabCtrl_GetCurFocus(hwnd) \ -// (int)SNDMSG((hwnd), TCM_GETCURFOCUS, 0, 0) - -Function TabCtrl_GetCurFocus( hwnd : hwnd):cint; - -Begin - Result:=cint(SendMessage((hwnd), TCM_GETCURFOCUS, 0, 0)) -end; - - -// Macro 238 - -//#define TabCtrl_SetCurFocus(hwnd, i) \ -// SNDMSG((hwnd),TCM_SETCURFOCUS, i, 0) - -Procedure TabCtrl_SetCurFocus( hwnd : hwnd; i : LPARAM ); - -Begin -SendMessage((hwnd),TCM_SETCURFOCUS, i, 0) -end; - - -// Macro 239 - -//#define TabCtrl_SetMinTabWidth(hwnd, x) \ -// (int)SNDMSG((hwnd), TCM_SETMINTABWIDTH, 0, x) - -Function TabCtrl_SetMinTabWidth( hwnd : hwnd; x : WPARAM ):cint; - -Begin - Result:=cint(SendMessage((hwnd), TCM_SETMINTABWIDTH, 0, x)) -end; - - -// Macro 240 - -//#define TabCtrl_DeselectAll(hwnd, fExcludeFocus)\ -// (void)SNDMSG((hwnd), TCM_DESELECTALL, fExcludeFocus, 0) - -Procedure TabCtrl_DeselectAll( hwnd : hwnd; fExcludeFocus : WPARAM ); - -Begin -SendMessage((hwnd), TCM_DESELECTALL, fExcludeFocus, 0) -end; - - -// Macro 241 - -//#define TabCtrl_HighlightItem(hwnd, i, fHighlight) \ -// (BOOL)SNDMSG((hwnd), TCM_HIGHLIGHTITEM, (WPARAM)(i), (LPARAM)MAKELONG (fHighlight, 0)) - -Function TabCtrl_HighlightItem( hwnd : hwnd; i : WPARAM; fHighlight :bool ):BOOL; - -Begin - Result:=BOOL(SendMessage((hwnd), TCM_HIGHLIGHTITEM, (i), LPARAM(MAKELONG (cint(fHighlight), 0)))) -end; - - -// Macro 242 - -//#define TabCtrl_SetExtendedStyle(hwnd, dw)\ -// (DWORD)SNDMSG((hwnd), TCM_SETEXTENDEDSTYLE, 0, dw) - -Function TabCtrl_SetExtendedStyle( hwnd : hwnd; dw : LPARAM):DWORD; - -Begin - Result:=DWORD(SendMessage((hwnd), TCM_SETEXTENDEDSTYLE, 0,lparam(dw))) -end; - - -// Macro 243 - -//#define TabCtrl_GetExtendedStyle(hwnd)\ -// (DWORD)SNDMSG((hwnd), TCM_GETEXTENDEDSTYLE, 0, 0) - -Function TabCtrl_GetExtendedStyle( hwnd : hwnd):DWORD; - -Begin - Result:=DWORD(SendMessage((hwnd), TCM_GETEXTENDEDSTYLE, 0, 0)) -end; - - -// Macro 244 - -//#define TabCtrl_SetUnicodeFormat(hwnd, fUnicode) \ -// (BOOL)SNDMSG((hwnd), TCM_SETUNICODEFORMAT, (WPARAM)(fUnicode), 0) - -Function TabCtrl_SetUnicodeFormat( hwnd : hwnd; fUnicode : WPARAM):BOOL; - -Begin - Result:=BOOL(SendMessage((hwnd), TCM_SETUNICODEFORMAT, fUnicode, 0)) -end; - - -// Macro 245 - -//#define TabCtrl_GetUnicodeFormat(hwnd) \ -// (BOOL)SNDMSG((hwnd), TCM_GETUNICODEFORMAT, 0, 0) - -Function TabCtrl_GetUnicodeFormat( hwnd : hwnd):BOOL; - -Begin - Result:=BOOL(SendMessage((hwnd), TCM_GETUNICODEFORMAT, 0, 0)); -end; - - -// Macro 246 - -//#define Animate_Create(hwndP, id, dwStyle, hInstance) \ -// CreateWindow(ANIMATE_CLASS, NULL, \ -// dwStyle, 0, 0, 0, 0, hwndP, (HMENU)(id), hInstance, NULL) - -Function Animate_Create(hwndP :HWND;id:HMENU;dwStyle:dword;hInstance:HINST):HWND; - -Begin - result:=CreateWindow(ANIMATE_CLASS, NIL, - dwStyle, 0, 0, 0, 0, hwndP, id, hInstance, NIL); -end; - - -// Macro 247 -//#define Animate_Open(hwnd, szName) (BOOL)SNDMSG(hwnd, ACM_OPEN, 0, (LPARAM)(LPTSTR)(szName)) - -Function Animate_Open(hwndP :HWND;szName:LPTSTR):BOOL; - -Begin - Result:=BOOL(SendMessage(hwndp, ACM_OPEN, 0, LPARAM(szName))); -end; - - -// Macro 248 -//#define Animate_OpenEx(hwnd, hInst, szName) (BOOL)SNDMSG(hwnd, ACM_OPEN, (WPARAM)(hInst), (LPARAM)(LPTSTR)(szName)) - -Function Animate_OpenEx(hwndP :HWND;HInst:HInst; szName:LPTSTR):BOOL; - -Begin - Result:=BOOL(SendMessage(hwndp, ACM_OPEN, hinst, LPARAM(szName))); -end; - - -// Macro 249 -//#define Animate_Play(hwnd, from, to, rep) (BOOL)SNDMSG(hwnd, ACM_PLAY, (WPARAM)(rep), (LPARAM)MAKELONG(from, to)) - -Function Animate_Play(hwndP :HWND;from,_to,rep:uint):BOOL; - -Begin - Result:=BOOL(SendMessage(hwndP, ACM_PLAY, wparam(rep), LPARAM(MAKELONG(From,_to)))); -end; - - -// Macro 250 -//#define Animate_Stop(hwnd) (BOOL)SNDMSG(hwnd, ACM_STOP, 0, 0) - -Function Animate_stop(hwndP :HWND):BOOL; - -Begin - Result:=BOOL(SendMessage(hwndP, ACM_STOP, 0, 0)); -end; - - -// Macro 251 -//#define Animate_Close(hwnd) Animate_Open(hwnd, NULL) - -Function Animate_close(hwndP :HWND):BOOL; - -Begin - Result:=BOOL(Animate_Open(hwndP,NIL)); -end; - - -// Macro 252 -//#define Animate_Seek(hwnd, frame) Animate_Play(hwnd, frame, frame, 1) - -Function Animate_Seek(hwndP :HWND;frame:uint):BOOL; - -Begin - Result:=BOOL(Animate_Play(hwndP,frame,frame,1)); -end; - -// Macro 253 -//#define MonthCal_GetCurSel(hmc, pst) (BOOL)SNDMSG(hmc, MCM_GETCURSEL, 0, (LPARAM)(pst)) - -function MonthCal_GetCurSel(hwndMC:HWND; lpSysTime :LPSYSTEMTIME):Bool; - -begin - Result:=BOOL(SendMessage(hwndmc, MCM_GETCURSEL , 0, LPARAM(lpsystime))); -end; - -// Macro 254 -//#define MonthCal_SetCurSel(hmc, pst) (BOOL)SNDMSG(hmc, MCM_SETCURSEL, 0, (LPARAM)(pst)) - -function MonthCal_SetCurSel(hwndMC:HWND; lpSysTime :LPSYSTEMTIME):Bool; inline; - -begin - Result:=BOOL(SendMessage(hwndmc, MCM_SETCURSEL, 0, LPARAM(lpsystime))); -end; - -function MonthCal_SetCurSel(hwndMC:HWND; var lpSysTime :SYSTEMTIME):Bool; inline; - -begin - Result:=BOOL(SendMessage(hwndmc, MCM_SETCURSEL, 0, LPARAM(@lpsystime))); -end; - -// Macro 255 -//#define MonthCal_GetMaxSelCount(hmc) (DWORD)SNDMSG(hmc, MCM_GETMAXSELCOUNT, 0, DWord(0)) - -function MonthCal_GetMaxSelCount(hwndMC:HWND):Bool; - -begin - Result:=BOOL(SendMessage(hwndmc, MCM_GETMAXSELCOUNT, 0, LPARAM(0))); -end; - -// Macro 256 -//#define MonthCal_SetMaxSelCount(hmc, n) (BOOL)SNDMSG(hmc, MCM_SETMAXSELCOUNT, (WPARAM)(n), DWord(0)) - -function MonthCal_SetMaxSelCount(hwndMC:HWND;n:uint):Bool; - -begin - Result:=BOOL(SendMessage(hwndmc, MCM_SETMAXSELCOUNT,WPARAM(N), LPARAM(0))); -end; - -// Macro 257 -//#define MonthCal_GetSelRange(hmc, rgst) SNDMSG(hmc, MCM_GETSELRANGE, 0, (LPARAM)(rgst)) - -function MonthCal_GetSelRange(hwndMC:HWND; lpSysTime :LPSYSTEMTIME):Bool; - -begin - Result:=BOOL(SendMessage(hwndmc, MCM_GETSELRANGE,WPARAM(0), LPARAM(lpsystime))); -end; - -// Macro 258 -//#define MonthCal_SetSelRange(hmc, rgst) SNDMSG(hmc, MCM_SETSELRANGE, 0, (LPARAM)(rgst)) - -function MonthCal_SetSelRange(hwndMC:HWND; lpSysTime :LPSYSTEMTIME):Bool; - -begin - Result:=BOOL(SendMessage(hwndmc, MCM_SETSELRANGE,WPARAM(0), LPARAM(lpsystime))); -end; - - -// Macro 259 -//#define MonthCal_GetMonthRange(hmc, gmr, rgst) (DWORD)SNDMSG(hmc, MCM_GETMONTHRANGE, (WPARAM)(gmr), (LPARAM)(rgst)) - -function MonthCal_GetMonthRange(hwndMC:HWND; gmr: DWORD;lpSysTime :LPSYSTEMTIME):Bool; - -begin - Result:=BOOL(SendMessage(hwndmc, MCM_GETMONTHRANGE,WPARAM(gmr), LPARAM(lpsystime))); -end; - -// Macro 260 -//#define MonthCal_SetDayState(hmc, cbds, rgds) SNDMSG(hmc, MCM_SETDAYSTATE, (WPARAM)(cbds), (LPARAM)(rgds)) - -function MonthCal_SetDayState(hwndMC:HWND; gmr: Longint;lpDay :LPMONTHDAYSTATE):Bool; - -begin - Result:=BOOL(SendMessage(hwndmc, MCM_SETDAYSTATE,WPARAM(gmr), LPARAM(lpDay))); -end; - -// Macro 261 -// #define MonthCal_GetMinReqRect(hmc, prc) SNDMSG(hmc, MCM_GETMINREQRECT, 0, (LPARAM)(prc)) - -function MonthCal_GetMinReqRect(hwndMC:HWND; lpr :LPRect):Bool;inline; - -begin - Result:=BOOL(SendMessage(hwndmc, MCM_GETMINREQRECT,0, LPARAM(lpr))); -end; - -function MonthCal_GetMinReqRect(hwndMC:HWND;var lpr :TRect):Bool;inline; - -begin - Result:=BOOL(SendMessage(hwndmc, MCM_GETMINREQRECT,0, LPARAM(@lpr))); -end; - -// Macro 262 -// #define MonthCal_SetColor(hmc, iColor, clr) SNDMSG(hmc, MCM_SETCOLOR, iColor, clr) - -function MonthCal_SetColor(hwndMC:HWND; ic:longint;clr:COLORREF):DWORD;inline; - -begin - Result:=DWORD(SendMessage(hwndmc, MCM_SETCOLOR,ic, LPARAM(clr))); -end; - -// Macro 263 -// #define MonthCal_GetColor(hmc, iColor) SNDMSG(hmc, MCM_GETCOLOR, iColor, 0) - -function MonthCal_GetColor(hwndMC:HWND; ic:longint):Bool; - -begin - Result:=BOOL(SendMessage(hwndmc, MCM_GETCOLOR,ic, 0)); -end; - -// Macro 264 -// #define MonthCal_SetToday(hmc, pst) SNDMSG(hmc, MCM_SETTODAY, 0, (LPARAM)(pst)) - -function MonthCal_SetToday(hwndMC:HWND; lps:LPSYSTEMTIME):Bool; - -begin - Result:=BOOL(SendMessage(hwndmc, MCM_SETTODAY,0, LPARAM(lps))); -end; - -// Macro 265 -// #define MonthCal_GetToday(hmc, pst) (BOOL)SNDMSG(hmc, MCM_GETTODAY, 0, (LPARAM)(pst)) - -function MonthCal_GetToday(hwndMC:HWND; lps:LPSYSTEMTIME):Bool; - -begin - Result:=BOOL(SendMessage(hwndmc, MCM_GETTODAY,0, LPARAM(lps))); -end; - - -// Macro 266 -// #define MonthCal_HitTest(hmc, pinfo) \ -// SNDMSG(hmc, MCM_HITTEST, 0, (LPARAM)(PMCHITTESTINFO)(pinfo)) - -FUNCTION MonthCal_HitTest( hmc :HWND ; pinfo : PMCHITTESTINFO):DWORD; - -Begin - Result:=DWORD(SendMessage(hmc, MCM_HITTEST, 0, LPARAM(pinfo))); -end; - - -// Macro 267 -// #define MonthCal_SetFirstDayOfWeek(hmc, iDay) \ -// SNDMSG(hmc, MCM_SETFIRSTDAYOFWEEK, 0, iDay) - -function MonthCal_SetFirstDayOfWeek( hmc : HWND ; iDay :LONGINT ):DWORD; - -Begin - Result:=SendMessage(hmc, MCM_SETFIRSTDAYOFWEEK, 0, iDay); -end; - - -// Macro 268 -// #define MonthCal_GetFirstDayOfWeek(hmc) \ -// (DWORD)SNDMSG(hmc, MCM_GETFIRSTDAYOFWEEK, 0, 0) - -Function MonthCal_GetFirstDayOfWeek( hmc : HWND ):DWORD; - -Begin - Result:=DWORD(SendMessage(hmc, MCM_GETFIRSTDAYOFWEEK, 0, 0)) -end; - - -// Macro 269 -// #define MonthCal_GetRange(hmc, rgst) \ -// (DWORD)SNDMSG(hmc, MCM_GETRANGE, 0, (LPARAM)(rgst)) - -Function MonthCal_GetRange( hmc : HWND ; rgst : LPSYSTEMTIME):DWORD; - -Begin - Result:=DWORD(SendMessage(hmc, MCM_GETRANGE, 0, lparam(rgst))); -end; - - -// Macro 270 -// #define MonthCal_SetRange(hmc, gd, rgst) \ -// (BOOL)SNDMSG(hmc, MCM_SETRANGE, (WPARAM)(gd), (LPARAM)(rgst)) - -Function MonthCal_SetRange( hmc : HWND ; gd : DWORD; rgst : LPSYSTEMTIME):BOOL; - -Begin - Result:=BOOL(SendMessage(hmc, MCM_SETRANGE, gd,LPARAM(rgst))) -end; - - -// Macro 271 -// #define MonthCal_GetMonthDelta(hmc) \ -// (int)SNDMSG(hmc, MCM_GETMONTHDELTA, 0, 0) - -Function MonthCal_GetMonthDelta( hmc :hwnd ):cint; - -Begin - Result:=cint(SendMessage(hmc, MCM_GETMONTHDELTA, 0, 0)) -end; - - -// Macro 272 -// #define MonthCal_SetMonthDelta(hmc, n) \ -// (int)SNDMSG(hmc, MCM_SETMONTHDELTA, n, 0) - -Function MonthCal_SetMonthDelta( hmc :hwnd ; n :cint ):cint; - -Begin - Result:=cint(SendMessage(hmc, MCM_SETMONTHDELTA, n, 0)) -end; - - -// Macro 273 - -// #define MonthCal_GetMaxTodayWidth(hmc) \ -// (DWORD)SNDMSG(hmc, MCM_GETMAXTODAYWIDTH, 0, 0) - -Function MonthCal_GetMaxTodayWidth( hmc :hwnd ):DWORD; - -Begin - Result:=DWORD(SendMessage(hmc, MCM_GETMAXTODAYWIDTH, 0, 0)) -end; - - -// Macro 274 -// #define MonthCal_SetUnicodeFormat(hwnd, fUnicode) \ -// (BOOL)SNDMSG((hwnd), MCM_SETUNICODEFORMAT, (WPARAM)(fUnicode), 0) - -Function MonthCal_SetUnicodeFormat( hwnd : hwnd; fUnicode : bool):BOOL; - -Begin - Result:=BOOL(SendMessage((hwnd), MCM_SETUNICODEFORMAT, wparam(fUnicode), 0)) -end; - - -// Macro 275 - -// #define MonthCal_GetUnicodeFormat(hwnd) \ -// (BOOL)SNDMSG((hwnd), MCM_GETUNICODEFORMAT, 0, 0) - -Function MonthCal_GetUnicodeFormat( hwnd : hwnd):BOOL; - -Begin - Result:=BOOL(SendMessage((hwnd), MCM_GETUNICODEFORMAT, 0, 0)) -end; - - -// Macro 276 -// #define DateTime_GetSystemtime(hdp, pst) (DWORD)SNDMSG(hdp, DTM_GETSYSTEMTIME, 0, (LPARAM)(pst)) - -// Macro 277 - -//#define DateTime_SetSystemtime(hdp, gd, pst) (BOOL)SNDMSG(hdp, DTM_SETSYSTEMTIME, (WPARAM)(gd), (LPARAM)(pst)) -function DateTime_SetSystemTime(hdp: HWND; gd: DWORD; const pst: TSystemTime): BOOL;inline; -begin - result:=BOOL(SendMessage(hdp, DTM_SETSYSTEMTIME, WPARAM(gd), LPARAM(@pst))); -end; - -// Macro 278 - -//#define DateTime_GetRange(hdp, rgst) (DWORD)SNDMSG(hdp, DTM_GETRANGE, 0, (LPARAM)(rgst)) - -// Macro 279 - -//#define DateTime_SetRange(hdp, gd, rgst) (BOOL)SNDMSG(hdp, DTM_SETRANGE, (WPARAM)(gd), (LPARAM)(rgst)) -function DateTime_SetRange(hdp: HWND; gdtr: DWORD; rgst: PSystemTime): BOOL;inline; -begin - result:=BOOL(SendMessage(hdp, DTM_SETRANGE, WPARAM(gdtr), LPARAM(rgst))); -end; - -// Macro 280 - -//#define DateTime_SetFormat(hdp, sz) (BOOL)SNDMSG(hdp, DTM_SETFORMAT, 0, (LPARAM)(sz)) - -// Macro 281 - -//#define DateTime_SetMonthCalColor(hdp, iColor, clr) SNDMSG(hdp, DTM_SETMCCOLOR, iColor, clr) -function DateTime_SetMonthCalColor(hdp: HWND; iColor: DWORD; clr: TColorRef): TColorRef;inline; -begin - result:=TColorRef(SendMessage(hdp, DTM_SETMCCOLOR, iColor, clr)); -end; - -// Macro 282 - -//#define DateTime_GetMonthCalColor(hdp, iColor) SNDMSG(hdp, DTM_GETMCCOLOR, iColor, 0) - -// Macro 283 - -//#define DateTime_GetMonthCal(hdp) (HWND)SNDMSG(hdp, DTM_GETMONTHCAL, 0, 0) -function DateTime_GetMonthCal(hdp: HWND): HWND;inline; -begin - result:=HWND(SendMessage(hdp, DTM_GETMONTHCAL, 0, 0)); -end; - -// Macro 284 - -//#define DateTime_SetMonthCalFont(hdp, hfont, fRedraw) SNDMSG(hdp, DTM_SETMCFONT, (WPARAM)(hfont), (LPARAM)(fRedraw)) - -// Macro 285 - -//#define DateTime_GetMonthCalFont(hdp) SNDMSG(hdp, DTM_GETMCFONT, 0, 0) - -// Macro 286 - -//#define MAKEIPRANGE(low, high) ((LPARAM)(WORD)(((BYTE)(high) << 8) + (BYTE)(low))) - -// Macro 287 - -//#define MAKEIPADDRESS(b1,b2,b3,b4) ((LPARAM)(((DWORD)(b1)<<24)+((DWORD)(b2)<<16)+((DWORD)(b3)<<8)+((DWORD)(b4)))) - -// Macro 288 - -//#define FIRST_IPADDRESS(x) ((x>>24) & 0xff) - -// Macro 289 - -//#define SECOND_IPADDRESS(x) ((x>>16) & 0xff) - -// Macro 290 - -//#define THIRD_IPADDRESS(x) ((x>>8) & 0xff) - -// Macro 291 - -//#define FOURTH_IPADDRESS(x) (x & 0xff) - -// Macro 292 - -//#define Pager_SetChild(hwnd, hwndChild) \ -// (void)SNDMSG((hwnd), PGM_SETCHILD, 0, (LPARAM)(hwndChild)) - -Procedure Pager_SetChild( hwnd : hwnd; hwndChild : LPARAM); - -Begin -SendMessage((hwnd), PGM_SETCHILD, 0, hwndChild) -end; - - -// Macro 293 - -//#define Pager_RecalcSize(hwnd) \ -// (void)SNDMSG((hwnd), PGM_RECALCSIZE, 0, 0) - -Procedure Pager_RecalcSize( hwnd : hwnd); - -Begin -SendMessage((hwnd), PGM_RECALCSIZE, 0, 0) -end; - - -// Macro 294 - -//#define Pager_ForwardMouse(hwnd, bForward) \ -// (void)SNDMSG((hwnd), PGM_FORWARDMOUSE, (WPARAM)(bForward), 0) - -Procedure Pager_ForwardMouse( hwnd : hwnd; bForward : WPARAM); - -Begin -SendMessage((hwnd), PGM_FORWARDMOUSE, bForward, 0) -end; - - -// Macro 295 - -//#define Pager_SetBkColor(hwnd, clr) \ -// (COLORREF)SNDMSG((hwnd), PGM_SETBKCOLOR, 0, (LPARAM)(clr)) - -Function Pager_SetBkColor( hwnd : hwnd; clr : LPARAM):COLORREF; - -Begin - Result:=COLORREF(SendMessage((hwnd), PGM_SETBKCOLOR, 0, clr)) -end; - - -// Macro 296 - -//#define Pager_GetBkColor(hwnd) \ -// (COLORREF)SNDMSG((hwnd), PGM_GETBKCOLOR, 0, 0) - -Function Pager_GetBkColor( hwnd : hwnd):COLORREF; - -Begin - Result:=COLORREF(SendMessage((hwnd), PGM_GETBKCOLOR, 0, 0)) -end; - - -// Macro 297 - -//#define Pager_SetBorder(hwnd, iBorder) \ -// (int)SNDMSG((hwnd), PGM_SETBORDER, 0, (LPARAM)(iBorder)) - -Function Pager_SetBorder( hwnd : hwnd; iBorder : LPARAM):cint; - -Begin - Result:=cint(SendMessage((hwnd), PGM_SETBORDER, 0, iBorder)) -end; - - -// Macro 298 -// #define Pager_GetBorder(hwnd) \ -// (int)SNDMSG((hwnd), PGM_GETBORDER, 0, 0) - -Function Pager_GetBorder( hwnd : hwnd):cint; - -Begin - Result:=cint(SendMessage((hwnd), PGM_GETBORDER, 0, 0)) -end; - - -// Macro 299 - -//#define Pager_SetPos(hwnd, iPos) \ -// (int)SNDMSG((hwnd), PGM_SETPOS, 0, (LPARAM)(iPos)) - -Function Pager_SetPos( hwnd : hwnd; iPos : LPARAM):cint; - -Begin - Result:=cint(SendMessage((hwnd), PGM_SETPOS, 0, iPos)) -end; - - -// Macro 300 - -//#define Pager_GetPos(hwnd) \ -// (int)SNDMSG((hwnd), PGM_GETPOS, 0, 0) - -Function Pager_GetPos( hwnd : hwnd):cint; - -Begin - Result:=cint(SendMessage((hwnd), PGM_GETPOS, 0, 0)) -end; - - -// Macro 301 - -//#define Pager_SetButtonSize(hwnd, iSize) \ -// (int)SNDMSG((hwnd), PGM_SETBUTTONSIZE, 0, (LPARAM)(iSize)) - -Function Pager_SetButtonSize( hwnd : hwnd; iSize : LPARAM):cint; - -Begin - Result:=cint(SendMessage((hwnd), PGM_SETBUTTONSIZE, 0, iSize)) -end; - - -// Macro 302 - -//#define Pager_GetButtonSize(hwnd) \ -// (int)SNDMSG((hwnd), PGM_GETBUTTONSIZE, 0,0) - -Function Pager_GetButtonSize( hwnd : hwnd):cint; - -Begin - Result:=cint(SendMessage((hwnd), PGM_GETBUTTONSIZE, 0,0)) -end; - - -// Macro 303 - -//#define Pager_GetButtonState(hwnd, iButton) \ -// (DWORD)SNDMSG((hwnd), PGM_GETBUTTONSTATE, 0, (LPARAM)(iButton)) - -Function Pager_GetButtonState( hwnd : hwnd; iButton : LPARAM):DWORD; - -Begin - Result:=DWORD(SendMessage((hwnd), PGM_GETBUTTONSTATE, 0, iButton)) -end; - - -// Macro 304 -// #define Pager_GetDropTarget(hwnd, ppdt) \ -// (void)SNDMSG((hwnd), PGM_GETDROPTARGET, 0, (LPARAM)(ppdt)) - -Procedure Pager_GetDropTarget( hwnd : hwnd; ppdt : LPARAM); - -Begin -SendMessage((hwnd), PGM_GETDROPTARGET, 0, ppdt) -end; - - -// Macro 305 -// #define Button_GetIdealSize(hwnd, psize)\ -// (BOOL)SNDMSG((hwnd), BCM_GETIDEALSIZE, 0, (LPARAM)(psize)) - -Function Button_GetIdealSize( hwnd : hwnd; psize : LPARAM):BOOL; - -Begin - Result:=BOOL(SendMessage((hwnd), BCM_GETIDEALSIZE, 0, psize)) -end; - - -// Macro 306 -// #define Button_SetImageList(hwnd, pbuttonImagelist)\ -// (BOOL)SNDMSG((hwnd), BCM_SETIMAGELIST, 0, (LPARAM)(pbuttonImagelist)) - -Function Button_SetImageList( hwnd : hwnd; pbuttonImagelist : LPARAM):BOOL; - -Begin - Result:=BOOL(SendMessage((hwnd), BCM_SETIMAGELIST, 0, pbuttonImagelist)) -end; - -// Macro 307 -// #define Button_GetImageList(hwnd, pbuttonImagelist)\ -// (BOOL)SNDMSG((hwnd), BCM_GETIMAGELIST, 0, (LPARAM)(pbuttonImagelist)) - -Function Button_GetImageList( hwnd : hwnd; pbuttonImagelist : LPARAM):BOOL; - -Begin - Result:=BOOL(SendMessage((hwnd), BCM_GETIMAGELIST, 0, pbuttonImagelist)) -end; - - -// Macro 308 -// #define Button_SetTextMargin(hwnd, pmargin)\ -// (BOOL)SNDMSG((hwnd), BCM_SETTEXTMARGIN, 0, (LPARAM)(pmargin)) - -Function Button_SetTextMargin( hwnd : hwnd; pmargin : LPARAM):BOOL; - -Begin - Result:=BOOL(SendMessage((hwnd), BCM_SETTEXTMARGIN, 0, pmargin)) -end; - - -// Macro 309 -// #define Button_GetTextMargin(hwnd, pmargin)\ -// (BOOL)SNDMSG((hwnd), BCM_GETTEXTMARGIN, 0, (LPARAM)(pmargin)) - -Function Button_GetTextMargin( hwnd : hwnd; pmargin : LPARAM):BOOL; - -Begin - Result:=BOOL(SendMessage((hwnd), BCM_GETTEXTMARGIN, 0, pmargin)) -end; - - -// Macro 310 -// #define Edit_SetCueBannerText(hwnd, lpcwText) \ -// (BOOL)SNDMSG((hwnd), EM_SETCUEBANNER, 0, (LPARAM)(lpcwText)) - -Function Edit_SetCueBannerText( hwnd : hwnd; lpcwText : LPARAM):BOOL; - -Begin - Result:=BOOL(SendMessage((hwnd), EM_SETCUEBANNER, 0, lpcwText)) -end; - - -// Macro 311 -//#define Edit_GetCueBannerText(hwnd, lpwText, cchText) \ -// (BOOL)SNDMSG((hwnd), EM_GETCUEBANNER, (WPARAM)(lpwText), (LPARAM)(cchText)) - -Function Edit_GetCueBannerText( hwnd : hwnd; lpwText : WPARAM; cchText : LPARAM):BOOL; - -Begin - Result:=BOOL(SendMessage((hwnd), EM_GETCUEBANNER, lpwText, cchText)) -end; - - -// Macro 312 -// #define Edit_ShowBalloonTip(hwnd, peditballoontip) \ -// (BOOL)SNDMSG((hwnd), EM_SHOWBALLOONTIP, 0, (LPARAM)(peditballoontip)) - -Function Edit_ShowBalloonTip( hwnd : hwnd; peditballoontip : LPARAM):BOOL; - -Begin - Result:=BOOL(SendMessage((hwnd), EM_SHOWBALLOONTIP, 0, peditballoontip)) -end; - - -// Macro 313 -// #define Edit_HideBalloonTip(hwnd) \ -// (BOOL)SNDMSG((hwnd), EM_HIDEBALLOONTIP, 0, 0) - -Function Edit_HideBalloonTip( hwnd : hwnd):BOOL; - -Begin - Result:=BOOL(SendMessage((hwnd), EM_HIDEBALLOONTIP, 0, 0)) -end; - - -// Macro 314 -//#define ComboBox_SetMinVisible(hwnd, iMinVisible) \ -// (BOOL)SNDMSG((hwnd), CB_SETMINVISIBLE, (WPARAM)iMinVisible, 0) - -Function ComboBox_SetMinVisible( hwnd : hwnd; iMinVisible : WPARAM):BOOL; - -Begin - Result:=BOOL(SendMessage((hwnd), CB_SETMINVISIBLE, iMinVisible, 0)) -end; - - -// Macro 315 -// #define ComboBox_GetMinVisible(hwnd) \ -// (int)SNDMSG((hwnd), CB_GETMINVISIBLE, 0, 0) - -Function ComboBox_GetMinVisible( hwnd : hwnd):cint; - -Begin - Result:=cint(SendMessage((hwnd), CB_GETMINVISIBLE, 0, 0)) -end; - -{$ifdef win32vista} -function TreeView_GetNextSelected(hwnd:hwnd; hitem:HTREEITEM):HTREEITEM;inline; -begin - result:=TreeView_GetNextItem(hwnd, hitem, TVGN_NEXTSELECTED) -end; -{$endif} - -{$ifdef win32vista} -function Button_SetDropDownState(hwnd:HWND; fDropDown:BOOL) : BOOL; -Begin - Result:=BOOL(SendMessage((hwnd), BCM_SETDROPDOWNSTATE, WPARAM(fDropDown), 0)); -end; - -function Button_SetSplitInfo(hwnd:HWND; pInfo:PBUTTON_SPLITINFO):BOOL; -Begin - Result:=BOOL(SendMessage((hwnd), BCM_SETSPLITINFO, 0, LPARAM(pInfo))); -end; - -function Button_GetSplitInfo(hwnd:HWND; pInfo:PBUTTON_SPLITINFO) :BOOL; -Begin - Result:=BOOL(SendMessage((hwnd), BCM_GETSPLITINFO, 0, LPARAM(pInfo))); -end; - -function Button_SetNote(hwnd:HWND; psz:LPCWSTR) :BOOL; -Begin - Result:=BOOL(SendMessage((hwnd), BCM_SETNOTE, 0, LPARAM(psz))); -end; - -function Button_GetNote(hwnd:HWND; psz:LPCWSTR; pcc:cint) :BOOL; -Begin - Result:=BOOL(SendMessage((hwnd), BCM_GETNOTE, WPARAM(pcc), LPARAM(psz))); -end; - -function Button_GetNoteLength(hwnd:HWND) :LRESULT; -Begin - Result:=LRESULT(SendMessage((hwnd), BCM_GETNOTELENGTH, 0, 0)); -end; - -// Macro to use on a button or command link to display an elevated icon - -function Button_SetElevationRequiredState(hwnd:HWND; fRequired:BOOL) :LRESULT; -Begin - Result:=LRESULT(SendMessage((hwnd), BCM_SETSHIELD, 0, LPARAM(fRequired))); -end; -{$endif} -{$ifdef win32vista} -procedure Edit_SetHilite(hwndCtl:hwnd; ichStart:Wparam; ichEnd:lparam); -begin - sendmessage(hwndctl, EM_SETHILITE, (ichStart), (ichEnd)); -end; - -function Edit_GetHilite(hwndCtl:hwnd):Dword; -begin - result:=SendMessage((hwndCtl), EM_GETHILITE, 0, 0); -end; -{$endif} - -{$ifdef ntddi_vista} -function MonthCal_GetCurrentView(hmc:HWND):DWORD; -Begin - Result:=DWord(SendMessage(hmc, MCM_GETCURRENTVIEW, 0, 0)); -end; - -function MonthCal_GetCalendarCount(hmc:HWND):DWORD; -Begin - Result:=DWord(SendMessage(hmc,MCM_GETCALENDARCOUNT, 0, 0)); -end; - -function MonthCal_GetCalendarGridInfo(hmc:HWND; pmc:pMCGRIDINFO):BOOL; -Begin - Result:=BOOL(SendMessage(hmc, MCM_GETCALENDARGRIDINFO, 0, LPARAM(PMCGRIDINFO(pmc)))); -end; - -function MonthCal_GetCALID(hmc:HWND):CALID; -Begin - Result:=CALID(SendMessage(hmc, MCM_GETCALID, 0, 0)); -end; - -function MonthCal_SetCALID(hmc:HWND; calid:cuint):LRESULT; -Begin - Result:=LRESULT(SendMessage(hmc, MCM_SETCALID, WPARAM(calid), 0)); -end; - -function MonthCal_SizeRectToMin(hmc:HWND; prc:prect):LRESULT; -Begin - Result:=LRESULT(SendMessage(hmc, MCM_SIZERECTTOMIN, 0, LPARAM(prc))); -end; - -function MonthCal_SetCalendarBorder(hmc:HWND; fset:bool; xyborder:cint):LRESULT; -Begin - Result:=LRESULT(SendMessage(hmc, MCM_SETCALENDARBORDER, WPARAM(fset), LPARAM(xyborder))); -end; - -function MonthCal_GetCalendarBorder(hmc:HWND):cint; -Begin - Result:=cint(SendMessage(hmc, MCM_GETCALENDARBORDER, 0, 0)); -end; - -function MonthCal_SetCurrentView(hmc:HWND; dwNewView:DWord):BOOL; -Begin - Result:=BOOL(SendMessage(hmc, MCM_SETCURRENTVIEW, 0, LPARAM(dwNewView))); -end; - -{$endif} - -{$ifdef NTDDI_VISTA} -function DateTime_SetMonthCalStyle(hdp:HWND; dwStyle:DWord):LResult; -Begin - Result:=LRESULT(SendMessage(hdp,DTM_SETMCSTYLE, 0, LPARAM(dwStyle))); -end; - -function DateTime_GetMonthCalStyle(hdp:HWND):LRESULT; -Begin - Result:=LRESULT(SendMessage(hdp,DTM_GETMCSTYLE, 0, 0)); -end; - -function DateTime_CloseMonthCal(hdp:HWND):LRESULT; -Begin - Result:=LRESULT(SendMessage(hdp,DTM_CLOSEMONTHCAL, 0, 0)); -end; - -// DateTime_GetDateTimePickerInfo(HWND hdp, DATETIMEPICKERINFO* pdtpi) -// Retrieves information about the selected date time picker. - -function DateTime_GetDateTimePickerInfo(hdp:HWND; pdtpi:PDATETIMEPICKERINFO):LRESULT; -Begin - Result:=LRESULT(SendMessage(hdp, DTM_GETDATETIMEPICKERINFO, 0, LPARAM(pdtpi))); -end; - -function DateTime_GetIdealSize(hdp:HWND; ps:PSIZE): LResult; -Begin - Result:=LRESULT(SendMessage(hdp, DTM_GETIDEALSIZE, 0, LPARAM(ps))); -end; - -{$endif} - -// Macro 284 -procedure DateTime_SetMonthCalFont(hdp:HWND; hfont:HFONT; fRedraw:LPARAM); -begin - SendMessage(hdp, DTM_SETMCFONT, WPARAM(hfont), LPARAM(fRedraw)); -end; - -// Macro 285 -function DateTime_GetMonthCalFont(hdp:HWND):HFONT; -begin - Result:=HFONT(SendMessage(hdp, DTM_GETMCFONT, 0, 0)); -end; - -const - comctl32lib = 'comctl32.dll'; - -var - comctl32handle: THandle = 0; - -function _TaskDialogIndirect(const pTaskConfig: PTASKDIALOGCONFIG; pnButton: PInteger; pnRadioButton: PInteger; pfVerificationFlagChecked: PBOOL): HRESULT; stdcall; -begin - Result := E_NOTIMPL; -end; - -function _TaskDialog(hwndParent: HWND; hInstance: HINST; pszWindowTitle: PCWSTR; pszMainInstruction: PCWSTR; pszContent: PCWSTR; - dwCommonButtons: TASKDIALOG_COMMON_BUTTON_FLAGS; pszIcon: PCWSTR; pnButton: PInteger): HRESULT; stdcall; -begin - Result := E_NOTIMPL; -end; - -procedure Initialize; -var - p: Pointer; -begin - // Defaults - Pointer(TaskDialogIndirect) := @_TaskDialogIndirect; - Pointer(TaskDialog) := @_TaskDialog; - - comctl32handle := LoadLibrary(comctl32lib); - if comctl32handle <> 0 then - begin - p := GetProcAddress(comctl32handle, 'TaskDialogIndirect'); - if p <> nil - then Pointer(TaskDialogIndirect) := p; - - p := GetProcAddress(comctl32handle, 'TaskDialog'); - if p <> nil - then Pointer(TaskDialog) := p; - end; -end; - -procedure Finalize; -begin - if comctl32handle <> 0 then - FreeLibrary(comctl32handle); - comctl32handle := 0; -end; - -initialization - Initialize; -Finalization - Finalize; -End. -- cgit v1.2.3