INT_PTR CALLBACK LibrariesDlgProc (HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM lParam) { switch (uMsg) { case WM_INITDIALOG: init_libsheet(hDlg); break; case WM_SHOWWINDOW: set_window_title(hDlg); break; case WM_NOTIFY: switch (((LPNMHDR)lParam)->code) { case PSN_SETACTIVE: load_library_settings(hDlg); break; } break; case WM_COMMAND: switch(HIWORD(wParam)) { case CBN_EDITCHANGE: if (LOWORD(wParam) == IDC_DLLCOMBO) on_add_combo_change(hDlg); break; case CBN_SETFOCUS: if (LOWORD(wParam) == IDC_DLLCOMBO) on_add_combo_change(hDlg); break; case CBN_KILLFOCUS: if (LOWORD(wParam) == IDC_DLLCOMBO) SendMessageW(GetParent(hDlg), DM_SETDEFID, IDOK, 0); break; case BN_CLICKED: switch(LOWORD(wParam)) { case IDC_DLLS_ADDDLL: on_add_click(hDlg); break; case IDC_DLLS_EDITDLL: on_edit_click(hDlg); break; case IDC_DLLS_REMOVEDLL: on_remove_click(hDlg); break; } break; case LBN_SELCHANGE: if(LOWORD(wParam) == IDC_DLLCOMBO) on_add_combo_change(hDlg); else set_controls_from_selection(hDlg); break; } break; } return 0; }
INT_PTR CALLBACK LibrariesDlgProc (HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM lParam) { switch (uMsg) { case WM_INITDIALOG: init_libsheet(hDlg); break; case WM_SHOWWINDOW: set_window_title(hDlg); break; case WM_NOTIFY: switch (((LPNMHDR)lParam)->code) { case PSN_SETACTIVE: load_library_settings(hDlg); break; } break; case WM_COMMAND: switch(HIWORD(wParam)) { case CBN_EDITCHANGE: if (LOWORD(wParam) == IDC_DLLCOMBO) on_add_combo_change(hDlg); break; case CBN_SETFOCUS: if (LOWORD(wParam) == IDC_DLLCOMBO) on_add_combo_change(hDlg); break; case CBN_KILLFOCUS: if (LOWORD(wParam) == IDC_DLLCOMBO) SendMessageW(GetParent(hDlg), DM_SETDEFID, IDOK, 0); break; case BN_CLICKED: switch(LOWORD(wParam)) { case IDC_DLLS_ADDDLL: on_add_click(hDlg); break; case IDC_DLLS_EDITDLL: on_edit_click(hDlg); break; case IDC_DLLS_REMOVEDLL: on_remove_click(hDlg); break; } break; case LBN_SELCHANGE: if(LOWORD(wParam) == IDC_DLLCOMBO) on_add_combo_change(hDlg); else set_controls_from_selection(hDlg); break; case CBN_DBLCLK: if (LOWORD(wParam) == IDC_DLLS_LIST) { int index; POINT p; if (GetCursorPos(&p) && ScreenToClient((HWND)lParam, &p)) { index = SendDlgItemMessageW(hDlg, IDC_DLLS_LIST, LB_ITEMFROMPOINT, 0, MAKELPARAM(p.x, p.y)); if (!HIWORD(index)) on_edit_click(hDlg); } } break; } break; } return 0; }