Поделиться через


Метод ITfThreadMgr::AssociateFocus (msctf.h)

Связывает фокус окна с объектом диспетчера документов.

Синтаксис

HRESULT AssociateFocus(
  [in]  HWND           hwnd,
  [in]  ITfDocumentMgr *pdimNew,
  [out] ITfDocumentMgr **ppdimPrev
);

Параметры

[in] hwnd

Дескриптор окна, с которым связывается фокус.

[in] pdimNew

Указатель на диспетчер документов, с которым нужно связать фокус. Диспетчер TSF не увеличивает число ссылок на объекты. Это значение может иметь значение NULL.

[out] ppdimPrev

Получает диспетчер документов, ранее связанный с окном. Получает значение NULL , если нет предыдущей связи. Этот параметр не может иметь значение NULL.

Возвращаемое значение

Этот метод может возвращать одно из этих значений.

Значение Описание
S_OK
Метод выполнен успешно.
E_INVALIDARG
Один или несколько параметров являются недопустимыми.

Комментарии

Этот метод предоставляется для удобства разработчика приложения. Связывание фокуса окна с диспетчером документов приводит к тому, что диспетчер TSF автоматически вызывает ITfThreadMgr::SetFocus со связанным диспетчером документов, когда связанное окно получает фокус.

Этот метод может связать только одно окно с одним диспетчером документов. Если реализация связывает несколько диспетчеров документов с одним окном или наоборот, реализация должна вызвать ITfThreadMgr::SetFocus , чтобы установить фокус на соответствующий диспетчер документов.

Чтобы восстановить предыдущую связь фокуса, вызовите этот метод с тем же дескриптором окна и значением, возвращенным в исходном вызове ppdimPrev для pdimNew. Пример приведен ниже.


//associate the focus for m_hwnd with m_pDocMgr 
pThreadMgr->AssociateFocus(m_hwnd, m_pDocMgr, &m_pPrevDocMgr);



//Restore the original focus association. 
ITfDocumentMgr *pTempDocMgr = NULL;

pThreadMgr->AssociateFocus(m_hwnd, m_pPrevDocMgr, &pTempDocMgr);

if(pTempDocMgr)
{
    pTempDocMgr->Release();
}
    
if(m_pPrevDocMgr)
{
    m_pPrevDocMgr->Release();
}

Требования

   
Минимальная версия клиента Windows 2000 Professional [только классические приложения]
Минимальная версия сервера Windows 2000 Server [только классические приложения]
Целевая платформа Windows
Header msctf.h
DLL Msctf.dll
Распространяемые компоненты TSF 1.0 в Windows 2000 Профессиональная

См. также раздел

ITfDocumentMgr

ITfThreadMgr

ITfThreadMgr::SetFocus