Set up some extended styles on Windows Tables for consistency and future features.
This commit is contained in:
parent
8fcadffeaf
commit
84e04cdae1
|
@ -55,3 +55,9 @@ void tableUpdate(HWND hwnd, int nItems)
|
|||
if (SendMessageW(hwnd, LVM_SETITEMCOUNT, (WPARAM) nItems, 0) == 0)
|
||||
xpanic("error setting number of items in Table", GetLastError());
|
||||
}
|
||||
|
||||
void tableAddExtendedStyles(HWND hwnd, LPARAM styles)
|
||||
{
|
||||
/* the bits of WPARAM specify which bits of LPARAM to look for; having WPARAM == LPARAM ensures that only the bits we want to add are affected */
|
||||
SendMessageW(hwnd, LVM_SETEXTENDEDLISTVIEWSTYLE, (WPARAM) styles, styles);
|
||||
}
|
||||
|
|
|
@ -24,6 +24,9 @@ func finishNewTable(b *tablebase, ty reflect.Type) Table {
|
|||
tablebase: b,
|
||||
}
|
||||
C.setTableSubclass(t.hwnd, unsafe.Pointer(t))
|
||||
// LVS_EX_FULLROWSELECT gives us selection across the whole row, not just the leftmost column; this makes the list view work like on other platforms
|
||||
// LVS_EX_SUBITEMIMAGES gives us images in subitems, which will be important when both images and checkboxes are added
|
||||
C.tableAddExtendedStyles(t.hwnd, C.LVS_EX_FULLROWSELECT | C.LVS_EX_SUBITEMIMAGES)
|
||||
for i := 0; i < ty.NumField(); i++ {
|
||||
C.tableAppendColumn(t.hwnd, C.int(i), toUTF16(ty.Field(i).Name))
|
||||
}
|
||||
|
|
|
@ -92,5 +92,6 @@ extern LPCWSTR xWC_LISTVIEW;
|
|||
extern void setTableSubclass(HWND, void *);
|
||||
extern void tableAppendColumn(HWND, int, LPCWSTR);
|
||||
extern void tableUpdate(HWND, int);
|
||||
extern void tableAddExtendedStyles(HWND, LPARAM);
|
||||
|
||||
#endif
|
||||
|
|
Loading…
Reference in New Issue