int CIcqProto::OnUserInfoInit(WPARAM wParam, LPARAM lParam) { if ((!IsICQContact(lParam)) && lParam) return 0; OPTIONSDIALOGPAGE odp = { 0 }; odp.flags = ODPF_TCHAR | ODPF_DONTTRANSLATE; odp.hInstance = hInst; odp.dwInitParam = LPARAM(this); odp.pfnDlgProc = IcqDlgProc; odp.position = -1900000000; odp.ptszTitle = m_tszUserName; odp.pszTemplate = MAKEINTRESOURCEA(IDD_INFO_ICQ); UserInfo_AddPage(wParam, &odp); if (!lParam) { TCHAR buf[200]; mir_sntprintf(buf, TranslateT("%s Details"), m_tszUserName); odp.ptszTitle = buf; odp.position = -1899999999; odp.pszTemplate = MAKEINTRESOURCEA(IDD_INFO_CHANGEINFO); odp.pfnDlgProc = ChangeInfoDlgProc; UserInfo_AddPage(wParam, &odp); } return 0; }
HANDLE CIcqProto::FindFirstContact() { HANDLE hContact = (HANDLE)CallService(MS_DB_CONTACT_FINDFIRST, 0, (LPARAM)m_szModuleName); if (IsICQContact(hContact)) return hContact; return FindNextContact(hContact); }
HANDLE CIcqProto::FindNextContact(HANDLE hContact) { hContact = (HANDLE)CallService(MS_DB_CONTACT_FINDNEXT,(WPARAM)hContact,(LPARAM)m_szModuleName); while (hContact != NULL) { if (IsICQContact(hContact)) { return hContact; } hContact = (HANDLE)CallService(MS_DB_CONTACT_FINDNEXT,(WPARAM)hContact,(LPARAM)m_szModuleName); } return hContact; }