'---------------------------------------------------- ' WinWidgets constant file. This file can be loaded ' into a code module. '---------------------------------------------------- '---------- ' General '---------- Declare Function SendMessage Lib "User" (ByVal hwnd As Integer, ByVal msg As Integer, ByVal wp As Integer, lp As Any) As Long Declare Function SendMessageBV Lib "User" Alias "SendMessage" (ByVal hwnd As Integer, ByVal msg As Integer, ByVal wp As Integer, ByVal lp As Long) As Long ' Common Messages Global Const WM_USER = &H400 Global Const HM_FIRST = (WM_USER + 100) Global Const HM_GETBKGNDBRUSH = (HM_FIRST + 0) Global Const HM_SETBKGNDBRUSH = (HM_FIRST + 1) Global Const HM_GETDATACLASS = (HM_FIRST + 8) Global Const HM_GETDATASIZE = (HM_FIRST + 9) Global Const HM_GETDATATYPE = (HM_FIRST + 10) Global Const HM_GETDATALINK = (HM_FIRST + 11) Global Const HM_SETDATALINK = (HM_FIRST + 12) Global Const HM_HASCHANGED = (HM_FIRST + 13) Global Const HM_SETCHANGED = (HM_FIRST + 14) Global Const HM_GETSTATE = (HM_FIRST + 17) Global Const HM_SETSTATE = (HM_FIRST + 18) Global Const HM_BEQUIET = (HM_FIRST + 19) Global Const HM_ISQUIET = (HM_FIRST + 20) ' Picture Types Global Const HP_BITMAP = &H1 Global Const HP_ICON = &H2 Global Const HP_DIB = &H3 ' International Functions Declare Sub GetIntlSettings Lib "Widgets" () ' Utility Functions Declare Sub CenterWindow Lib "Widgets" (ByVal hwnd As Integer, ByVal iOffsetTop As Integer) Declare Function SetOverwriteMode Lib "Widgets" (ByVal bSetTo As Integer) As Integer Declare Function GetOverwriteMode Lib "Widgets" () As Integer Declare Function SetDefDateFormat Lib "Widgets" (ByVal lpNewFmt As String) As Integer Declare Function SetDefTimeFormat Lib "Widgets" (ByVal lpNewFmt As String) As Integer Global Const WINVER30 = &H300 Global Const WINVER31 = &H30A Declare Function GetWindowsVersion Lib "Widgets" () As Integer ' Border Types Global Const VH_BORDER_NONE = 0 Global Const VH_BORDER_STANDARD = 1 Global Const VH_BORDER_INDENTED = 2 Global Const VH_BORDER_BUMP = 3 ' Sort Modes Global Const VH_SORT_NONE = 0 Global Const VH_SORT_BYDATA = 1 Global Const VH_SORT_BYCODE = 2 '----------------- ' The DataEngine '----------------- ' Data Class identifiers Global Const VHC_NONE = 0 Global Const VHC_BOOL = 1 Global Const VHC_CHAR = 2 Global Const VHC_CLOCK = 3 Global Const VHC_DATE = 4 Global Const VHC_DATETIME = 5 Global Const VHC_MASK = 6 Global Const VHC_NUMBER = 7 Global Const VHC_STRING = 8 Global Const VHC_TIME = 9 ' Data Type identifiers '--------------------------- ' Data Type identifiers for the VHC_DATE Data Class Global Const VHT_DATE_ODBC = 0 Global Const VHT_DATE_DOS = 1 Global Const VHT_DATE_DOSFILE = 2 Global Const VHT_DATE_LONG = 3 ' Data Type identifiers for the VHC_DATETIME and VHC_CLOCK Data Classes Global Const VHT_DATETIME = 0 Global Const VHT_DATETIME_ODBC = 1 Global Const VHT_DATETIME_SQL8 = 2 Global Const VHT_DATETIME_SQL4 = 3 Global Const VHT_DATETIME_TM = 4 Global Const VHT_DATETIME_TIME_T = 5 Global Const VHT_DATETIME_DOUBLE = 6 ' Data Type identifiers for the VHC_NUMBER and VHC_BOOL Data Classes Global Const VHT_NUM_CHAR = 0 Global Const VHT_NUM_SHORT = 1 Global Const VHT_NUM_WORD = 2 Global Const VHT_NUM_INT = 3 Global Const VHT_NUM_UINT = 4 Global Const VHT_NUM_LONG = 5 Global Const VHT_NUM_DWORD = 6 Global Const VHT_NUM_FLOAT = 7 Global Const VHT_NUM_DOUBLE = 8 Global Const VHT_NUM_BIGMONEY = 9 ' Data Type identifiers for the VHC_TIME Data Class Global Const VHT_TIME_ODBC = 0 Global Const VHT_TIME_DOS = 1 Global Const VHT_TIME_DOSFILE = 2 ' Data Type identifiers for the VHC_STRING and VHC_MASK Data Classes Global Const VHT_STRING = 0 '--------------------------- ' The Button Control '--------------------------- ' Button Alignment codes Global Const VHB_TOPLEFT = 0 Global Const VHB_TOP = 1 Global Const VHB_TOPRIGHT = 2 Global Const VHB_LEFT = 3 Global Const VHB_CENTER = 4 Global Const VHB_RIGHT = 5 Global Const VHB_BOTTOMLEFT = 6 Global Const VHB_BOTTOM = 7 Global Const VHB_BOTTOMRIGHT = 8 ' Button Relative Alignment codes Global Const VHB_ABOVELEFT = 0 Global Const VHB_ABOVE = 1 Global Const VHB_ABOVERIGHT = 2 'Global Const VHB_LEFT = 3 * defined above Global Const VHB_ONTOPOF = 4 'Global Const VHB_RIGHT = 5 * defined above Global Const VHB_BELOWLEFT = 6 Global Const VHB_BELOW = 7 Global Const VHB_BELOWRIGHT = 8 ' Messages Global Const BM_GETCHECK = (WM_USER + 0) Global Const BM_SETCHECK = (WM_USER + 1) Global Const BM_GETSTATE = (WM_USER + 2) Global Const BM_SETSTATE = (WM_USER + 3) Global Const BM_SETSTYLE = (WM_USER + 4) Global Const HBM_FIRST = (WM_USER + 30) Global Const HBM_GETCOUNT = (HBM_FIRST + 2) Global Const HBM_GETRALIGN = (HBM_FIRST + 4) Global Const HBM_GETSOUND = (HBM_FIRST + 5) Global Const HBM_SETSOUND = (HBM_FIRST + 24) Global Const HBM_GETSTATE = (BM_GETCHECK) Global Const HBM_GETTYPE = (HBM_FIRST + 9) Global Const HBM_CLICK = (WM_USER + 99) Global Const HBM_ISPRESSED = (BM_GETSTATE) Global Const HBM_PRESS = (BM_SETSTATE) Global Const HBM_SETSTATE = (BM_SETCHECK) Global Const HBM_GETDATA = (HBM_FIRST + 26) Global Const HBM_SETDATA = (HBM_FIRST + 27) Global Const HBM_GETDATALINK = (HBM_FIRST + 28) Global Const HBM_SETDATALINK = (HBM_FIRST + 29) Global Const HBM_GETDATASIZE = (HBM_FIRST + 30) Global Const HBM_GETSTATECOUNT = (HBM_FIRST + 31) Global Const HBM_ISLASTINGROUP = (HBM_FIRST + 32) Global Const HBM_SETCOUNT = (HBM_FIRST + 33) Global Const HBM_GETPALETTE = (HBM_FIRST + 34) '--------------------------- ' The Edit Control '--------------------------- ' Display-Mode Alignments Global Const VHE_DISPLAY_LEFT = 0 Global Const VHE_DISPLAY_CENTER = 1 Global Const VHE_DISPLAY_RIGHT = 2 ' Edit-Mode Alignments Global Const VHE_EDIT_LEFT = 0 Global Const VHE_EDIT_RIGHT = 1 ' Case Global Const VHE_CASE_NORMAL = 0 Global Const VHE_CASE_UPPER = 1 Global Const VHE_CASE_LOWER = 2 ' Messages Global Const HEM_FIRST = (WM_USER + 40) Global Const HEM_GETDATA = (HEM_FIRST + 0) ' Retrieves Data. Global Const HEM_SETDATA = (HEM_FIRST + 1) ' Sets Data. Global Const HEM_GETDATACLASS = (HM_GETDATACLASS) ' Returns DataType Global Const HEM_GETDATALINK = (HM_GETDATALINK) ' Returns DataLink. Global Const HEM_SETDATALINK = (HM_SETDATALINK) ' Sets DataLink. Global Const HEM_GETDATASIZE = (HM_GETDATASIZE) ' Returns DataSize Global Const HEM_GETDATATYPE = (HM_GETDATATYPE) ' Returns DataType Global Const HEM_GETMAXTEXTLEN = (HEM_FIRST + 4) Global Const HEM_SETMAXTEXTLEN = (WM_USER + 21) ' EM_LIMITTEXT Global Const HEM_GETOVERWRITEMODE = (HEM_FIRST + 5) ' Returns overwrite/insert status. Global Const HEM_SETOVERWRITEMODE = (HEM_FIRST + 6) ' Toggles overwrite/insert modes. Global Const HEM_GETSTATE = (HM_GETSTATE) ' Returns set State flags. Global Const HEM_SETSTATE = (HM_SETSTATE) ' Sets one of State flags. Global Const HEM_UPDATE = (HEM_FIRST + 13) ' Updates Text using Data or vice-versa. Global Const HEM_HASCHANGED = (HM_HASCHANGED) ' Returns the status of the Changed flag Global Const HEM_SETCHANGED = (HM_SETCHANGED) ' Sets the status of the Changed flag ' State flags Global Const HEF_DISPLAYMODE = &H2 ' Control is in Display mode Global Const HEF_RIGHT = &H4 ' Text is right justified in current mode Global Const HEF_CENTER = &H8 ' Text is centered in the current mode Global Const HEF_NOREDRAW = &H10 ' Control will not update display Global Const HEF_CHANGED = &H80 ' Data has changed since last HEM_SETDATA ' Error codes Global Const HEERR = -1 ' A general error occurred. Global Const HEERR_GENERAL = -1 ' A general error occurred. Global Const HEERR_BADPTR = -2 ' A pointer was found to be NULL unexpectedly. Global Const HEERR_BADVAL = -3 ' A value was not in the expected group or range. Global Const HEERR_NOSEL = -4 ' There is no selection. Global Const HEERR_SPACE = -5 ' The control was unable to allocate memory. '--------------------------- ' The ListBox Control '--------------------------- ' SortModes Global Const VHL_SORT_NONE = 0 Global Const VHL_SORT_BYDATA = 1 Global Const VHL_SORT_BYCODE = 2 ' SelectModes Global Const VHL_SELECT_SINGLE = 0 Global Const VHL_SELECT_MULTIPLE = 1 Global Const VHL_SELECT_EXTENDED = 2 ' Action options Global Const HL_DESELECT = &H0 Global Const HL_SELECT = &H1 Global Const HL_TOGGLE = &H2 ' ListBox Function Declarations Declare Function VLAddItemEx Lib "WidgeVB" (ByVal hwnd As Integer, ByVal strData As String, ByVal strCode As String) As Integer Declare Function VLFindData Lib "WidgeVB" (ByVal hwnd As Integer, ByVal iStart As Integer, ByVal CurData As String) As Integer Declare Function VLFindCode Lib "WidgeVB" (ByVal hwnd As Integer, ByVal iStart As Integer, ByVal CurData As String) As Integer Declare Function VLFindString Lib "WidgeVB" (ByVal hwnd As Integer, ByVal iStart As Integer, ByVal strItem As String) As Integer Declare Function VLInsertItemEx Lib "WidgeVB" (ByVal hwnd As Integer, ByVal iIndex As Integer, ByVal strData As String, ByVal strCode As String) As Integer Declare Function VLSelectItem Lib "WidgeVB" (ByVal hwnd As Integer, ByVal iIndex As Integer, ByVal iAction As Integer) As Integer Declare Function VLSelectString Lib "WidgeVB" (ByVal hwnd As Integer, ByVal iStart As Integer, ByVal strItem As String) As Integer Declare Function VLCopyList Lib "WidgeVB" (ByVal hWndDest As Integer, ByVal hWndSrc As Integer) As Integer ' Messages Global Const HLM_FIRST = (WM_USER + 150) ' index messages Global Const HLM_SELECTITEM = (HLM_FIRST + 11) ' Select item by index Global Const HLM_GETDATA = (HLM_FIRST + 12) ' get item data by index Global Const HLM_GETCODE = (HLM_FIRST + 13) ' get item code by index Global Const HLM_GETTEXT = (HLM_FIRST + 14) ' get item text by index Global Const HLM_GETTEXTLEN = (HLM_FIRST + 15) ' get item textlen by index Global Const HLM_SETCODE = (HLM_FIRST + 16) ' get item code by index ' data messages Global Const HLM_FINDSTRING = (HLM_FIRST + 18) Global Const HLM_SELECTSTRING = (HLM_FIRST + 19) Global Const HLM_GETDATACLASS = (HM_GETDATACLASS) ' get data class Global Const HLM_GETDATALINK = (HM_GETDATALINK) ' pointer to cursel data Global Const HLM_SETDATALINK = (HM_SETDATALINK) ' Global Const HLM_GETDATASIZE = (HM_GETDATASIZE) ' get data size in bytes Global Const HLM_GETDATATYPE = (HM_GETDATATYPE) ' get data type Global Const HLM_ADDITEM = (HLM_FIRST + 25) ' add item without codes Global Const HLM_INSERTITEM = (HLM_FIRST + 26) ' insert item without codes Global Const HLM_FINDDATA = (HLM_FIRST + 27) ' find item by data Global Const HLM_SELECTDATA = (HLM_FIRST + 28) ' select item by data Global Const HLM_GETCURDATA = (HLM_FIRST + 29) ' current item's Data ' code messages Global Const HLM_GETCODECLASS = (HLM_FIRST + 30) ' get code class Global Const HLM_GETCODELINK = (HLM_FIRST + 31) ' hot-link to current selection Global Const HLM_SETCODELINK = (HLM_FIRST + 32) ' hot-link to current selection Global Const HLM_GETCODESIZE = (HLM_FIRST + 33) ' get code size in bytes Global Const HLM_GETCODETYPE = (HLM_FIRST + 34) ' get data type Global Const HLM_FINDCODE = (HLM_FIRST + 35) ' find item by code Global Const HLM_SELECTCODE = (HLM_FIRST + 36) ' select item by data Global Const HLM_GETCURCODE = (HLM_FIRST + 37) ' current item's Code ' painting messages Global Const HLM_UPDATE = (HLM_FIRST + 50) ' repaint the list ' selection messages Global Const HLM_GETCURSEL = (HLM_FIRST + 60) ' currently selected item Global Const HLM_SETCURSEL = (HLM_FIRST + 61) Global Const HLM_GETSEL = (HLM_FIRST + 62) ' selection state of item Global Const HLM_SETSEL = (HLM_FIRST + 63) Global Const HLM_GETSELCOUNT = (HLM_FIRST + 64) ' number of selected items Global Const HLM_SELECTRANGE = (HLM_FIRST + 65) ' select a range Global Const HLM_GETSELITEMS = (HLM_FIRST + 66) ' get array of indices ' dimension messages Global Const HLM_SETCOLUMNWIDTH = (HLM_FIRST + 70) ' set the column width Global Const HLM_GETHEXTENT = (HLM_FIRST + 71) ' get the total width of list Global Const HLM_GETITEMRECT = (HLM_FIRST + 72) ' get an item rectangle ' miscellany Global Const HLM_GETTOPINDEX = (HLM_FIRST + 80) ' index of first visible item Global Const HLM_SETTOPINDEX = (HLM_FIRST + 81) Global Const HLM_GETSCROLLPOS = (HLM_GETTOPINDEX) ' index of first visible item Global Const HLM_SETSCROLLPOS = (HLM_SETTOPINDEX) Global Const HLM_SCROLL = (HLM_FIRST + 83) ' scroll the list box Global Const HLM_SETTABSTOPS = (HLM_FIRST + 84) ' set tab stops Global Const HLM_SETREDRAW = (HLM_FIRST + 87) ' set redraw on/off Global Const HLM_HASCHANGED = (HM_HASCHANGED) ' has selection changed since focus Global Const HLM_SETCHANGED = (HM_SETCHANGED) ' has selection changed since focus Global Const HLM_GETSTATE = (HLM_FIRST + 91) ' get state flags Global Const HLM_SETSTATE = (HLM_FIRST + 92) ' set state flag ' Error Codes Global Const HLERR = (-1) Global Const HLERR_GENERAL = (-1) Global Const HLERR_SPACE = (-2) Global Const HLERR_EMPTY = (-3) Global Const HLERR_BADVAL = (-4) Global Const HLERR_BADPTR = (-5) Global Const HLERR_NOCODES = (-6) Global Const HLERR_NOTFOUND = (-1) ' Search options Global Const HL_ALL = &H0 Global Const HL_DATA = &H1 Global Const HL_CODE = &H2 Global Const HL_INDEX = &H4 Global Const HL_SELECTED = &H8 Global Const HL_UNSELECTED = &H10 Global Const HL_TEXT = &H20 ' State flags Global Const HLF_CHANGED = &H80 Global Const HLF_HASCODES = &H200 '--------------------------- ' The ComboBox Control '--------------------------- ' ComboBox types Global Const VHC_TYPE_SIMPLE = 0 Global Const VHC_TYPE_DROPLIST = 1 Global Const VHC_TYPE_DROPDOWN = 2 ' SortModes Global Const VHC_SORT_NONE = 0 Global Const VHC_SORT_BYDATA = 1 Global Const VHC_SORT_BYCODE = 2 ' ComboBox Function Declarations Declare Function VCFindData Lib "WidgeVB" (ByVal hwnd As Integer, ByVal iStart As Integer, ByVal strData As String) As Integer Declare Function VCFindCode Lib "WidgeVB" (ByVal hwnd As Integer, ByVal iStart As Integer, ByVal strData As String) As Integer Declare Function VCFindString Lib "WidgeVB" (ByVal hwnd As Integer, ByVal iStart As Integer, ByVal strItem As String) As Integer Declare Function VCSelectString Lib "WidgeVB" (ByVal hwnd As Integer, ByVal iStart As Integer, ByVal strItem As String) As Integer Declare Function VCAddItemEx Lib "WidgeVB" (ByVal hwnd As Integer, ByVal strData As String, ByVal strCode As String) As Integer Declare Function VCInsertItemEx Lib "WidgeVB" (ByVal hwnd As Integer, ByVal iIndex As Integer, ByVal strData As String, ByVal strCode As String) As Integer Declare Function VCCopyList Lib "WidgeVB" (ByVal hWndDest As Integer, ByVal hWndSrc As Integer) As Integer ' Messages Global Const HCM_FIRST = (WM_USER + 250) Global Const HCM_GETSTATE = (HCM_FIRST + 21) ' Returns set State flags. Global Const HCM_SETSTATE = (HCM_FIRST + 22) ' Sets one of State flags. Global Const HCM_GETDROPHEIGHT = (HCM_FIRST + 23) Global Const HCM_SETDROPHEIGHT = (HCM_FIRST + 24) ' Apply to both edit and list controls Global Const HCM_GETDATACLASS = (HM_GETDATACLASS) ' Returns DataType Global Const HCM_GETDATASIZE = (HM_GETDATASIZE) ' Returns DataSize Global Const HCM_GETDATATYPE = (HM_GETDATATYPE) ' Returns DataType Global Const HCM_GETDATALINK = (HM_GETDATALINK) ' Returns DataLink. Global Const HCM_SETDATALINK = (HM_SETDATALINK) ' Sets DataLink. ' Edit Control messages Global Const HCM_GETEDITDATA = (HEM_GETDATA) ' Retrieves Data. Global Const HCM_SETEDITDATA = (HEM_SETDATA) ' Sets Data. Global Const HCM_GETOVERWRITEMODE = (HEM_GETOVERWRITEMODE) ' Returns overwrite/insert status. Global Const HCM_SETOVERWRITEMODE = (HEM_SETOVERWRITEMODE) ' Toggles overwrite/insert modes. Global Const HCM_UPDATE = (HEM_UPDATE) ' Updates Text using Data or vice-versa. ' List Control messages Global Const HCM_FINDCODE = (HLM_FINDCODE) ' find item by code Global Const HCM_FINDDATA = (HLM_FINDDATA) ' find item by data Global Const HCM_FINDSTRING = (HLM_FINDSTRING) ' ONLY for HT_STRING data type Global Const HCM_GETCODECLASS = (HLM_GETCODECLASS) ' get code class Global Const HCM_GETCODELINK = (HLM_GETCODELINK) ' hot-link to current selection Global Const HCM_GETCODESIZE = (HLM_GETCODESIZE) ' get code size in bytes Global Const HCM_GETCODETYPE = (HLM_GETCODETYPE) ' get data type Global Const HCM_GETCURCODE = (HLM_GETCURCODE) ' current item's Code Global Const HCM_GETCURDATA = (HLM_GETCURDATA) ' current item's Data Global Const HCM_GETCURSEL = (HLM_GETCURSEL) ' currently selected item Global Const HCM_GETCODE = (HLM_GETCODE) ' get item code by index Global Const HCM_SETCODE = (HLM_SETCODE) ' set item code by index Global Const HCM_GETDATA = (HLM_GETDATA) ' get item data by index Global Const HCM_GETSCROLLPOS = (HLM_GETSCROLLPOS) ' of first visible item Global Const HCM_GETTEXT = (HLM_GETTEXT) ' get item text by index Global Const HCM_GETTEXTLEN = (HLM_GETTEXTLEN) ' get item textlen by index Global Const HCM_SELECTCODE = (HLM_SELECTCODE) ' select item by data Global Const HCM_SELECTDATA = (HLM_SELECTDATA) ' select item by data Global Const HCM_SELECTSTRING = (HLM_SELECTSTRING) Global Const HCM_SETCODELINK = (HLM_SETCODELINK) ' hot-link to current selection Global Const HCM_SETCURSEL = (HLM_SETCURSEL) Global Const HCM_SETSCROLLPOS = (HLM_SETSCROLLPOS) Global Const HCM_SCROLL = (HLM_SCROLL) ' scroll the list box Global Const HCM_SETTABSTOPS = (HLM_SETTABSTOPS) ' set tab stops ' Error Codes Global Const HCOKAY = 0 Global Const HCERR = (-1) Global Const HCERR_GENERAL = (-1) Global Const HCERR_SPACE = (-2) Global Const HCERR_EMPTY = (-3) Global Const HCERR_BADVAL = (-4) Global Const HCERR_BADPTR = (-5) Global Const HCERR_NOCODES = (-6) Global Const HCERR_NOTFOUND = (-1) ' Search options Global Const HC_ALL = &H0 Global Const HC_DATA = &H1 Global Const HC_CODE = &H2 Global Const HC_INDEX = &H4 Global Const HC_TEXT = &H20 ' State flags Global Const HCF_CHANGED = &H80 Global Const HCF_HASCODES = &H200 '--------------------------- ' The Grid Control '--------------------------- ' HGrid Field Control Types Global Const VG_CTL_EDIT = &H0 Global Const VG_CTL_LIST = &H1 Global Const VG_CTL_DROP = &H2 Global Const VG_CTL_COMBO = &H3 Global Const VG_CTL_CHECK = &H4 ' State Flags Global Const HGF_CHANGED = &H10 ' Field State Flags Global Const HGFF_HIDDEN = &H1 Global Const HGFF_BROWSE = &H4 Global Const HGFF_USECODE = &H8 ' Record State Flags Global Const HGRF_CHANGED = &H1 Global Const HGRF_NEW = &H2 ' HEdit Style flags for use with VGFieldCreate ' (they can be combined) Global Const HES_DISPLAYLEFT = &H0 Global Const HES_DISPLAYCENTER = &H1 Global Const HES_DISPLAYRIGHT = &H2 Global Const HES_UPPERCASE = &H8 Global Const HES_LOWERCASE = &H10 Global Const HES_PASSWORD = &H20 Global Const HES_AUTOHSCROLL = &H80 Global Const HES_EDITLEFT = &H0 Global Const HES_EDITRIGHT = &H800 ' Grid Function Declarations Declare Function VGAddFld Lib "WidgeVB" (ByVal hwnd As Integer, ByVal hFld As Long) As Integer Declare Function VGColToFld Lib "WidgeVB" (ByVal hwnd As Integer, ByVal iCol As Integer) As Integer Declare Function VGFieldCreate Lib "WidgeVB" (ByVal strName As String, ByVal iState As Integer, ByVal iColWidth As Integer, ByVal iDropHeight As Integer, ByVal iDataClass As Integer, ByVal iDataType As Integer, ByVal iCodeClass As Integer, ByVal iCodeType As Integer, ByVal iSize As Integer, ByVal iCtlType As Integer, ByVal lCtlStyle As Long, ByVal lpFmt As String) As Long Declare Function VGDeleteFld Lib "WidgeVB" (ByVal hwnd As Integer, ByVal iCol As Integer) As Integer Declare Function VGDeleteRec Lib "WidgeVB" (ByVal hwnd As Integer, ByVal iRow As Integer) As Integer Declare Function VGFieldDestroy Lib "Widgets" Alias "HGFieldDestroy" (ByVal hFld As Long) As Integer Declare Function VGFindFld Lib "WidgeVB" (ByVal hwnd As Integer, ByVal lpFldName As String) As Integer Declare Function VGFldToCol Lib "WidgeVB" (ByVal hwnd As Integer, ByVal iFld As Integer) As Integer Declare Function VGGetColMap Lib "WidgeVB" (ByVal hwnd As Integer, iaMap As Integer) As Integer Declare Function VGInsertFld Lib "WidgeVB" (ByVal hwnd As Integer, ByVal iAtIndex As Integer, ByVal hFld As Long) As Integer Declare Function VGInsertRec Lib "WidgeVB" (ByVal hwnd As Integer, ByVal iAtRow As Integer) As Integer Declare Function VGInvalidateCell Lib "Widgets" Alias "HGridInvalidateCell" (ByVal hwnd As Integer, ByVal iCol As Integer, ByVal iRow As Integer) As Integer Declare Function VGInvalidateRange Lib "Widgets" Alias "HGridInvalidateRange" (ByVal hwnd As Integer, ByVal iCol1 As Integer, ByVal iRow1 As Integer, ByVal iCol2 As Integer, ByVal iRow2 As Integer) As Integer Declare Function VGMoveCol Lib "WidgeVB" (ByVal hwnd As Integer, ByVal iFrom As Integer, ByVal iTo As Integer) As Integer Declare Function VGMoveRow Lib "WidgeVB" (ByVal hwnd As Integer, ByVal iFrom As Integer, ByVal iTo As Integer) As Integer Declare Function VGRecToRow Lib "WidgeVB" (ByVal hwnd As Integer, ByVal lRecNum As Long) As Integer Declare Function VGRowToRec Lib "WidgeVB" (ByVal hwnd As Integer, ByVal iRow As Integer) As Long Declare Sub VGSelectCell Lib "WidgeVB" (ByVal hwnd As Integer, ByVal iCol As Integer, ByVal iRow As Integer) Declare Sub VGSelectRange Lib "WidgeVB" (ByVal hwnd As Integer, ByVal iCol1 As Integer, ByVal iRow1 As Integer, ByVal iCol2 As Integer, ByVal iRow2 As Integer) Declare Function VGSetColMap Lib "WidgeVB" (ByVal hwnd As Integer, iaMap As Integer) As Integer Declare Function HGSetCellData Lib "Widgets" (ByVal hwnd As Integer, ByVal iCol As Integer, ByVal iRow As Integer, ByVal lp As Long) As Integer ' Messages Global Const HGM_FIRST = (WM_USER + 300) Global Const HGM_RESETCONTENT = (HGM_FIRST + 2) Global Const HGM_UPDATE = (HGM_FIRST + 5) Global Const HGM_GETCOLCOUNT = (HGM_FIRST + 16) Global Const HGM_GETROWCOUNT = (HGM_FIRST + 17) Global Const HGM_GETFIRSTCOL = (HGM_FIRST + 18) Global Const HGM_SETFIRSTCOL = (HGM_FIRST + 19) Global Const HGM_GETFIRSTREC = (HGM_FIRST + 20) Global Const HGM_SETFIRSTREC = (HGM_FIRST + 21) Global Const HGM_GETFROZENCOLS = (HGM_FIRST + 22) Global Const HGM_SETFROZENCOLS = (HGM_FIRST + 23) Global Const HGM_GETSELANCHOR = (HGM_FIRST + 24) Global Const HGM_SETSELANCHOR = (HGM_FIRST + 25) Global Const HGM_GETSELEXTENT = (HGM_FIRST + 26) Global Const HGM_SETSELEXTENT = (HGM_FIRST + 27) Global Const HGM_GETSTATE = (HGM_FIRST + 28) Global Const HGM_SETSTATE = (HGM_FIRST + 29) Global Const HGM_GETTITLE = (HGM_FIRST + 30) Global Const HGM_SETTITLE = (HGM_FIRST + 31) Global Const HGM_ADDFLD = (HGM_FIRST + 32) Global Const HGM_DELETEFLD = (HGM_FIRST + 33) Global Const HGM_INSERTFLD = (HGM_FIRST + 34) Global Const HGM_MOVECOL = (HGM_FIRST + 35) Global Const HGM_ADDREC = (HGM_FIRST + 36) Global Const HGM_DELETEREC = (HGM_FIRST + 37) Global Const HGM_INSERTREC = (HGM_FIRST + 38) Global Const HGM_MOVEROW = (HGM_FIRST + 39) Global Const HGM_GETBASEREC = (HGM_FIRST + 40) Global Const HGM_SETBASEREC = (HGM_FIRST + 41) Global Const HGM_GETCURREC = (HGM_FIRST + 44) Global Const HGM_FINDFLD = (HGM_FIRST + 46) Global Const HGM_GETCOLMAP = (HGM_FIRST + 47) Global Const HGM_SETCOLMAP = (HGM_FIRST + 48) Global Const HGM_GETBUFFERPROC = (HGM_FIRST + 49) Global Const HGM_SETBUFFERPROC = (HGM_FIRST + 50) Global Const HGM_GETMAXREC = (HGM_FIRST + 51) Global Const HGM_SETMAXREC = (HGM_FIRST + 52) Global Const HGM_GETBUFFERSIZE = (HGM_FIRST + 53) Global Const HGM_SETBUFFERSIZE = (HGM_FIRST + 54) Global Const HGM_GETSTYLE = (HGM_FIRST + 55) Global Const HGM_SETSTYLE = (HGM_FIRST + 56) Global Const HGM_GETFLD = (HGM_FIRST + 57) Global Const HGM_GETCOL = (HGM_FIRST + 58) Global Const HGM_GETROW = (HGM_FIRST + 59) Global Const HGM_GETMARKER = (HGM_FIRST + 60) Global Const HGM_SETMARKER = (HGM_FIRST + 61) Global Const HGM_GETHSCROLLPOS = (HGM_FIRST + 62) Global Const HGM_GETVSCROLLPOS = (HGM_FIRST + 63) Global Const HGM_SETHSCROLLPOS = (HGM_FIRST + 64) Global Const HGM_SETVSCROLLPOS = (HGM_FIRST + 65) Global Const HGM_GETVSCROLLRANGE = (HGM_FIRST + 66) Global Const HGM_GETHSCROLLRANGE = (HGM_FIRST + 67) Global Const HGRM_GETSTATE = (HGM_FIRST + 80) Global Const HGRM_SETSTATE = (HGM_FIRST + 81) Global Const HGRM_GETDATA = (HGM_FIRST + 82) Global Const HGRM_SETDATA = (HGM_FIRST + 83) Global Const HGRM_GETLINK = (HGM_FIRST + 84) Global Const HGRM_SETLINK = (HGM_FIRST + 85) Global Const HGRM_GETSIZE = (HGM_FIRST + 86) Global Const HGFM_GETCTLSTYLE = (HGM_FIRST + 101) Global Const HGFM_GETCODECLASS = (HGM_FIRST + 103) Global Const HGFM_GETCODETYPE = (HGM_FIRST + 104) Global Const HGFM_GETDATACLASS = (HGM_FIRST + 105) Global Const HGFM_GETDATASIZE = (HGM_FIRST + 106) Global Const HGFM_GETDATATYPE = (HGM_FIRST + 107) Global Const HGFM_GETFORMATLEN = (HGM_FIRST + 110) Global Const HGFM_GETSTATE = (HGM_FIRST + 118) Global Const HGFM_SETSTATE = (HGM_FIRST + 119) Global Const HGFM_GETOFFSET = (HGM_FIRST + 122) ' Error Codes Global Const HGERR = -1 Global Const HGERR_NOTFOUND = -1 '--------------------------- ' The HSTat control '--------------------------- ' Messages Global Const HSM_FIRST = (WM_USER + 400) Global Const HSM_GETTYPE = (HSM_FIRST + 8) Global Const HSM_SETTYPE = (HSM_FIRST + 9) Global Const HSM_GETPALETTE = (HSM_FIRST + 10) ' Constants Global Const HS_LEFT = 0 Global Const HS_CENTER = 1 Global Const HS_RIGHT = 2