diff options
Diffstat (limited to 'wintable/api.h')
| -rw-r--r-- | wintable/api.h | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/wintable/api.h b/wintable/api.h new file mode 100644 index 0000000..a933df7 --- /dev/null +++ b/wintable/api.h @@ -0,0 +1,25 @@ +// 29 november 2014 + +static void addColumn(struct table *t, WPARAM wParam, LPARAM lParam) +{ + HDITEMW item; + + if (((int) wParam) >= nTableColumnTypes) + abort(); + + t->nColumns++; + t->columnTypes = (int *) realloc(t->columnTypes, t->nColumns * sizeof (int)); + if (t->columnTypes == NULL) + abort(); + t->columnTypes[t->nColumns - 1] = (int) wParam; + + ZeroMemory(&item, sizeof (HDITEMW)); + item.mask = HDI_WIDTH | HDI_TEXT | HDI_FORMAT; + item.cxy = 200; // TODO + item.pszText = (WCHAR *) lParam; + item.fmt = HDF_LEFT | HDF_STRING; + if (SendMessage(t->header, HDM_INSERTITEM, (WPARAM) (t->nColumns - 1), (LPARAM) (&item)) == (LRESULT) (-1)) + abort(); + // TODO resize(t)? + redrawAll(t); +} |
