Método IOleInPlaceSiteWindowless::SetFocus (ocidl.h)

Define o foco do teclado para um objeto ativo da interface do usuário e sem janelas.

Sintaxe

HRESULT SetFocus(
  [in] BOOL fFocus
);

Parâmetros

[in] fFocus

Se TRUE, define o foco do teclado para o objeto de chamada. Se FALSE, remove o foco do teclado do objeto de chamada, desde que o objeto tenha o foco.

Valor retornado

Esse método retornará S_OK se o foco do teclado tiver sido fornecido com êxito ao objeto. Se esse método for chamado para liberar o foco, ele nunca deverá falhar. Outros valores retornados possíveis incluem o seguinte.

Código de retorno Descrição
S_FALSE
O foco do teclado foi negado ao objeto .

Comentários

Um objeto sem janelas chama esse método sempre que um objeto em janelas chama a função SetFocus . Por meio dessa chamada, o objeto sem janelas obtém o foco do teclado e pode responder a mensagens de janela. Normalmente, essa chamada é feita durante o processo de ativação da interface do usuário e dentro dos métodos de notificação IOleInPlaceActiveObject::OnDocWindowActivate com TRUE e IOleInPlaceActiveObject::OnFrameWindowActivate com TRUE.

Em resposta a essa chamada, o contêiner define o foco do Windows como a janela que está sendo usada para obter mensagens de teclado (geralmente a janela do contêiner) e redireciona todas as mensagens de teclado subsequentes para o objeto sem janelas que solicitou o foco.

Um objeto sem janelas também chama o método IOleInPlaceSiteWindowless::SetFocus com o parâmetro fFocus definido como FALSE para liberar o foco do teclado sem atribuí-lo a nenhum outro objeto. Nesse caso, o contêiner deve chamar a função SetFocus com um parâmetro NULL para que nenhuma janela tenha o foco.

Requisitos

   
Cliente mínimo com suporte Windows 2000 Professional [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows 2000 Server [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho ocidl.h

Confira também

Ioleinplaceactiveobject

Ioleinplacesitewindowless