summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPietro Gagliardi <[email protected]>2014-12-08 08:50:42 -0500
committerPietro Gagliardi <[email protected]>2014-12-08 08:50:42 -0500
commit47a83a311d6f9702ab6ce87a38d77234496d09ad (patch)
treecbaf6d687eb56ed79ccb79f37f66e38e6b5cba1e
parent26f7fc6a6b8c60309dbf50ecee448e2f9c68ad3d (diff)
Added new Windows Table header columns (and this time we'll split out the dummy data).
-rw-r--r--wintable/new/header.h14
-rw-r--r--wintable/new/main.c8
2 files changed, 22 insertions, 0 deletions
diff --git a/wintable/new/header.h b/wintable/new/header.h
index 374aaa4..14281ef 100644
--- a/wintable/new/header.h
+++ b/wintable/new/header.h
@@ -38,3 +38,17 @@ static void repositionHeader(struct table *t)
wp.flags | SWP_SHOWWINDOW) == 0)
panic("error repositioning Table header");
}
+
+static void headerAddColumn(struct table *t, WCHAR *name)
+{
+ HDITEMW item;
+
+ ZeroMemory(&item, sizeof (HDITEMW));
+ item.mask = HDI_WIDTH | HDI_TEXT | HDI_FORMAT;
+ item.cxy = 200; // TODO
+ item.pszText = name;
+ item.fmt = HDF_LEFT | HDF_STRING;
+ // TODO replace 100 with (t->nColumns - 1)
+ if (SendMessage(t->header, HDM_INSERTITEM, (WPARAM) (100), (LPARAM) (&item)) == (LRESULT) (-1))
+ panic("error adding column to Table header");
+}
diff --git a/wintable/new/main.c b/wintable/new/main.c
index 84508bb..cc27111 100644
--- a/wintable/new/main.c
+++ b/wintable/new/main.c
@@ -65,6 +65,13 @@ static const handlerfunc handlers[] = {
NULL,
};
+static void initDummyTableStuff(struct table *t)
+{
+ headerAddColumn(t, L"Column 1");
+ headerAddColumn(t, L"Column 2");
+ headerAddColumn(t, L"Column 3");
+}
+
static LRESULT CALLBACK tableWndProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
struct table *t;
@@ -81,6 +88,7 @@ static LRESULT CALLBACK tableWndProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM
t = (struct table *) tableAlloc(sizeof (struct table), "error allocating internal Table data structure");
t->hwnd = hwnd;
makeHeader(t, cs->hInstance);
+initDummyTableStuff(t);
SetWindowLongPtrW(hwnd, GWLP_USERDATA, (LONG_PTR) t);
}
// even if we did the above, fall through