diff options
Diffstat (limited to 'widgetfactory.cpp')
| -rw-r--r-- | widgetfactory.cpp | 33 |
1 files changed, 30 insertions, 3 deletions
diff --git a/widgetfactory.cpp b/widgetfactory.cpp index 57d987e..e2d631c 100644 --- a/widgetfactory.cpp +++ b/widgetfactory.cpp @@ -13,6 +13,7 @@ enum { ID_LBL4, ID_COMBO2, ID_LBL5, + ID_LBL6, ID__MAX }; @@ -51,6 +52,26 @@ handleMessage(void *closure, HWND hwnd, UINT msg, WPARAM wparam, LPARAM lparam) return ALF_DefWindowProc(hwnd, msg, wparam, lparam); } +static LRESULT +handleCommand(void *closure, HWND window, WORD notificationcode, WORD sourceid, HWND control) +{ + (void)closure; + + if (notificationcode == CBN_SELCHANGE && sourceid == ID_COMBO2) { + TCHAR *text = ALF_ComboBoxCurrentText(control); + + ALF_SetWidgetText(window, ID_LBL6, text); + + HeapFree(GetProcessHeap(), 0, text); + } + if (control != NULL && sourceid == ID_B4) { + HWND combo = ALF_WidgetHwndById(window, ID_COMBO2); + ALF_ComboBoxSetCurrentIndex(combo, -1); + } + + return 0; +} + int CALLBACK #ifdef UNICODE wWinMain @@ -75,6 +96,7 @@ WinMain //cparams.className = TEXT("DummyClass"); cparams.vtbl.message = handleMessage; + cparams.vtbl.command = handleCommand; ALFAPP app = ALF_CreateApplication(hInstance); @@ -106,9 +128,9 @@ WinMain HWND hwndCombo1 = ALF_AddEditableComboBox(win, ID_COMBO1, 1, 3, TEXT("Hello!")); ALF_AddButton(win, ID_B3, 2, 3, TEXT("Ok")); - ALF_ComboBoxAddString(hwndCombo1, TEXT("Hello World!")); - ALF_ComboBoxAddString(hwndCombo1, TEXT("Goodbye World!")); - ALF_ComboBoxAddString(hwndCombo1, TEXT("The quick brown fox jumps over the lazy dog")); + ALF_ComboBoxInsertString(hwndCombo1, 0, TEXT("Hello World!")); + ALF_ComboBoxInsertString(hwndCombo1, -1, TEXT("Goodbye World!")); + ALF_ComboBoxInsertString(hwndCombo1, 1, TEXT("The quick brown fox jumps over the lazy dog")); ALF_AddLabel(win, ID_LBL5, 0, 4, TEXT("Selection-Only Combo Box:")); HWND hwndCombo2 = ALF_AddSelectionOnlyComboBox(win, ID_COMBO2, 1, 4); @@ -118,9 +140,14 @@ WinMain ALF_ComboBoxAddString(hwndCombo2, TEXT("Goodbye World!")); ALF_ComboBoxAddString(hwndCombo2, TEXT("The quick brown fox jumps over the lazy dog")); + ALF_AddLabel(win, ID_LBL6, 0, 5, TEXT("[ComboBox2 value]")); + ALF_RecalculateLayout(win); ALF_SetDefaultButton(win, ID_B1); + ALF_ComboBoxSetText(hwndCombo2, TEXT("Goodbye World!")); + + //EnableWindow(ALF_WidgetHwndById(win, ID_LBL3), FALSE); ALF_ResizeWindow(win, 1, 1); |
