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; }
static int OnIconsChanged(WPARAM, LPARAM) { ClearFI(); return 0; }
static int OnExtraIconListRebuild(WPARAM, LPARAM) { ClearFI(); return 0; }
extern "C" int __declspec(dllexport) Unload() { HeapDestroy(hHeap); ClearFI(); return 0; }