From 5b904dfa9418a34d2beb6178f5b6cc5aa8da355c Mon Sep 17 00:00:00 2001 From: Pietro Gagliardi Date: Wed, 3 Dec 2014 19:38:08 -0500 Subject: [PATCH] More Windows Table work. --- wintable/hscroll.h | 11 +++++++++++ wintable/main.c | 5 ++--- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/wintable/hscroll.h b/wintable/hscroll.h index 6c700a7..f4c3b0f 100644 --- a/wintable/hscroll.h +++ b/wintable/hscroll.h @@ -112,3 +112,14 @@ static void recomputeHScroll(struct table *t) si.nMax = t->width - 1; // - 1 because endpoints inclusive SetScrollInfo(t->hwnd, SB_HORZ, &si, TRUE); } + +HANDLER(hscroll) +{ + switch (uMsg) { + case WM_HSCROLL: + hscroll(t, wParam); + *lResult = 0; + return TRUE; + } + return FALSE; +} diff --git a/wintable/main.c b/wintable/main.c index 848e6d6..6a4c27a 100644 --- a/wintable/main.c +++ b/wintable/main.c @@ -105,6 +105,7 @@ struct table { typedef BOOL (*handlerfunc)(struct table *, UINT, WPARAM, LPARAM, LRESULT *); const handlerfunc handlerfuncs[] = { + hscrollHandler, vscrollHandler, APIHandler, NULL, @@ -177,9 +178,6 @@ if (ImageList_GetIconSize(t->imagelist, &unused, &(t->imagelistHeight)) == 0)abo drawItems(t, dc, ps.rcPaint); EndPaint(hwnd, &ps); return 0; - case WM_HSCROLL: - hscroll(t, wParam); - return 0; case WM_SIZE: resize(t); return 0; @@ -190,6 +188,7 @@ if (ImageList_GetIconSize(t->imagelist, &unused, &(t->imagelistHeight)) == 0)abo case WM_KILLFOCUS: // all we need to do here is redraw the highlight // TODO ensure giving focus works right + // TODO figure out hwat I meant by this redrawRow(t, t->selected); return 0; case WM_KEYDOWN: