Partilhar via


Classe COleControlSite

Dá suporte para interfaces de controle personalizadas do lado do cliente.

Sintaxe

class COleControlSite : public CCmdTarget

Membros

Construtores públicos

Nome Descrição
COleControlSite::COleControlSite Constrói um objeto COleControlSite.

Métodos públicos

Nome Descrição
COleControlSite::BindDefaultProperty Associa a propriedade padrão do controle hospedado a uma fonte de dados.
COleControlSite::BindProperty Associa uma propriedade do controle hospedado a uma fonte de dados.
COleControlSite::CreateControl Cria um controle ActiveX hospedado.
COleControlSite::DestroyControl Destrói o controle hospedado.
COleControlSite::DoVerb Executa um verbo específico do controle hospedado.
COleControlSite::EnableDSC Habilita o fornecimento de dados para um site de controle.
COleControlSite::EnableWindow Habilita o site de controle.
COleControlSite::FreezeEvents Especifica se o site de controle está aceitando eventos.
COleControlSite::GetDefBtnCode Recupera o código de botão padrão para o controle hospedado.
COleControlSite::GetDlgCtrlID Recupera o identificador do controle.
COleControlSite::GetEventIID Recupera a ID de uma interface de evento para um controle hospedado.
COleControlSite::GetExStyle Recupera os estilos estendidos do site de controle.
COleControlSite::GetProperty Recupera uma propriedade específica do controle hospedado.
COleControlSite::GetStyle Recupera os estilos do site de controle.
COleControlSite::GetWindowText Recupera o texto do controle hospedado.
COleControlSite::InvokeHelper Invoque um método específico do controle hospedado.
COleControlSite::InvokeHelperV Invoque um método específico do controle hospedado com uma lista variável de argumentos.
COleControlSite::IsDefaultButton Determina se o controle é o botão padrão na janela.
COleControlSite::IsWindowEnabled Verifica o estado visível do site de controle.
COleControlSite::ModifyStyle Modifica os estilos estendidos atuais do site de controle.
COleControlSite::ModifyStyleEx Modifica os estilos atuais do site de controle.
COleControlSite::MoveWindow Altera a posição do site de controle.
COleControlSite::QuickActivate Ativa rapidamente o controle hospedado.
COleControlSite::SafeSetProperty Define uma propriedade ou um método do controle sem a chance de gerar uma exceção.
COleControlSite::SetDefaultButton Define o botão padrão na janela.
COleControlSite::SetDlgCtrlID Recupera o identificador do controle.
COleControlSite::SetFocus Define o foco para o site de controle.
COleControlSite::SetProperty Define uma propriedade específica do controle hospedado.
COleControlSite::SetPropertyV Define uma propriedade específica do controle hospedado com uma lista variável de argumentos.
COleControlSite::SetWindowPos Define a posição do site de controle.
COleControlSite::SetWindowText Define o texto do controle hospedado.
COleControlSite::ShowWindow Mostra ou oculta o controle do site.

Métodos protegidos

Nome Descrição
COleControlSite::GetControlInfo Recupera as informações de teclado e os mnemônicos do controle hospedado.

Membros de Dados Públicos

Nome Descrição
COleControlSite::m_bIsWindowless Determina se o controle hospedado é um controle sem janelas.
COleControlSite::m_ctlInfo Contém informações sobre o manuseio do teclado para o controle.
COleControlSite::m_dwEventSink O cookie do ponto de conexão do controle.
COleControlSite::m_dwMiscStatus Os estados diversos para o controle hospedado.
COleControlSite::m_dwPropNotifySink O cookie IPropertyNotifySink do controle.
COleControlSite::m_dwStyle Os estilos do controle hospedado.
COleControlSite::m_hWnd O identificador do site de controle.
COleControlSite::m_iidEvents A ID da interface do evento para o controle hospedado.
COleControlSite::m_nID A ID do controle hospedado.
COleControlSite::m_pActiveObject Um ponteiro para o objeto IOleInPlaceActiveObject do controle hospedado.
COleControlSite::m_pCtrlCont O contêiner do controle hospedado.
COleControlSite::m_pInPlaceObject Um ponteiro para o objeto IOleInPlaceObject do controle hospedado.
COleControlSite::m_pObject Um ponteiro para a interface IOleObjectInterface do controle.
COleControlSite::m_pWindowlessObject Um ponteiro para a interface IOleInPlaceObjectWindowless do controle.
COleControlSite::m_pWndCtrl Um ponteiro para o objeto de janela para o controle hospedado.
COleControlSite::m_rect As dimensões do site de controle.

Comentários

Esse suporte é o principal meio pelo qual um controle ActiveX inserido obtém informações sobre o local e a extensão de seu site de exibição, seu moniker, sua interface do usuário, suas propriedades de ambiente e outros recursos fornecidos pelo contêiner. COleControlSite implementa totalmente as interfaces IOleControlSite, IOleInPlaceSite, IOleClientSite, IPropertyNotifySink, IBoundObjectSite, INotifyDBEvents e IRowSetNotify. Além disso, a interface IDispatch (que fornece suporte para propriedades de ambientes e coletores de eventos) também é implementada.

Para criar um site de controle ActiveX usando COleControlSite, crie uma classe derivada de COleControlSite. Na classe derivada de CWnd para o contêiner (por exemplo, sua caixa de diálogo) substitua a função CWnd::CreateControlSite.

Hierarquia de herança

CObject

CCmdTarget

COleControlSite

Requisitos

Cabeçalho: afxocc.h

COleControlSite::BindDefaultProperty

Associa a propriedade associada simples padrão do objeto de chamada, conforme marcado na biblioteca de tipos, ao cursor subjacente definido pelas propriedades DataSource, UserName, Password e SQL do controle de fonte de dados.

virtual void BindDefaultProperty(
    DISPID dwDispID,
    VARTYPE vtProp,
    LPCTSTR szFieldName,
    CWnd* pDSCWnd);

Parâmetros

dwDispID
Especifica o DISPID de uma propriedade em um controle associado a dados que deve ser associado a um controle de fonte de dados.

vtProp
Especifica o tipo da propriedade a ser associada; por exemplo, VT_BSTR, VT_VARIANT e assim por diante.

szFieldName
Especifica o nome da coluna, no cursor fornecido pelo controle de fonte de dados, ao qual a propriedade será associada.

pDSCWnd
Um ponteiro para o objeto derivado de CWnd que hospeda o controle da fonte de dados ao qual a propriedade será associada.

Comentários

O objeto CWnd no qual você chama essa função deve ser um controle associado a dados.

COleControlSite::BindProperty

Associa a propriedade associada simples do objeto de chamada, conforme marcado na biblioteca de tipos, ao cursor subjacente definido pelas propriedades DataSource, UserName, Password e SQL do controle de fonte de dados.

virtual void BindProperty(
    DISPID dwDispId,
    CWnd* pWndDSC);

Parâmetros

dwDispId
Especifica o DISPID de uma propriedade em um controle associado a dados que deve ser associado a um controle de fonte de dados.

pWndDSC
Um ponteiro para o objeto derivado de CWnd que hospeda o controle da fonte de dados ao qual a propriedade será associada.

Comentários

O objeto CWnd no qual você chama essa função deve ser um controle associado a dados.

COleControlSite::COleControlSite

Constrói um novo objeto COleControlSite.

explicit COleControlSite(COleControlContainer* pCtrlCont);

Parâmetros

pCtrlCont
Um ponteiro para o contêiner do controle (que representa a janela que hospeda o controle AtiveX).

Comentários

Essa função é chamada pela função COccManager::CreateContainer. Para obter mais informações sobre como personalizar a criação de contêineres, confira COccManager::CreateSite.

COleControlSite::CreateControl

Cria um controle ActiveX, hospedado pelo objeto COleControlSite.

virtual HRESULT CreateControl(
    CWnd* pWndCtrl,
    REFCLSID clsid,
    LPCTSTR lpszWindowName,
    DWORD dwStyle,
    const RECT& rect,
    UINT nID,
    CFile* pPersist = NULL,
    BOOL bStorage = FALSE,
    BSTR bstrLicKey = NULL);

virtual HRESULT CreateControl(
    CWnd* pWndCtrl,
    REFCLSID clsid,
    LPCTSTR lpszWindowName,
    DWORD dwStyle,
    const POINT* ppt,
    const SIZE* psize,
    UINT nID,
    CFile* pPersist = NULL,
    BOOL bStorage = FALSE,
    BSTR bstrLicKey = NULL);

Parâmetros

pWndCtrl
Um ponteiro para o objeto de janela que representa o controle.

clsid
O ID de classe exclusiva do controle.

lpszWindowName
Um ponteiro para o texto a ser exibido no controle. Define o valor da propriedade Legenda ou Texto da janela (se houver).

dwStyle
Estilos do Windows. Os estilos disponíveis ficam listados na seção Comentários.

rect
Especifica o tamanho e a posição do controle. Pode ser um objeto CRect ou uma estrutura RECT.

Nid
Especifica a ID da janela filho do controle.

pPersist
Um ponteiro para um CFile contendo o estado persistente para o controle. O valor padrão é NULL, indicando que o controle se inicializa sem restaurar seu estado de nenhum armazenamento persistente. Se não for NULL, ele deve ser um ponteiro para um objeto derivado de CFile que contém os dados persistentes do controle, na forma de um fluxo ou de um armazenamento. Esses dados poderiam ter sido salvos em uma ativação anterior do cliente. O CFile pode conter outros dados, mas deve ter seu ponteiro de leitura/gravação definido como o primeiro byte de dados persistentes no momento da chamada para CreateControl.

bStorage
Indica se os dados em pPersist devem ser interpretados como dados IStorage ou IStream. Se os dados em pPersist forem um armazenamento, o bStorage deverá ser TRUE. Se os dados em pPersist forem uma transmissão, o bStorage deverá ser FALSE. O valor padrão é FALSE.

bstrLicKey
Dados de chave de licença opcionais. Esses dados são necessários apenas para criar controles que exigem uma chave de licença em tempo de execução. Se o controle der suporte ao licenciamento, você deverá fornecer uma chave de licença para que a criação do controle tenha êxito. O valor padrão é NULL.

ppt
Um ponteiro para uma estrutura POINT que contém o canto superior esquerdo do controle. O tamanho do controle é determinado pelo valor de psize. Os valores ppt e psize são um método opcional de especificação do tamanho e da posição do controle.

psize
Um ponteiro para uma estrutura SIZE que contém o tamanho do controle. O canto superior esquerdo é determinado pelo valor de ppt. Os valores ppt e psize são um método opcional de especificação do tamanho e da posição do controle.

Valor de retorno

Um valor HRESULT padrão.

Comentários

Somente um subconjunto dos sinalizadores dwStyle do Windows tem suporte de CreateControl:

  • WS_VISIBLE Cria uma janela visível inicialmente. Necessário se você quiser que o controle fique visível imediatamente, como janelas comuns.

  • WS_DISABLED Cria uma janela que desabilitada inicialmente. Uma janela desabilitada não pode receber entrada do usuário. Pode ser definido se o controle tiver uma propriedade Habilitada.

  • WS_BORDER Cria uma janela com uma borda de linha fina. A opção pode ser definida, se o controle tiver uma propriedade BorderStyle.

  • WS_GROUP Especifica o primeiro controle de um grupo de controles. O usuário pode alterar o foco do teclado de um controle no grupo para o outro usando as teclas de direção. Todos os controles definidos com o estilo WS_GROUP após o primeiro controle pertencem ao mesmo grupo. O próximo controle com o estilo WS_GROUP encerra o grupo e inicia o próximo grupo.

  • WS_TABSTOP Especifica um controle que pode receber o foco do teclado quando o usuário pressionar a tecla TAB. Pressionar a tecla TAB altera o foco do teclado para o próximo controle do estilo WS_TABSTOP.

Use a segunda sobrecarga para criar controles de tamanho padrão.

COleControlSite::DestroyControl

Destrói o objeto COleControlSite.

virtual BOOL DestroyControl();

Valor de retorno

Diferente de zero em caso de êxito; caso contrário, 0.

Comentários

Depois de concluído, o objeto é liberado da memória e quaisquer ponteiros para o objeto deixam de ser válidos.

COleControlSite::DoVerb

Executa o verbo especificado.

virtual HRESULT DoVerb(
    LONG nVerb,
    LPMSG lpMsg = NULL);

Parâmetros

nVerb
Especifica o verbo a ser executado. Pode incluir um dos seguintes:

Valor Significado Símbolo
0 Verbo primário OLEIVERB_PRIMARY
-1 Verbo secundário (Nenhuma)
1 Exibe o objeto para edição. OLEIVERB_SHOW
-2 Edita o item em uma janela separada. OLEIVERB_OPEN
-3 Oculta o objeto. OLEIVERB_HIDE
-4 Ativa um controle in-loco. OLEIVERB_UIACTIVATE
-5 Ativa um controle in-loco, sem elementos adicionais da interface do usuário. OLEIVERB_INPLACEACTIVATE
7- Exibe as propriedades do controle. OLEIVERB_PROPERTIES

