diff --git a/table_windows.c b/table_windows.c index 843e5d2..10bbb2c 100644 --- a/table_windows.c +++ b/table_windows.c @@ -8,6 +8,11 @@ // provided for cgo's benefit LPWSTR xtableWindowClass = tableWindowClass; +void doInitTable(void) +{ + initTable(xpanic, fv__TrackMouseEvent); +} + static LRESULT CALLBACK tableSubProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam, UINT_PTR id, DWORD_PTR data) { NMHDR *nmhdr = (NMHDR *) lParam; diff --git a/uitask_windows.go b/uitask_windows.go index 045933a..2d1fb54 100644 --- a/uitask_windows.go +++ b/uitask_windows.go @@ -36,6 +36,8 @@ func uiinit() error { if err := makeAreaWindowClass(); err != nil { return fmt.Errorf("error creating Area window class: %v", err) } + // this depends on the common controls having been initialized already + C.doInitTable() return nil } diff --git a/winapi_windows.h b/winapi_windows.h index 0f34d17..1d10afd 100644 --- a/winapi_windows.h +++ b/winapi_windows.h @@ -108,6 +108,7 @@ extern void tabLeaveChildren(HWND); // table_windows.go #include "wintable/includethis.h" extern LPWSTR xtableWindowClass; +extern void doInitTable(void); extern void setTableSubclass(HWND, void *); /* TODO extern void tableAutosizeColumns(HWND, int);