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
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 IOleInPlaceObjectWindowless
IOleInPlaceObjectWindowless 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