summaryrefslogtreecommitdiff
path: root/listboxes.go
diff options
context:
space:
mode:
authorPietro Gagliardi <[email protected]>2014-02-10 16:00:11 -0500
committerPietro Gagliardi <[email protected]>2014-02-10 16:00:11 -0500
commit4d674ebd3d0e857fcaade5ff480ed6edd7eb7dd8 (patch)
treec6f0ebfb90e38304bd2fe9b017c510a1aea598f5 /listboxes.go
parent0808c696f8b9350b9f859c9cb591f5a618e416f4 (diff)
Added listboxes and added a list box to the example window.
Diffstat (limited to 'listboxes.go')
-rw-r--r--listboxes.go91
1 files changed, 91 insertions, 0 deletions
diff --git a/listboxes.go b/listboxes.go
new file mode 100644
index 0000000..294cd96
--- /dev/null
+++ b/listboxes.go
@@ -0,0 +1,91 @@
+// 10 february 2014
+package main
+
+import (
+// "syscall"
+// "unsafe"
+)
+
+// Listbox styles.
+const (
+ // from winuser.h
+ LBS_NOTIFY = 0x0001
+ LBS_SORT = 0x0002
+ LBS_NOREDRAW = 0x0004
+ LBS_MULTIPLESEL = 0x0008
+ LBS_OWNERDRAWFIXED = 0x0010
+ LBS_OWNERDRAWVARIABLE = 0x0020
+ LBS_HASSTRINGS = 0x0040
+ LBS_USETABSTOPS = 0x0080
+ LBS_NOINTEGRALHEIGHT = 0x0100
+ LBS_MULTICOLUMN = 0x0200
+ LBS_WANTKEYBOARDINPUT = 0x0400
+ LBS_EXTENDEDSEL = 0x0800
+ LBS_DISABLENOSCROLL = 0x1000
+ LBS_NODATA = 0x2000
+ LBS_NOSEL = 0x4000
+ LBS_COMBOBOX = 0x8000
+ LBS_STANDARD = (LBS_NOTIFY | LBS_SORT | WS_VSCROLL | WS_BORDER)
+)
+
+// Listbox messages.
+// TODO filter out messages not provided in windows 2000
+const (
+ // from winuser.h
+ LB_ADDSTRING = 0x0180
+ LB_INSERTSTRING = 0x0181
+ LB_DELETESTRING = 0x0182
+ LB_SELITEMRANGEEX = 0x0183
+ LB_RESETCONTENT = 0x0184
+ LB_SETSEL = 0x0185
+ LB_SETCURSEL = 0x0186
+ LB_GETSEL = 0x0187
+ LB_GETCURSEL = 0x0188
+ LB_GETTEXT = 0x0189
+ LB_GETTEXTLEN = 0x018A
+ LB_GETCOUNT = 0x018B
+ LB_SELECTSTRING = 0x018C
+ LB_DIR = 0x018D
+ LB_GETTOPINDEX = 0x018E
+ LB_FINDSTRING = 0x018F
+ LB_GETSELCOUNT = 0x0190
+ LB_GETSELITEMS = 0x0191
+ LB_SETTABSTOPS = 0x0192
+ LB_GETHORIZONTALEXTENT = 0x0193
+ LB_SETHORIZONTALEXTENT = 0x0194
+ LB_SETCOLUMNWIDTH = 0x0195
+ LB_ADDFILE = 0x0196
+ LB_SETTOPINDEX = 0x0197
+ LB_GETITEMRECT = 0x0198
+ LB_GETITEMDATA = 0x0199
+ LB_SETITEMDATA = 0x019A
+ LB_SELITEMRANGE = 0x019B
+ LB_SETANCHORINDEX = 0x019C
+ LB_GETANCHORINDEX = 0x019D
+ LB_SETCARETINDEX = 0x019E
+ LB_GETCARETINDEX = 0x019F
+ LB_SETITEMHEIGHT = 0x01A0
+ LB_GETITEMHEIGHT = 0x01A1
+ LB_FINDSTRINGEXACT = 0x01A2
+ LB_SETLOCALE = 0x01A5
+ LB_GETLOCALE = 0x01A6
+ LB_SETCOUNT = 0x01A7
+ LB_INITSTORAGE = 0x01A8
+ LB_ITEMFROMPOINT = 0x01A9
+ LB_MULTIPLEADDSTRING = 0x01B1
+ LB_GETLISTBOXINFO = 0x01B2
+)
+
+// Listbox WM_COMMAND notifications and message returns.
+// TODO filter out notifications not provided in windows 2000
+const (
+ // from winuser.h
+ LB_OKAY = 0
+ LB_ERR = (-1) // TODO this will blow up the Go compiler if it's used
+ LBN_ERRSPACE = (-2) // TODO this will blow up the Go compiler if it's used
+ LBN_SELCHANGE = 1
+ LBN_DBLCLK = 2
+ LBN_SELCANCEL = 3
+ LBN_SETFOCUS = 4
+ LBN_KILLFOCUS = 5
+)