BOOL CDuiAutoComplete::Bind(HWND p_hWndEdit, DWORD p_dwOptions, LPCTSTR p_lpszFormatString) { ATLASSERT(::IsWindow(p_hWndEdit)); if ((m_fBound) || (GetIAutoComplete())) return FALSE; HRESULT hr = GetIAutoComplete().CoCreateInstance(CLSID_AutoComplete); if (SUCCEEDED(hr)) { if (p_dwOptions){ CComQIPtr<IAutoComplete2> pAC2(GetIAutoComplete()); if (pAC2){ pAC2->SetOptions(p_dwOptions); pAC2.Release(); } } USES_CONVERSION; if (SUCCEEDED(hr = GetIAutoComplete()->Init(p_hWndEdit, this, NULL, T2CW(p_lpszFormatString)))) { m_fBound = TRUE; return TRUE; } } return FALSE; }
BOOL CCustomAutoComplete::Bind(HWND hWndEdit, DWORD dwOptions, LPCTSTR pcFormatString) { ATLASSERT(::IsWindow(hWndEdit)); if (m_bBound || m_pac != NULL) return FALSE; if (SUCCEEDED(m_pac.CoCreateInstance(CLSID_AutoComplete))) { if (dwOptions != 0) { CComQIPtr<IAutoComplete2> pAC2(m_pac); if (pAC2 != NULL) { pAC2->SetOptions(dwOptions); pAC2.Release(); } } USES_CONVERSION; if (SUCCEEDED(m_pac->Init(hWndEdit, this, NULL, CT2CW(pcFormatString)))) { m_bBound = TRUE; return TRUE; } } return FALSE; }