static INT_PTR CALLBACK DlgProcOptions(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam) { switch (msg) { case WM_INITDIALOG: TranslateDialogDefault(hwndDlg); for (auto &it : settings) LoadDBCheckState(hwndDlg, it.idCtrl, it.szSetName, it.defValue); break; case WM_COMMAND: if (HIWORD(wParam) == BN_CLICKED) for (auto &it : settings) if (it.idCtrl == LOWORD(wParam)) { SendMessage(GetParent(hwndDlg), PSM_CHANGED, 0, 0); break; } break; case WM_NOTIFY: NMHDR * hdr = (NMHDR *)lParam; if (hdr && hdr->code == PSN_APPLY) { for (auto &it : settings) StoreDBCheckState(hwndDlg, it.idCtrl, it.szSetName); ClearFI(); RegisterIcons(); for (auto &hContact : Contacts()) OnExtraImageApply(hContact, 0); } break; } return FALSE; }
int OnContactSettingChanged(WPARAM wParam, LPARAM lParam) { DBCONTACTWRITESETTING *dw = (DBCONTACTWRITESETTING *) lParam; //static HANDLE oldContact = NULL; DBVARIANT dv = dw->value; if ((strcmp(dw->szModule, DUMMY_MODULE) == 0) && (strcmp(dw->szSetting, DUMMY_SETTING) == 0)) { OnExtraImageApply(wParam, 0); } //oldContact = (HANDLE) wParam; return 0; }