lpMsg
Ponteiro para a mensagem que fez com que o item fosse ativado.

Valor de retorno

Um valor HRESULT padrão.

Comentários

Essa função chama diretamente por meio da interface IOleObject do controle para executar o verbo especificado. Se uma exceção for gerada como resultado dessa chamada de função, será retornado um código de erro HRESULT.

Para obter mais informações, confira IOleObject::DoVerb no SDK do Windows.

COleControlSite::EnableDSC

Habilita o fornecimento de dados para o site de controle.

virtual void EnableDSC();

Comentários

Chamado pela estrutura para habilitar e inicializar o fornecimento de dados para o site de controle. Substitua essa função para fornecer um comportamento personalizado.

COleControlSite::EnableWindow

Habilita ou desabilita a entrada do mouse e teclado no site de controle.

virtual BOOL EnableWindow(BOOL bEnable);

Parâmetros

bEnable
Especifica se é necessário habilitar ou desabilitar a janela: TRUE se a entrada da janela precisar ser habilitada; caso contrário, FALSE.

Valor de retorno

Diferente de zero se a janela tiver sido desabilitada anteriormente; caso contrário, 0.

COleControlSite::FreezeEvents

Especifica se o site de controle lidará ou ignorará eventos disparados de um controle.

void FreezeEvents(BOOL bFreeze);

Parâmetros

bFreeze
Especifica se o site de controle deseja parar de aceitar eventos. Diferente de zero se o controle não estiver aceitando eventos; caso contrário, zero.

Comentários

Se bFreeze for TRUE, o site de controle solicitará que o controle pare de disparar eventos. Se bFreeze for FALSE, o site de controle solicitará o controle para continuar o disparo de eventos.

Observação

O controle não precisa interromper o disparo de eventos se isso for solicitado pelo site de controle. Ele poderá continuar disparando, mas todos os eventos subsequentes serão ignorados pelo site de controle.

COleControlSite::GetControlInfo

Recupera informações sobre o mnemônico de teclado e o comportamento teclado de um controle.

void GetControlInfo();

Comentários

As informações são armazenadas em COleControlSite::m_ctlInfo.

COleControlSite::GetDefBtnCode

Determina se o controle é um botão de push padrão.

DWORD GetDefBtnCode();

Valor de retorno

Pode ser um dos seguintes valores:

  • DLGC_DEFPUSHBUTTON O controle é o botão padrão na caixa de diálogo.

  • DLGC_UNDEFPUSHBUTTON O controle não é o botão padrão na caixa de diálogo.

  • 0 O controle não é um botão.

COleControlSite::GetDlgCtrlID

Recupera o identificador do controle.

virtual int GetDlgCtrlID() const;

Valor de retorno

O identificador do item de caixa de diálogo do controle.

COleControlSite::GetEventIID

Recupera um ponteiro para a interface de evento padrão do controle.

BOOL GetEventIID(IID* piid);

Parâmetros

piid
Um ponteiro para uma ID de interface.

Valor de retorno

Diferente de zero em caso de êxito; caso contrário, 0. Se tiver êxito, o piid conterá a ID da interface para a interface de evento padrão do controle.

COleControlSite::GetExStyle

Recupera os estilos estendidos da janela.

virtual DWORD GetExStyle() const;

Valor de retorno

Os estilos estendidos da janela de controle.

Comentários

Para recuperar os estilos regulares, chame COleControlSite::GetStyle.

COleControlSite::GetProperty

Obtém a propriedade de controle especificada por dwDispID.

virtual void GetProperty(
    DISPID dwDispID,
    VARTYPE vtProp,
    void* pvProp) const;

Parâmetros

dwDispID
Identifica a ID de expedição da propriedade, encontrada na interface IDispatch padrão do controle, a ser recuperada.

vtProp
Especifica o tipo da propriedade a ser recuperada. Para obter valores possíveis, consulte a seção Comentários para COleDispatchDriver::InvokeHelper.

pvProp
Endereço da variável que receberá o valor da propriedade. Ele deve corresponder ao tipo especificado por vtProp.

Comentários

O valor é retornado por meio de pvProp.

COleControlSite::GetStyle

Recupera os estilos do site de controle.

virtual DWORD GetStyle() const;

Valor de retorno

Os estilos da janela.

Comentários

Para obter uma lista de valores possíveis, confira Estilos de janela. Para recuperar os estilos estendidos do site de controle, chame COleControlSite::GetExStyle.

