96 lines
3.4 KiB
C
96 lines
3.4 KiB
C
#define VLB_OK 0
|
|
#define VLB_ERR -1
|
|
#define VLB_ENDOFFILE -1
|
|
|
|
#define VLBS_USEDATAVALUES 0x8000L
|
|
#define VLBS_3DFRAME 0x4000L
|
|
#define VLBS_NOTIFY 0x0001L
|
|
#define VLBS_NOREDRAW 0x0004L
|
|
#define VLBS_OWNERDRAWFIXED 0x0010L
|
|
#define VLBS_HASSTRINGS 0x0040L
|
|
#define VLBS_USETABSTOPS 0x0080L
|
|
#define VLBS_NOINTEGRALHEIGHT 0x0100L
|
|
#define VLBS_WANTKEYBOARDINPUT 0x0400L
|
|
#define VLBS_DISABLENOSCROLL 0x1000L
|
|
|
|
// Application->VLIST messages
|
|
// Corresponding to LB_ messages
|
|
#define VLB_RESETCONTENT (WM_USER+500)
|
|
#define VLB_SETCURSEL (WM_USER+501)
|
|
#define VLB_GETCURSEL (WM_USER+502)
|
|
#define VLB_GETTEXT (WM_USER+503)
|
|
#define VLB_GETTEXTLEN (WM_USER+504)
|
|
#define VLB_GETCOUNT (WM_USER+505)
|
|
#define VLB_SELECTSTRING (WM_USER+506)
|
|
#define VLB_FINDSTRING (WM_USER+507)
|
|
#define VLB_GETITEMRECT (WM_USER+508)
|
|
#define VLB_GETITEMDATA (WM_USER+509)
|
|
#define VLB_SETITEMDATA (WM_USER+510)
|
|
#define VLB_SETITEMHEIGHT (WM_USER+511)
|
|
#define VLB_GETITEMHEIGHT (WM_USER+512)
|
|
#define VLB_FINDSTRINGEXACT (WM_USER+513)
|
|
#define VLB_INITIALIZE (WM_USER+514)
|
|
#define VLB_SETTABSTOPS (WM_USER+515)
|
|
#define VLB_GETTOPINDEX (WM_USER+516)
|
|
#define VLB_SETTOPINDEX (WM_USER+517)
|
|
#define VLB_GETHORIZONTALEXTENT (WM_USER+518)
|
|
#define VLB_SETHORIZONTALEXTENT (WM_USER+519)
|
|
|
|
// Unique to VLIST
|
|
#define VLB_UPDATEPAGE (WM_USER+520)
|
|
#define VLB_GETLINES (WM_USER+521)
|
|
#define VLB_GETSCROLLPOS (WM_USER+522)
|
|
#define VLB_HSCROLL (WM_USER+523)
|
|
#define VLB_PAGEDOWN (WM_USER+524)
|
|
#define VLB_PAGEUP (WM_USER+525)
|
|
#define VLB_GETLISTBOXSTYLE (WM_USER+526)
|
|
#define VLB_GETFOCUSHWND (WM_USER+527)
|
|
#define VLB_GETVLISTSTYLE (WM_USER+528)
|
|
|
|
#define VLB_TOVLIST_MSGMIN VLB_RESETCONTENT
|
|
#define VLB_TOVLIST_MSGMAX VLB_GETVLISTSTYLE
|
|
|
|
// VLIST->Application messages
|
|
// Conflicts with VLB_
|
|
#define VLBR_FINDSTRING (WM_USER+600)
|
|
#define VLBR_FINDSTRINGEXACT (WM_USER+601)
|
|
#define VLBR_SELECTSTRING (WM_USER+602)
|
|
#define VLBR_GETITEMDATA (WM_USER+603)
|
|
#define VLBR_GETTEXT (WM_USER+604)
|
|
#define VLBR_GETTEXTLEN (WM_USER+605)
|
|
|
|
// Unique Messages
|
|
//
|
|
#define VLB_FIRST (WM_USER+606)
|
|
#define VLB_PREV (WM_USER+607)
|
|
#define VLB_NEXT (WM_USER+608)
|
|
#define VLB_LAST (WM_USER+609)
|
|
#define VLB_FINDITEM (WM_USER+610)
|
|
#define VLB_RANGE (WM_USER+611)
|
|
#define VLB_FINDPOS (WM_USER+612)
|
|
#define VLB_DONE (WM_USER+613)
|
|
|
|
// VLIST->Application Notifications
|
|
#define VLBN_FREEITEM (WM_USER+700)
|
|
#define VLBN_FREEALL (WM_USER+701)
|
|
|
|
#define VLB_TOAPP_MSGMIN VLB_FINDSTRING
|
|
#define VLB_TOAPP_MSGMAX VLBN_FREEALL
|
|
|
|
#define IDS_VLBOXNAME 1
|
|
|
|
typedef struct _VLBStruct {
|
|
int nCtlID;
|
|
int nStatus;
|
|
LONG lData; // current data value
|
|
LONG lIndex; // current index
|
|
LONG lSelItem; // current selection (if data value)
|
|
LPTSTR lpTextPointer;
|
|
LPTSTR lpFindString;
|
|
} VLBSTRUCT;
|
|
|
|
typedef VLBSTRUCT FAR* LPVLBSTRUCT;
|
|
|
|
#define VLIST_CLASSNAME "VList"
|
|
extern BOOL WINAPI RegisterVListBox(HINSTANCE);
|