blob: 8fffae07fc38d6f589c21403f4f7db11c2caecba (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
|
#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);
|