diff options
Diffstat (limited to 'widgetfactory.cpp')
| -rw-r--r-- | widgetfactory.cpp | 72 |
1 files changed, 72 insertions, 0 deletions
diff --git a/widgetfactory.cpp b/widgetfactory.cpp index 3885df4..b0c0fdd 100644 --- a/widgetfactory.cpp +++ b/widgetfactory.cpp @@ -595,6 +595,77 @@ checkboxPanelAddToNotebook(HWND hwndNotebook) ALF_PanelSetVTable(panel, &checkboxPanelVtbl, priv); } +/* groupbox panel */ + +static void +groupboxPanelAttach(void *closure, HWND panel) +{ + (void)closure; + + ALF_AddLabel(panel, (WORD)-1, 1, 1, TEXT("ALF")); + ALF_AddLabel(panel, (WORD)-1, 3, 1, TEXT("native")); + + HWND hwndGb0 = ALF_AddGroupBox(panel, (WORD)-1, 1, 3, TEXT("Test Bo&x")); + + HWND hwndGb1 = CreateWindowEx(WS_EX_TRANSPARENT, + TEXT("BUTTON"), + TEXT("Test Box"), + WS_CHILD | WS_TABSTOP | WS_VISIBLE | BS_GROUPBOX, + 0, 0, 100, 100, + panel, + (HMENU)(WORD)-1, + (HINSTANCE)GetModuleHandle(NULL), + NULL); + ALF_AddWidget(panel, 3, 3, hwndGb1, 0, 0, ALF_LAYOUT_INHERITFONT | ALF_LAYOUT_TRANSPARENTBG); + + ALF_AddEdit(hwndGb0, (WORD)-1, 0, 0, TEXT("Dummy")); + + HWND hwndGb3 = ALF_AddGroupBox(panel, (WORD)-1, 1, 5, TEXT("Disabled")); + EnableWindow(hwndGb3, FALSE); + + HWND hwndGb2 = CreateWindowEx(WS_EX_TRANSPARENT, + TEXT("BUTTON"), + TEXT("Disabled"), + WS_CHILD | WS_TABSTOP | WS_VISIBLE | BS_GROUPBOX, + 0, 0, 100, 100, + panel, + (HMENU)(WORD)-1, + (HINSTANCE)GetModuleHandle(NULL), + NULL); + ALF_AddWidget(panel, 3, 5, hwndGb2, 0, 0, ALF_LAYOUT_INHERITFONT | ALF_LAYOUT_TRANSPARENTBG); + EnableWindow(hwndGb2, FALSE); + + ALF_LayoutSetRowMinSize(panel, 0, 825); + ALF_LayoutSetRowMinSize(panel, 2, 825); + ALF_LayoutSetRowMinSize(panel, 4, 825); + ALF_LayoutSetRowMinSize(panel, 6, 825); + ALF_LayoutSetColumnMinSize(panel, 0, 825); + ALF_LayoutSetColumnMinSize(panel, 2, 825); + ALF_LayoutSetColumnMinSize(panel, 4, 825); + ALF_LayoutSetRowExpandNumerator(panel, 3, 1); + ALF_LayoutSetRowExpandNumerator(panel, 5, 1); + ALF_LayoutSetColumnExpandNumerator(panel, 1, 1); + ALF_LayoutSetColumnExpandNumerator(panel, 3, 1); +} + +static ALFPanelVTable groupboxPanelVtbl = { + groupboxPanelAttach, + commonPanelDestroy, + commonPanelMessage, + NULL, + NULL, + commonPanelPaint, + NULL +}; + +static void +groupboxPanelAddToNotebook(HWND hwndNotebook) +{ + HWND panel = ALF_NotebookAddTab(hwndNotebook, TEXT("GroupBox")); + CommonPanelPriv *priv = ALF_New(CommonPanelPriv, 1); + ALF_PanelSetVTable(panel, &groupboxPanelVtbl, priv); +} + int CALLBACK #ifdef UNICODE wWinMain @@ -643,6 +714,7 @@ WinMain comboPanelAddToNotebook(hwndNtbk); notebookPanelAddToNotebook(hwndNtbk); checkboxPanelAddToNotebook(hwndNtbk); + groupboxPanelAddToNotebook(hwndNtbk); ALF_SetDefaultButton(win, ID_HELLO); |