COleControlSite::GetWindowText

Recupera o texto atual do controle.

virtual void GetWindowText(CString& str) const;

Parâmetros

str
Uma referência a um objeto CString que contém o texto atual do controle.

Comentários

Se o controle der suporte à propriedade Caption stock, esse valor será retornado. Se não houver suporte para a propriedade Caption stock, o valor da propriedade Text será retornado.

COleControlSite::InvokeHelper

Invoca o método ou a propriedade especificados por dwDispID, no contexto especificado por wFlags.

virtual void AFX_CDECL InvokeHelper(
    DISPID dwDispID,
    WORD wFlags,
    VARTYPE vtRet,
    void* pvRet,
    const BYTE* pbParamInfo, ...);

Parâmetros

dwDispID
Identifica a ID de expedição da propriedade ou do método, encontrada na interface IDispatch do controle, a ser invocada.

wFlags
Sinalizadores que descrevem o contexto da chamada para IDispatch::Invoke. Para possíveis valores wFlags, confira IDispatch::Invoke no SDK do Windows.

vtRet
Especifica o tipo de valor retornado. Para obter valores possíveis, consulte a seção Comentários para COleDispatchDriver::InvokeHelper.

pvRet
Endereço da variável que receberá o valor da propriedade ou o valor retornado. Ele deve corresponder ao tipo especificado por vtRet.

pbParamInfo
Ponteiro para uma cadeia de cadeia de caracteres de bytes com terminada em valor nulo que especifica os tipos dos parâmetros que seguem pbParamInfo. Para obter valores possíveis, consulte a seção Comentários para COleDispatchDriver::InvokeHelper.

...
Lista variável de parâmetros, de tipos especificados em pbParamInfo.

Comentários

O parâmetro pbParamInfo especifica os tipos dos parâmetros passados para o método ou propriedade. A lista variável de argumentos é representada por ... na declaração de sintaxe.

Essa função converte os parâmetros em valores VARIANTARG e, em seguida, invoca o método IDispatch::Invoke no controle. Se a chamada de IDispatch::Invoke falhar, essa função gerará uma exceção. Se o código de status retornado por IDispatch::Invoke for DISP_E_EXCEPTION, essa função gera um objeto COleDispatchException; caso contrário, ele gera um COleException.

COleControlSite::InvokeHelperV

Invoca o método ou a propriedade especificados por dwDispID, no contexto especificado por wFlags.

virtual void InvokeHelperV(
    DISPID dwDispID,
    WORD wFlags,
    VARTYPE vtRet,
    void* pvRet,
    const BYTE* pbParamInfo,
    va_list argList);

Parâmetros

dwDispID
Identifica a ID de expedição da propriedade ou do método, encontrada na interface IDispatch do controle, a ser invocada.

wFlags
Sinalizadores que descrevem o contexto da chamada para IDispatch::Invoke.

vtRet
Especifica o tipo de valor retornado. Para obter valores possíveis, consulte a seção Comentários para COleDispatchDriver::InvokeHelper.

pvRet
Endereço da variável que receberá o valor da propriedade ou o valor retornado. Ele deve corresponder ao tipo especificado por vtRet.

pbParamInfo
Ponteiro para uma cadeia de cadeia de caracteres de bytes com terminada em valor nulo que especifica os tipos dos parâmetros que seguem pbParamInfo. Para obter valores possíveis, consulte a seção Comentários para COleDispatchDriver::InvokeHelper.

argList
Ponteiro para uma lista de argumentos variáveis.

Comentários

O parâmetro pbParamInfo especifica os tipos dos parâmetros passados para o método ou propriedade. Parâmetros extras para o método ou a propriedade que estão sendo invocados podem ser passados usando o parâmetro va_list.

Normalmente, essa função é chamada por COleControlSite::InvokeHelper.

COleControlSite::IsDefaultButton

Determina se o controle é o botão padrão.

BOOL IsDefaultButton();

Valor de retorno

Diferente de zero se o controle for o botão padrão na janela; caso contrário, zero.

COleControlSite::IsWindowEnabled

Determina se o site de controle está habilitado.

virtual BOOL IsWindowEnabled() const;

Valor de retorno

Diferente de zero se o controle estiver habilitado; caso contrário, zero.

Comentários

O valor é recuperado da propriedade Enabled stock do controle.

COleControlSite::m_bIsWindowless

Determina se o objeto é um controle sem janelas.

BOOL m_bIsWindowless;

Comentários

