diff options
| author | Jonas Kümmerlin <jonas@kuemmerlin.eu> | 2020-05-14 17:24:09 +0200 |
|---|---|---|
| committer | Jonas Kümmerlin <jonas@kuemmerlin.eu> | 2020-05-23 12:28:11 +0200 |
| commit | c218c7323a069eedbb42fbc31b0bcd8a664928c1 (patch) | |
| tree | 88f3d8923f3e1283785534e943927d00172a9375 /widgetfactory.cpp | |
| parent | 860d61661b82198bae93736980c340f5d2c4e152 (diff) | |
add radio button
Diffstat (limited to 'widgetfactory.cpp')
| -rw-r--r-- | widgetfactory.cpp | 81 |
1 files changed, 79 insertions, 2 deletions
diff --git a/widgetfactory.cpp b/widgetfactory.cpp index 7299074..ecf1bbb 100644 --- a/widgetfactory.cpp +++ b/widgetfactory.cpp @@ -566,20 +566,97 @@ notebookPanelInit(HWND panel) /* checkbox panel */ static void -checkboxPanelAttach(void *closure, HWND panel) +checkboxPanelAttach(void *closure, HWND outerPanel) { (void)closure; + HWND panel = ALF_AddGroupBox(outerPanel, (WORD)-1, 1, 1, TEXT("ALF Checkbox")); + ALF_AddCheckbox(panel, (WORD)-1, 1, 2, TEXT("Some Checkbox with a very very really very very long text")); HWND l = ALF_AddLabel(panel, (WORD)-1, 1, 4, TEXT("Width checker")); ALF_SetBackgroundColor(l, ALF_COLOR_RGB(0, 0, 255)); ALF_SetTextColor(l, ALF_COLOR_RGB(255, 255, 255)); - ALF_LayoutSetRowMinSize(panel, 1, 825); + ALF_AddCheckbox(panel, (WORD)-1, 1, 6, TEXT("Another Checkbox")); + + ALF_LayoutSetRowMinSize(panel, 3, 525); + ALF_LayoutSetRowMinSize(panel, 5, 525); + ALF_LayoutSetColumnExpandNumerator(panel, 9, 1); + ALF_LayoutSetRowExpandNumerator(panel, 9, 1); + + panel = ALF_AddGroupBox(outerPanel, (WORD)-1, 3, 1, TEXT("Native Checkbox")); + + HWND hwnd = CreateWindowEx(0, + TEXT("BUTTON"), + TEXT("Native Checkbox with long text"), + WS_CHILD | WS_VISIBLE | WS_TABSTOP | BS_AUTOCHECKBOX, + 0, 0, 100, 100, + panel, + (HMENU)(ULONG_PTR)-1, + (HINSTANCE)GetModuleHandle(NULL), + NULL); + + ALF_AddWidget(panel, 1, 1, hwnd, 0, 0, ALF_LAYOUT_SIZE_CHECKBOX | ALF_LAYOUT_INHERITFONT | ALF_LAYOUT_TRANSPARENTBG); + ALF_LayoutSetRowMinSize(panel, 3, 825); + ALF_LayoutSetRowMinSize(panel, 5, 825); ALF_LayoutSetColumnExpandNumerator(panel, 9, 1); ALF_LayoutSetRowExpandNumerator(panel, 9, 1); + + panel = ALF_AddGroupBox(outerPanel, (WORD)-1, 1, 3, TEXT("ALF Radio Button")); + + hwnd = ALF_AddRadioButton(panel, (WORD)-1, 1, 2, TEXT("Some Radio button")); + ALF_AddRadioButton(panel, (WORD)-1, 1, 4, TEXT("Another long One")); + ALF_AddRadioButton(panel, (WORD)-1, 1, 6, TEXT("Option 3")); + ALF_AddRadioButton(panel, (WORD)-1, 1, 8, TEXT("Option IV")); + + SendMessage(hwnd, BM_SETCHECK, BST_CHECKED, 0); + + ALF_LayoutSetRowMinSize(panel, 3, 525); + ALF_LayoutSetRowMinSize(panel, 5, 525); + ALF_LayoutSetRowMinSize(panel, 7, 525); + ALF_LayoutSetColumnExpandNumerator(panel, 9, 1); + ALF_LayoutSetRowExpandNumerator(panel, 9, 1); + + panel = ALF_AddGroupBox(outerPanel, (WORD)-1, 3, 3, TEXT("Native Radio")); + + hwnd = CreateWindowEx(0, + TEXT("BUTTON"), + TEXT("Native Radio Button with long text"), + WS_CHILD | WS_VISIBLE | BS_AUTORADIOBUTTON, + 0, 0, 100, 100, + panel, + (HMENU)(ULONG_PTR)-1, + (HINSTANCE)GetModuleHandle(NULL), + NULL); + SendMessage(hwnd, BM_SETCHECK, BST_CHECKED, 0); + ALF_AddWidget(panel, 1, 1, hwnd, 0, 0, ALF_LAYOUT_SIZE_RADIOBUTTON | ALF_LAYOUT_INHERITFONT | ALF_LAYOUT_TRANSPARENTBG); + + hwnd = CreateWindowEx(0, + TEXT("BUTTON"), + TEXT("Native Radio Button #2"), + WS_CHILD | WS_VISIBLE | BS_AUTORADIOBUTTON, + 0, 0, 100, 100, + panel, + (HMENU)(ULONG_PTR)-1, + (HINSTANCE)GetModuleHandle(NULL), + NULL); + ALF_AddWidget(panel, 1, 3, hwnd, 0, 0, ALF_LAYOUT_SIZE_RADIOBUTTON | ALF_LAYOUT_INHERITFONT | ALF_LAYOUT_TRANSPARENTBG); + + ALF_LayoutSetRowMinSize(panel, 2, 525); + ALF_LayoutSetRowMinSize(panel, 4, 525); + ALF_LayoutSetColumnExpandNumerator(panel, 9, 1); + ALF_LayoutSetRowExpandNumerator(panel, 9, 1); + + ALF_LayoutSetRowMinSize(outerPanel, 0, 825); + ALF_LayoutSetRowMinSize(outerPanel, 2, 825); + ALF_LayoutSetColumnMinSize(outerPanel, 0, 825); + ALF_LayoutSetColumnMinSize(outerPanel, 2, 825); + ALF_LayoutSetColumnMinSize(outerPanel, 4, 825); + ALF_LayoutSetColumnExpandNumerator(outerPanel, 1, 1); + ALF_LayoutSetColumnExpandNumerator(outerPanel, 3, 1); + ALF_LayoutSetRowExpandNumerator(outerPanel, 1, 1); } static ALFPanelVTable checkboxPanelVtbl = { |
