INT_PTR CALLBACK ServicesDlgProc( _In_ HWND hwndDlg, _In_ UINT uMsg, _In_ WPARAM wParam, _In_ LPARAM lParam ) { static PH_LAYOUT_MANAGER LayoutManager; INT_PTR result; if (result = HandleCommonMessages(hwndDlg, uMsg, wParam, lParam, GetDlgItem(hwndDlg, IDC_LIST), EditingServiceFilterList)) return result; switch (uMsg) { case WM_INITDIALOG: { EditingServiceFilterList = PhCreateList(ServiceFilterList->Count + 10); CopyFilterList(EditingServiceFilterList, ServiceFilterList); PhInitializeLayoutManager(&LayoutManager, hwndDlg); PhAddLayoutItem(&LayoutManager, GetDlgItem(hwndDlg, IDC_LIST), NULL, PH_ANCHOR_ALL); PhAddLayoutItem(&LayoutManager, GetDlgItem(hwndDlg, IDC_MOVEUP), NULL, PH_ANCHOR_TOP | PH_ANCHOR_RIGHT); PhAddLayoutItem(&LayoutManager, GetDlgItem(hwndDlg, IDC_MOVEDOWN), NULL, PH_ANCHOR_TOP | PH_ANCHOR_RIGHT); PhAddLayoutItem(&LayoutManager, GetDlgItem(hwndDlg, IDC_TEXT), NULL, PH_ANCHOR_BOTTOM | PH_ANCHOR_LEFT | PH_ANCHOR_RIGHT); PhAddLayoutItem(&LayoutManager, GetDlgItem(hwndDlg, IDC_INCLUDE), NULL, PH_ANCHOR_BOTTOM | PH_ANCHOR_RIGHT); PhAddLayoutItem(&LayoutManager, GetDlgItem(hwndDlg, IDC_EXCLUDE), NULL, PH_ANCHOR_BOTTOM | PH_ANCHOR_RIGHT); PhAddLayoutItem(&LayoutManager, GetDlgItem(hwndDlg, IDC_ADD), NULL, PH_ANCHOR_BOTTOM | PH_ANCHOR_RIGHT); PhAddLayoutItem(&LayoutManager, GetDlgItem(hwndDlg, IDC_REMOVE), NULL, PH_ANCHOR_BOTTOM | PH_ANCHOR_RIGHT); PhAddLayoutItem(&LayoutManager, GetDlgItem(hwndDlg, IDC_INFO), NULL, PH_ANCHOR_BOTTOM | PH_ANCHOR_LEFT); AddEntriesToListBox(GetDlgItem(hwndDlg, IDC_LIST), EditingServiceFilterList); } break; case WM_DESTROY: { PPH_STRING string; ClearFilterList(ServiceFilterList); CopyFilterList(ServiceFilterList, EditingServiceFilterList); string = SaveFilterList(ServiceFilterList); PhSetStringSetting2(SETTING_NAME_SERVICE_LIST, &string->sr); PhDereferenceObject(string); ClearFilterList(EditingServiceFilterList); PhDereferenceObject(EditingServiceFilterList); EditingServiceFilterList = NULL; PhDeleteLayoutManager(&LayoutManager); } break; case WM_SIZE: { PhLayoutManagerLayout(&LayoutManager); } break; } return FALSE; }
INT_PTR CALLBACK ServicesDlgProc( _In_ HWND hwndDlg, _In_ UINT uMsg, _In_ WPARAM wParam, _In_ LPARAM lParam ) { if (HandleCommonMessages(hwndDlg, uMsg, wParam, lParam, GetDlgItem(hwndDlg, IDC_LIST), EditingServiceFilterList)) return FALSE; switch (uMsg) { case WM_INITDIALOG: { EditingServiceFilterList = PhCreateList(ServiceFilterList->Count + 10); CopyFilterList(EditingServiceFilterList, ServiceFilterList); AddEntriesToListBox(GetDlgItem(hwndDlg, IDC_LIST), EditingServiceFilterList); } break; case WM_DESTROY: { ClearFilterList(EditingServiceFilterList); PhDereferenceObject(EditingServiceFilterList); EditingServiceFilterList = NULL; } break; case WM_COMMAND: { switch (LOWORD(wParam)) { NOTHING; } } break; case WM_NOTIFY: { LPNMHDR header = (LPNMHDR)lParam; switch (header->code) { case PSN_APPLY: { PPH_STRING string; ClearFilterList(ServiceFilterList); CopyFilterList(ServiceFilterList, EditingServiceFilterList); string = SaveFilterList(ServiceFilterList); PhSetStringSetting2(SETTING_NAME_SERVICE_LIST, &string->sr); PhDereferenceObject(string); SetWindowLongPtr(hwndDlg, DWLP_MSGRESULT, PSNRET_NOERROR); } return TRUE; } } break; } return FALSE; }