Diferente de zero se o controle não tiver janela; caso contrário, zero.

COleControlSite::m_ctlInfo

Informações sobre como a entrada de teclado é tratada pelo controle.

CONTROLINFO m_ctlInfo;

Comentários

Essas informações são armazenadas em uma estrutura CONTROLINFO.

COleControlSite::m_dwEventSink

Contém o cookie do ponto de conexão do coletor de eventos do controle.

DWORD m_dwEventSink;

COleControlSite::m_dwMiscStatus

Contém informações diversas sobre o controle.

DWORD m_dwMiscStatus;

Comentários

Para obter mais informações, confira OLEMISC no SDK do Windows.

COleControlSite::m_dwPropNotifySink

Contém o cookie IPropertyNotifySink.

DWORD m_dwPropNotifySink;

COleControlSite::m_dwStyle

Contém os estilos de janela do controle.

DWORD m_dwStyle;

COleControlSite::m_hWnd

Contém o HWND do controle, ou NULL se o controle estiver sem janelas.

HWND m_hWnd;

COleControlSite::m_iidEvents

Contém a ID da interface do coletor de eventos padrão do controle.

IID m_iidEvents;

COleControlSite::m_nID

Contém a ID do item de diálogo do controle.

UINT m_nID;

COleControlSite::m_pActiveObject

Contém a interface IOleInPlaceActiveObject do controle.

LPOLEINPLACEACTIVEOBJECT m_pActiveObject;

COleControlSite::m_pCtrlCont

Contém o contêiner do controle (representando o formulário).

COleControlContainer* m_pCtrlCont;

COleControlSite::m_pInPlaceObject

Contém a IOleInPlaceObject interface IOleInPlaceObject do controle.

LPOLEINPLACEOBJECT m_pInPlaceObject;

COleControlSite::m_pObject

Contém a interface IOleObjectInterface do controle.

LPOLEOBJECT m_pObject;

COleControlSite::m_pWindowlessObject

Contém a interface IOleInPlaceObjectWindowlessIOleInPlaceObjectWindowless do controle.

IOleInPlaceObjectWindowless* m_pWindowlessObject;

COleControlSite::m_pWndCtrl

Contém um ponteiro para o objeto CWnd que representa o próprio controle.

CWnd* m_pWndCtrl;

COleControlSite::m_rect

Contém os limites do controle, em relação à janela do contêiner.

CRect m_rect;

COleControlSite::ModifyStyle

Modifica os estilos do controle.

virtual BOOL ModifyStyle(
    DWORD dwRemove,
    DWORD dwAdd,
    UINT nFlags);

Parâmetros

dwRemove
Os estilos a serem removidos dos estilos de janela atuais.

dwAdd
Os estilos a serem adicionados aos estilos de janela atuais.

nFlags
Sinalizadores de posicionamento de janela. Para obter uma lista com os valores possíveis, confira a função SetWindowPos no SDK do Windows.

Valor de retorno

Diferente de zero se os estilos forem alterados; caso contrário, zero.

Comentários

A propriedade Stock enabled do controle será modificada para corresponder à configuração de WS_DISABLED. A propriedade Border style do controle será modificada para corresponder à configuração solicitada para WS_BORDER. Todos os outros estilos serão aplicados diretamente ao identificador de janela do controle, se houver um.

Modifica os estilos de janela do controle. Estilos a serem adicionados ou removidos poderão ser combinados usando o operador bit a bit OR (|). Confira a função CreateWindow no SDK do Windows para obter informações sobre os estilos de janela disponíveis.

Se nFlags for diferente de zero, ModifyStyle chamará a função de Win32 SetWindowPos e redesenhará a janela combinando nFlags com os quatro sinalizadores a seguir:

  • SWP_NOSIZE Mantém o tamanho atual.

  • SWP_NOMOVE Mantém a posição atual.

  • SWP_NOZORDER Mantém a ordem Z atual.

  • SWP_NOACTIVATE Não ativa a janela.

Para modificar os estilos estendidos de uma janela, chame ModifyStyleEx.

COleControlSite::ModifyStyleEx

Modifica os estilos estendidos do controle.

virtual BOOL ModifyStyleEx(
    DWORD dwRemove,
    DWORD dwAdd,
    UINT nFlags);

Parâmetros

dwRemove
Os estilos estendidos a serem removidos dos estilos de janela atuais.

dwAdd
Os estilos estendidos a serem adicionados aos estilos de janela atuais.

nFlags
Sinalizadores de posicionamento de janela. Para obter uma lista com os valores possíveis, confira a função SetWindowPos no SDK do Windows.

Valor de retorno

Diferente de zero se os estilos forem alterados; caso contrário, zero.

Comentários

A propriedade Stock appearance do controle será modificada para corresponder à configuração de WS_EX_CLIENTEDGE. Todos os outros estilos estendidos de janela serão aplicados diretamente ao identificador de janela do controle, se houver um.

Modifica os estilos estendidos da janela do objeto do site de controle. Estilos a serem adicionados ou removidos poderão ser combinados usando o operador bit a bit OR (|). Confira a função CreateWindowEx no SDK do Windows para obter informações sobre os estilos de janela disponíveis.

Se nFlags for diferente de zero, ModifyStyleEx chamará a função de Win32 SetWindowPos e redesenhará a janela combinando nFlags com os quatro sinalizadores a seguir:

  • SWP_NOSIZE Mantém o tamanho atual.

  • SWP_NOMOVE Mantém a posição atual.

  • SWP_NOZORDER Mantém a ordem Z atual.

  • SWP_NOACTIVATE Não ativa a janela.

Para modificar os estilos estendidos de uma janela, chame ModifyStyle.

COleControlSite::MoveWindow

Altera a posição do controle.

virtual void MoveWindow(
    int x,
    int y,
    int nWidth,
    int nHeight);

Parâmetros

x
A nova posição do lado esquerdo da janela.

y
A nova posição do topo da janela.

nWidth
A nova largura da janela.

nHeight
A nova altura da janela.

COleControlSite::QuickActivate

Ativa rapidamente o controle contido.

virtual BOOL QuickActivate();

Valor de retorno

Diferente de zero se o site de controle tiver sido ativado; caso contrário, zero.

Comentários

Essa função deverá ser chamada somente se o usuário estiver substituindo o processo de criação do controle.

Os métodos IPersist*::Load e IPersist*::InitNew devem ser chamados após a ativação rápida. O controle deve estabelecer suas conexões com os coletores do contêiner durante a ativação rápida. No entanto, essas conexões não ficarão ativas até que IPersist*::Load ou IPersist*::InitNew sejam chamadas.

COleControlSite::SafeSetProperty

Define a propriedade de controle especificada por dwDispID.

virtual BOOL AFX_CDECL SafeSetProperty(
    DISPID dwDispID,
    VARTYPE vtProp, ...);

Parâmetros

dwDispID
Identifica a ID de expedição da propriedade ou do método, encontrada na interface IDispatch do controle, a ser definida.

vtProp
Especifica o tipo da propriedade a ser definida. Para obter valores possíveis, consulte a seção Comentários para COleDispatchDriver::InvokeHelper.

...
Um único parâmetro do tipo especificado por vtProp.

Valor de retorno

Diferente de zero se bem-sucedido; caso contrário, zero.

Comentários

Observação

Ao contrário de SetProperty e SetPropertyV, se um erro for encontrado (por exemplo, tentar definir uma propriedade inexistente), nenhuma exceção será gerada.

COleControlSite::SetDefaultButton

Define o controle como o botão padrão.

void SetDefaultButton(BOOL bDefault);

Parâmetros

bDefault
Diferente de zero caso o controle deva se tornar o botão padrão; caso contrário, zero.

Comentários

Observação

O controle deve ter definido o bit de status OLEMISC_ACTSLIKEBUTTON.

COleControlSite::SetDlgCtrlID

Altera o valor do identificador de item de caixa de diálogo do controle.

virtual int SetDlgCtrlID(int nID);

Parâmetros

Nid
O novo valor do identificador.

Valor de retorno

Se tiver êxito, o identificador de item de caixa de diálogo anterior da janela; caso contrário, 0.

Comentários

COleControlSite::SetFocus

Define o foco do controle.

virtual CWnd* SetFocus();
virtual CWnd* SetFocus(LPMSG lpmsg);

Parâmetros

lpmsg
Um ponteiro para uma estrutura MSG. Essa estrutura contém a mensagem do Windows disparando a solicitação SetFocus para o controle contido no site de controle atual.

Valor de retorno

Um ponteiro para a janela que tinha foco anteriormente.

COleControlSite::SetProperty

Define a propriedade de controle especificada por dwDispID.

virtual void AFX_CDECL SetProperty(
    DISPID dwDispID,
    VARTYPE vtProp, ...);

Parâmetros

dwDispID
Identifica a ID de expedição da propriedade ou do método, encontrada na interface IDispatch do controle, a ser definida.

vtProp
Especifica o tipo da propriedade a ser definida. Para obter valores possíveis, consulte a seção Comentários para COleDispatchDriver::InvokeHelper.

...
Um único parâmetro do tipo especificado por vtProp.

Comentários

Se SetProperty encontrar um erro, será gerada uma exceção.

O tipo de exceção é determinado pelo valor retornado da tentativa de definir a propriedade ou o método. Se o valor retornado for DISP_E_EXCEPTION, será gerado um COleDispatchExcpetion; caso contrário, um COleException.

COleControlSite::SetPropertyV

Define a propriedade de controle especificada por dwDispID.

virtual void SetPropertyV(
    DISPID dwDispID,
    VARTYPE vtProp,
    va_list argList);

Parâmetros

dwDispID
Identifica a ID de expedição da propriedade ou do método, encontrada na interface IDispatch do controle, a ser definida.

vtProp
Especifica o tipo da propriedade a ser definida. Para obter valores possíveis, consulte a seção Comentários para COleDispatchDriver::InvokeHelper.

argList
Ponteiro para a lista de argumentos.

Comentários

Parâmetros extras para o método ou propriedade que está sendo invocado podem ser passados usando o parâmetro arg_list . Se SetProperty encontrar um erro, será gerada uma exceção.

O tipo de exceção é determinado pelo valor retornado da tentativa de definir a propriedade ou o método. Se o valor retornado for DISP_E_EXCEPTION, será gerado um COleDispatchExcpetion; caso contrário, um COleException.

COleControlSite::SetWindowPos

Define o tamanho, a posição e a ordem Z do site de controle.

virtual BOOL SetWindowPos(
    const CWnd* pWndInsertAfter,
    int x,
    int y,
    int cx,
    int cy,
    UINT nFlags);

Parâmetros

pWndInsertAfter
Um ponteiro para a janela.

x
A nova posição do lado esquerdo da janela.

y
A nova posição do topo da janela.

cx
A nova largura da janela.

Cy
A nova altura da janela.

nFlags
Especifica o dimensionamento da janela e os sinalizadores de posicionamento. Para obter valores possíveis, confira a seção Comentários de SetWindowPos no SDK do Windows.

Valor de retorno

Diferente de zero se tiver êxito; caso contrário, zero.

COleControlSite::SetWindowText

Define o texto do site de controle.

virtual void SetWindowText(LPCTSTR lpszString);

Parâmetros

lpszString
Ponteiro para uma cadeia de caracteres terminada em nulo a ser usada como o novo título ou texto de controle.

Comentários

Primeiro, essa função tenta definir a propriedade Caption stock. Se não houver suporte para a propriedade Caption stock, será definida a propriedade Text em seu lugar.

COleControlSite::ShowWindow

Define o estado de apresentação da janela.

virtual BOOL ShowWindow(int nCmdShow);

Parâmetros

nCmdShow
Especifica como o site de controle deve ser mostrado. Deve ser um dos seguintes valores:

  • SW_HIDE Oculta essa janela e passa a ativação para outra janela.

  • SW_MINIMIZE Minimiza a janela e ativa a janela de nível superior na lista do sistema.

  • SW_RESTORE Ativa e exibe a janela. Se a janela for minimizada ou maximizada, o Windows a restaurará para seu tamanho e posição originais.

  • SW_SHOW Ativa a janela e a exibe em seu tamanho e posição atuais.

  • SW_SHOWMAXIMIZED Ativa a janela e a exibe como uma janela maximizada.

  • SW_SHOWMINIMIZED Ativa a janela e a exibe como um ícone.

  • SW_SHOWMINNOACTIVE Exibe a janela como um ícone. A janela que está ativa no momento permanece ativa.

  • SW_SHOWNA Exibe a janela em seu estado atual. A janela que está ativa no momento permanece ativa.

  • SW_SHOWNOACTIVATE Exibe a janela em seu tamanho e posição mais recentes. A janela que está ativa no momento permanece ativa.

  • SW_SHOWNORMAL Ativa e exibe a janela. Se a janela for minimizada ou maximizada, o Windows a restaurará para seu tamanho e posição originais.

Valor de retorno

Diferente de zero se a janela estava visível anteriormente; 0 se a janela estivesse oculta anteriormente.

Confira também

Classe CCmdTarget
Gráfico da hierarquia
Classe COleControlContainer