Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Observação
A Active Template Library (ATL) continua a ser suportada. No entanto, já não estamos a adicionar funcionalidades nem a atualizar a documentação.
Esta classe fornece métodos para criar e gerir controlos ATL.
Importante
Esta classe e os seus membros não podem ser usados em aplicações que sejam executadas no Windows Runtime.
Sintaxe
class ATL_NO_VTABLE CComControlBase
Membros
Definições de Tipos Públicas
| Nome | Description |
|---|---|
| CComControlBase::AppearanceType | Anule se a sua m_nAppearance propriedade de origem não for do tipo short. |
Construtores Públicos
| Nome | Description |
|---|---|
| CComControlBase::CComControlBase | O construtor. |
| CComControlBase::~CComControlBase | O destruidor. |
Métodos Públicos
| Nome | Description |
|---|---|
| CComControlBase::ControlQueryInterface | Recupera um ponteiro para a interface solicitada. |
| CComControlBase::D oesVerbActivate | Verifica se o parâmetro iVerb usado IOleObjectImpl::DoVerb por ativa a interface do utilizador do controlo (iVerb é igual a OLEIVERB_UIACTIVATE), define a ação realizada quando o utilizador clica duas vezes no controlo (iVerb é igual a OLEIVERB_PRIMARY), exibe o controlo (iVerb é igual a OLEIVERB_SHOW) ou ativa o controlo (iVerb é igual a OLEIVERB_INPLACEACTIVATE). |
| CComControlBase::D oesVerbUIActivate | Verifica se o parâmetro iVerb usado por IOleObjectImpl::DoVerb faz com que a interface de utilizador do controlo se ative e devolve TRUE. |
| CComControlBase::D oVerbProperties | Mostra as páginas de propriedades do controlo. |
| CComControlBase::FireViewChange | Chame este método para dizer ao contentor para redesenhar o controlo, ou para notificar os avisos registados que a visão do controlo mudou. |
| CComControlBase::GetAmbientAppearance | Recupera DISPID_AMBIENT_APPEARANCE, a definição atual de aparência do controlo: 0 para plano e 1 para 3D. |
| CComControlBase::GetAmbientAutoClip | Recupera DISPID_AMBIENT_AUTOCLIP, uma bandeira que indica se o contentor suporta clipping automático da área de visualização de controlo. |
| CComControlBase::GetAmbientBackColor | Recupera DISPID_AMBIENT_BACKCOLOR, a cor de fundo ambiente para todos os controlos, definida pelo contentor. |
| CComControlBase::GetAmbientCharSet | Recupera DISPID_AMBIENT_CHARSET, o conjunto de caracteres ambiente para todos os controlos, definido pelo contentor. |
| CComControlBase::GetAmbientCodePage | Recupera DISPID_AMBIENT_CODEPAGE, o conjunto de caracteres ambiente para todos os controlos, definido pelo contentor. |
| CComControlBase::GetAmbientDisplayAsPadrão | Recupera DISPID_AMBIENT_DISPLAYASDEFAULT, uma flag que é VERDADEIRA se o contentor tiver marcado o controlo neste site como botão padrão, e portanto um controlo de botão deve desenhar-se com uma estrutura mais espessa. |
| CComControlBase::GetAmbientDisplayName | Recupera DISPID_AMBIENT_DISPLAYNAME, o nome que o contentor forneceu ao controlo. |
| CComControlBase::GetAmbientFont | Recupera um ponteiro para a interface ambiente IFont do contentor. |
| CComControlBase::GetAmbientFontDisp | Recupera um ponteiro para a interface de despacho ambiente IFontDisp do contentor. |
| CComControlBase::GetAmbientForeColor | Recupera DISPID_AMBIENT_FORECOLOR, a cor ambiente em primeiro plano para todos os controlos, definida pelo contentor. |
| CComControlBase::GetAmbientLocaleID | Recupera DISPID_AMBIENT_LOCALEID, o identificador da língua usada pelo contentor. |
| CComControlBase::GetAmbientMessageReflect | Recupera DISPID_AMBIENT_MESSAGEREFLECT, um flag que indica se o contentor quer receber mensagens de janela (como WM_DRAWITEM) como eventos. |
| CComControlBase::GetAmbientPalette | Recupera DISPID_AMBIENT_PALETTE, usado para aceder à HPALETTE do contentor. |
| CComControlBase::GetAmbientProperty | Recupera a propriedade do contentor especificada por id. |
| CComControlBase::GetAmbientRightToLeft | Recupera DISPID_AMBIENT_RIGHTTOLEFT, a direção em que o conteúdo é apresentado pelo contentor. |
| CComControlBase::GetAmbientScaleUnits | Recupera DISPID_AMBIENT_SCALEUNITS, as unidades ambientais do contentor (como polegadas ou centímetros) para etiquetar ecrãs. |
| CComControlBase::GetAmbientShowGrabHandles | Recupera DISPID_AMBIENT_SHOWGRABHANDLES, uma bandeira que indica se o contentor permite ao controlo exibir as alavancas de agarrão para si próprio quando está ativo. |
| CComControlBase::GetAmbientShowHatching | Recupera DISPID_AMBIENT_SHOWHATCHING, uma bandeira que indica se o contentor permite que o controlo se mostre com um padrão de hachura quando a interface está ativa. |
| CComControlBase::GetAmbientSupportsMnemonics | Recupera DISPID_AMBIENT_SUPPORTSMNEMONICS, uma bandeira que indica se o contentor suporta mnemónicas de teclado. |
| CComControlBase::GetAmbientTextAlign | Recupera DISPID_AMBIENT_TEXTALIGN, o alinhamento do texto preferido pelo contentor: 0 para alinhamento geral (números à direita, texto à esquerda), 1 para alinhamento à esquerda, 2 para alinhamento central e 3 para alinhamento à direita. |
| CComControlBase::GetAmbientTopToBottom | Recupera DISPID_AMBIENT_TOPTOBOTTOM, a direção em que o conteúdo é apresentado pelo contentor. |
| CComControlBase::GetAmbientUIDead | Recupera DISPID_AMBIENT_UIDEAD, uma bandeira que indica se o contentor quer que o controlo responda a ações da interface de utilizador. |
| CComControlBase::GetAmbientUserMode | Recupera DISPID_AMBIENT_USERMODE, uma bandeira que indica se o contentor está em modo de execução (TRUE) ou em modo de design (FALSE). |
| CComControlBase::GetDirty | Devolve o valor do elemento m_bRequiresSavede dados . |
| CComControlBase::GetZoomInfo | Recupera os valores x e y do numerador e denominador do fator de zoom para um controlo ativado para edição no local. |
| CComControlBase::InPlaceActivate | Faz com que o controlo faça a transição do estado inativo para o estado que o verbo em iVerb indica. |
| CComControlBase::InternalGetSite | Chame este método para consultar o local de controlo à procura de um ponteiro para a interface identificada. |
| CComControlBase::OnDraw | Anula este método para desenhar o teu controlo. |
| CComControlBase::OnDrawAdvanced | O padrão OnDrawAdvanced prepara um contexto normalizado do dispositivo para desenhar e depois chama o método da OnDraw sua classe de controlo. |
| CComControlBase::OnKillFocus | Verifica se o controlo está ativo no local e tem um local de controlo válido, depois informa o contentor de que o controlo perdeu o foco. |
| CComControlBase::OnMouseActivate | Verifica se a interface está em modo utilizador e depois ativa o controlo. |
| CComControlBase::OnPaint | Prepara o recipiente para pintura, obtém a área do cliente do controlo e depois chama o método da OnDraw classe de controlo. |
| CComControlBase::OnSetFocus | Verifica se o controlo está ativo no local e tem um local de controlo válido, depois informa o contentor de que o controlo ganhou foco. |
| CComControlBase::P reTranslateAccelerator | Anule este método para fornecer os seus próprios controladores de acelerador de teclado. |
| CComControlBase::SendOnClose | Notifica todos os sumidouros consultivos registados junto do titular do aviso de que o controlo foi encerrado. |
| CComControlBase::SendOnDataChange | Notifica todos os cargos de referência registados junto do titular do aviso de que os dados de controlo foram alterados. |
| CComControlBase::SendOnRename | Notifica todos os sumidouros consultivos registados junto do titular do aviso de que o controlo tem um novo nome. |
| CComControlBase::SendOnSave | Notifica todos os compartimentos de referência registados junto do titular do aviso de que o controlo foi salvo. |
| CComControlBase::SendOnViewChange | Notifica todos os submersos de aviso registados de que a opinião do controlo mudou. |
| CComControlBase::SetControlFocus | Define ou remove o foco do teclado para ou do controlo. |
| CComControlBase::SetDirty | Define o membro m_bRequiresSave de dados para o valor em bDirty. |
Membros de Dados Públicos
| Nome | Description |
|---|---|
| CComControlBase::m_bAutoSize | A bandeira indica que o controlo não pode ser de outro tamanho. |
| CComControlBase::m_bDrawFromNatural | Flag indicando que IDataObjectImpl::GetData e deve definir o tamanho do controlo de m_sizeNatural em vez de m_sizeExtentCComControlBase::GetZoomInfo . |
| CComControlBase::m_bDrawGetDataInHimetric | Flag a indicar que IDataObjectImpl::GetData deve usar unidades HIMÉTRICAS e não pixels ao desenhar. |
| CComControlBase::m_bInPlaceActive | Bandeira a indicar que o controlo está ativo no local. |
| CComControlBase::m_bInPlaceSiteEx | A bandeira que indica o contentor suporta a IOleInPlaceSiteEx interface e as funcionalidades de controlo OCX96, como controlos sem janelas e sem cintilação. |
| CComControlBase::m_bNegotiatedWnd | Flag indica se o controlo negociou com o contentor o suporte para funcionalidades de controlo OCX96 (como controlos sem cintilação e sem janelas), e se o controlo é janelado ou sem janelas. |
| CComControlBase::m_bRecomposeOnResize | Flag indica que o controlo quer recompor a sua apresentação quando o contentor altera o tamanho do ecrã do controlo. |
| CComControlBase::m_bRequiresSave | Bandeira a indicar que o controlo mudou desde a última vez que foi guardado. |
| CComControlBase::m_bResizeNatural | Flag que indica que o controlo quer redimensionar a sua extensão natural (o seu tamanho físico não escalonado) quando o contentor altera o tamanho do ecrã do controlo. |
| CComControlBase::m_bUIActive | Flag que indica que a interface de utilizador do controlo, como menus e barras de ferramentas, está ativa. |
| CComControlBase::m_bUsingWindowRgn | Flag indica que o controlo está a usar a região de janela fornecida pelo contentor. |
| CComControlBase::m_bWasOnceWindowless | Flag a indicar que o controlo foi sem janelas, mas pode ou não estar sem janelas agora. |
| CComControlBase::m_bWindowOnly | Flag indicando que o controlo deve ser janelado, mesmo que o contentor suporte controlos sem janelas. |
| CComControlBase::m_bWndLess | Flag indica que o controlo é sem janelas. |
| CComControlBase::m_hWndCD | Contém uma referência à manivela da janela associada ao controlo. |
| CComControlBase::m_nFreezeEvents | Uma contagem do número de vezes que o contentor congelou eventos (recusou-se a aceitar eventos) sem um descongelamento intermédio dos eventos (aceitação dos eventos). |
| CComControlBase::m_rcPos | A posição em píxeis do controlo, expressa nas coordenadas do contentor. |
| CComControlBase::m_sizeExtent | A extensão do controlo em unidades HIMÉTRICAS (cada unidade é de 0,01 milímetros) para um determinado ecrã. |
| CComControlBase::m_sizeNatural | O tamanho físico do controlo em unidades HIMÉTRICAS (cada unidade é de 0,01 milímetros). |
| CComControlBase::m_spAdviseSink | Um ponteiro direto para a ligação de aviso no contentor (o IAdviseSink do contentor). |
| CComControlBase::m_spAmbientDispatch | Um CComDispatchDriver objeto que permite recuperar e definir as propriedades do contentor através de um IDispatch apontador. |
| CComControlBase::m_spClientSite | Um apontador para o site cliente do controlo dentro do contentor. |
| CComControlBase::m_spDataAdviseHolder | Fornece um meio padrão para manter ligações de aconselhamento entre objetos de dados e sumidouros de aconselhamento. |
| CComControlBase::m_spInPlaceSite | Um ponteiro para o ponteiro de interface IOleInPlaceSite, IOleInPlaceSiteEx ou IOleInPlaceSiteWindowless do contentor. |
| CComControlBase::m_spOleAdviseHolder | Fornece uma implementação padrão de uma forma de manter ligações de consultoria. |
Observações
Esta classe fornece métodos para criar e gerir controlos ATL.
A Classe CComControl deriva de CComControlBase. Quando cria um controlo de Controlo Padrão ou DHTML usando o ATL Control Wizard, o assistente irá automaticamente derivar a sua classe a partir de CComControlBase.
Para mais informações sobre como criar um controlo, consulte o Tutorial ATL. Para mais informações sobre o Assistente do Projeto ATL, consulte o artigo Criar um Projeto ATL.
Requerimentos
Cabeçalho: atlctl.h
CComControlBase::AppearanceType
Anule se a sua m_nAppearance propriedade de origem não for do tipo short.
typedef short AppearanceType;
Observações
O ATL Control Wizard adiciona m_nAppearance propriedade de stock de tipo curto. Anule AppearanceType se usar um tipo de dado diferente.
CComControlBase::CComControlBase
O construtor.
CComControlBase(HWND& h);
Parâmetros
h
A maçaneta da janela associada ao controlo.
Observações
Inicializa o tamanho do controlo para 5080X5080 unidades HIMÉTRICAS (2"X2") e inicializa os CComControlBase valores dos membros dos dados para NULL ou FALSE.
CComControlBase::~CComControlBase
O destruidor.
~CComControlBase();
Observações
Se o controlo estiver em janela, ~CComControlBase destrói-o chamando o DestroyWindow.
CComControlBase::ControlQueryInterface
Recupera um ponteiro para a interface solicitada.
virtual HRESULT ControlQueryInterface(const IID& iid,
void** ppv);
Parâmetros
IID
O GUID da interface a ser solicitada.
PPV
Um ponteiro para o ponteiro da interface identificado por iid, ou NULL se a interface não for encontrada.
Observações
Só trata das interfaces na tabela de mapas COM.
Example
// Retrieve the control's IOleObject interface. Note interface
// is automatically released when pOleObject goes out of scope
CComPtr<IOleObject> pOleObject;
ControlQueryInterface(IID_IOleObject, (void**)&pOleObject);
CComControlBase::D oesVerbActivate
Verifica se o parâmetro iVerb usado IOleObjectImpl::DoVerb por ativa a interface do utilizador do controlo (iVerb é igual a OLEIVERB_UIACTIVATE), define a ação realizada quando o utilizador clica duas vezes no controlo (iVerb é igual a OLEIVERB_PRIMARY), exibe o controlo (iVerb é igual a OLEIVERB_SHOW) ou ativa o controlo (iVerb é igual a OLEIVERB_INPLACEACTIVATE).
BOOL DoesVerbActivate(LONG iVerb);
Parâmetros
iVerb
Valor que indica a ação a ser realizada por DoVerb.
Valor de retorno
Retorna TRUE se iVerb for igual a OLEIVERB_UIACTIVATE, OLEIVERB_PRIMARY, OLEIVERB_SHOW ou OLEIVERB_INPLACEACTIVATE; caso contrário, retorna FALSE.
Observações
Podes sobrepor este método para definir o teu próprio verbo de ativação.
CComControlBase::D oesVerbUIActivate
Verifica se o parâmetro iVerb usado por IOleObjectImpl::DoVerb faz com que a interface de utilizador do controlo se ative e devolve TRUE.
BOOL DoesVerbUIActivate(LONG iVerb);
Parâmetros
iVerb
Valor que indica a ação a ser realizada por DoVerb.
Valor de retorno
Retorna TRUE se iVerb for igual a OLEIVERB_UIACTIVATE, OLEIVERB_PRIMARY, OLEIVERB_SHOW ou OLEIVERB_INPLACEACTIVATE. Caso contrário, o método devolve FALSE.
CComControlBase::D oVerbProperties
Mostra as páginas de propriedades do controlo.
HRESULT DoVerbProperties(LPCRECT /* prcPosRect */, HWND hwndParent);
Parâmetros
prcPosRec
Reservado.
hwndParent
Pega da janela que contém o controlo.
Valor de retorno
Um dos valores padrão do HRESULT.
Example
// The following implementation of the WM_RBUTTONDOWN message handler
// will pop up the ActiveX Control's PropertyPages
LRESULT CMyComposite::OnRButtonDown(UINT /*uMsg*/, WPARAM /*wParam*/,
LPARAM /*lParam*/, BOOL& /*bHandled*/)
{
DoVerbProperties(NULL, ::GetActiveWindow());
return 0L;
}
MESSAGE_HANDLER(WM_RBUTTONDOWN, OnRButtonDown)
CComControlBase::FireViewChange
Chame este método para dizer ao contentor para redesenhar o controlo, ou para notificar os avisos registados que a visão do controlo mudou.
HRESULT FireViewChange();
Valor de retorno
Um dos valores padrão do HRESULT.
Observações
Se o controlo estiver ativo (o membro de dados da classe de controlo CComControlBase::m_bInPlaceActive for TRUE), notifica o contentor que pretende redesenhar todo o controlo. Se o controlo estiver inativo, notifica os sumidos de aviso registados do controlo (através do membro de dados da classe de controlo CComControlBase::m_spAdviseSink) de que a visão do controlo mudou.
Example
STDMETHODIMP CMyControl::put_Shape(int newVal)
{
// store newVal in m_nShape user-defined member
m_nShape = newVal;
// notify container to redraw control
FireViewChange();
return S_OK;
}
CComControlBase::GetAmbientAppearance
Recupera DISPID_AMBIENT_APPEARANCE, a definição atual de aparência do controlo: 0 para plano e 1 para 3D.
HRESULT GetAmbientAppearance(short& nAppearance);
Parâmetros
n Aparência
A propriedade DISPID_AMBIENT_APPEARANCE.
Valor de retorno
Um dos valores padrão do HRESULT.
Example
HRESULT OnDraw(ATL_DRAWINFO& di)
{
short nAppearance;
RECT& rc = *(RECT*)di.prcBounds;
// draw 3D border if AmbientAppearance is not supported or is set to 1
HRESULT hr = GetAmbientAppearance(nAppearance);
if (hr != S_OK || nAppearance==1)
{
DrawEdge(di.hdcDraw, &rc, EDGE_SUNKEN, BF_RECT);
}
else
{
Rectangle(di.hdcDraw, rc.left, rc.top, rc.right, rc.bottom);
}
SetTextAlign(di.hdcDraw, TA_CENTER|TA_BASELINE);
LPCTSTR pszText = _T("ATL 8.0 : MyControl");
// For security reasons, we recommend that you use the lstrlen function
// with caution. Here, we can guarantee that pszText is NULL terminated,
// and therefore it is safe to use this function.
TextOut(di.hdcDraw,
(rc.left + rc.right) / 2,
(rc.top + rc.bottom) / 2,
pszText,
lstrlen(pszText));
return S_OK;
}
CComControlBase::GetAmbientAutoClip
Recupera DISPID_AMBIENT_AUTOCLIP, uma bandeira que indica se o contentor suporta clipping automático da área de visualização de controlo.
HRESULT GetAmbientAutoClip(BOOL& bAutoClip);
Parâmetros
bAutoClip
A propriedade DISPID_AMBIENT_AUTOCLIP.
Valor de retorno
Um dos valores padrão do HRESULT.
CComControlBase::GetAmbientBackColor
Recupera DISPID_AMBIENT_BACKCOLOR, a cor de fundo ambiente para todos os controlos, definida pelo contentor.
HRESULT GetAmbientBackColor(OLE_COLOR& BackColor);
Parâmetros
BackColor
A propriedade DISPID_AMBIENT_BACKCOLOR.
Valor de retorno
Um dos valores padrão do HRESULT.
CComControlBase::GetAmbientCharSet
Recupera DISPID_AMBIENT_CHARSET, o conjunto de caracteres ambiente para todos os controlos, definido pelo contentor.
HRESULT GetAmbientCharSet(BSTR& bstrCharSet);
Parâmetros
bstrCharSet
A propriedade DISPID_AMBIENT_CHARSET.
Valor de retorno
Devolve S_OK em caso de sucesso, ou um erro HRESULT em caso de falha.
CComControlBase::GetAmbientCodePage
Recupera DISPID_AMBIENT_CODEPAGE, a página de código ambiente para todos os controlos, definida pelo contentor.
HRESULT GetAmbientCodePage(ULONG& ulCodePage);
Parâmetros
ulCodePage
A propriedade DISPID_AMBIENT_CODEPAGE.
Valor de retorno
Devolve S_OK em caso de sucesso, ou um erro HRESULT em caso de falha.
CComControlBase::GetAmbientDisplayAsPadrão
Recupera DISPID_AMBIENT_DISPLAYASDEFAULT, uma flag que é VERDADEIRA se o contentor tiver marcado o controlo neste site como botão padrão, e portanto um controlo de botão deve desenhar-se com uma estrutura mais espessa.
HRESULT GetAmbientDisplayAsDefault(BOOL& bDisplayAsDefault);
Parâmetros
bDisplayAsPadrão
A propriedade DISPID_AMBIENT_DISPLAYASDEFAULT.
Valor de retorno
Um dos valores padrão do HRESULT.
CComControlBase::GetAmbientDisplayName
Recupera DISPID_AMBIENT_DISPLAYNAME, o nome que o contentor forneceu ao controlo.
HRESULT GetAmbientDisplayName(BSTR& bstrDisplayName);
Parâmetros
bstrDisplayName
A propriedade DISPID_AMBIENT_DISPLAYNAME.
Valor de retorno
Um dos valores padrão do HRESULT.
CComControlBase::GetAmbientFont
Recupera um ponteiro para a interface ambiente IFont do contentor.
HRESULT GetAmbientFont(IFont** ppFont);
Parâmetros
ppFont
Um apontador para a interface ambiente IFont do contentor.
Valor de retorno
Um dos valores padrão do HRESULT.
Observações
Se a propriedade for NULL, o ponteiro é NULL. Se o ponteiro não for NULL, o chamador deve libertar o apontador.
CComControlBase::GetAmbientFontDisp
Recupera um ponteiro para a interface de despacho ambiente IFontDisp do contentor.
HRESULT GetAmbientFontDisp(IFontDisp** ppFont);
Parâmetros
ppFont
Um apontador para a interface ambiente de despacho IFontDisp do contentor.
Valor de retorno
Devolve S_OK em caso de sucesso, ou um erro HRESULT em caso de falha.
Observações
Se a propriedade for NULL, o ponteiro é NULL. Se o ponteiro não for NULL, o chamador deve libertar o apontador.
CComControlBase::GetAmbientForeColor
Recupera DISPID_AMBIENT_FORECOLOR, a cor ambiente em primeiro plano para todos os controlos, definida pelo contentor.
HRESULT GetAmbientForeColor(OLE_COLOR& ForeColor);
Parâmetros
ForeColor
A propriedade DISPID_AMBIENT_FORECOLOR.
Valor de retorno
Um dos valores padrão do HRESULT.
CComControlBase::GetAmbientLocaleID
Recupera DISPID_AMBIENT_LOCALEID, o identificador da língua usada pelo contentor.
HRESULT GetAmbientLocaleID(LCID& lcid);
Parâmetros
LCID
A propriedade DISPID_AMBIENT_LOCALEID.
Valor de retorno
Um dos valores padrão do HRESULT.
Observações
O controlo pode usar este identificador para adaptar a sua interface de utilizador a diferentes línguas.
CComControlBase::GetAmbientMessageReflect
Recupera DISPID_AMBIENT_MESSAGEREFLECT, um flag que indica se o contentor quer receber mensagens de janela (como WM_DRAWITEM) como eventos.
HRESULT GetAmbientMessageReflect(BOOL& bMessageReflect);
Parâmetros
bMessageReflect
A propriedade DISPID_AMBIENT_MESSAGEREFLECT.
Valor de retorno
Um dos valores padrão do HRESULT.
CComControlBase::GetAmbientPalette
Recupera DISPID_AMBIENT_PALETTE, usado para aceder à HPALETTE do contentor.
HRESULT GetAmbientPalette(HPALETTE& hPalette);
Parâmetros
hPalette
A propriedade DISPID_AMBIENT_PALETTE.
Valor de retorno
Um dos valores padrão do HRESULT.
CComControlBase::GetAmbientProperty
Recupera a propriedade do contentor especificada por dispid.
HRESULT GetAmbientProperty(DISPID dispid, VARIANT& var);
Parâmetros
dispid
Identificador da propriedade do contentor a recuperar.
VAR
Variável para receber a propriedade.
Valor de retorno
Um dos valores padrão do HRESULT.
Observações
O ATL forneceu um conjunto de funções auxiliares para recuperar propriedades específicas, por exemplo, CComControlBase::GetAmbientBackColor. Se não houver método adequado disponível, use GetAmbientProperty.
CComControlBase::GetAmbientRightToLeft
Recupera DISPID_AMBIENT_RIGHTTOLEFT, a direção em que o conteúdo é apresentado pelo contentor.
HRESULT GetAmbientRightToLeft(BOOL& bRightToLeft);
Parâmetros
bDireitaParaEsquerda
A propriedade DISPID_AMBIENT_RIGHTTOLEFT. Defina TRUE se o conteúdo for exibido da direita para a esquerda, FALSE se for mostrado da esquerda para a direita.
Valor de retorno
Devolve S_OK em caso de sucesso, ou um erro HRESULT em caso de falha.
CComControlBase::GetAmbientScaleUnits
Recupera DISPID_AMBIENT_SCALEUNITS, as unidades ambientais do contentor (como polegadas ou centímetros) para etiquetar ecrãs.
HRESULT GetAmbientScaleUnits(BSTR& bstrScaleUnits);
Parâmetros
bstrScaleUnits
A propriedade DISPID_AMBIENT_SCALEUNITS.
Valor de retorno
Um dos valores padrão do HRESULT.
CComControlBase::GetAmbientShowGrabHandles
Recupera DISPID_AMBIENT_SHOWGRABHANDLES, uma bandeira que indica se o contentor permite ao controlo exibir as alavancas de agarrão para si próprio quando está ativo.
HRESULT GetAmbientShowGrabHandles(BOOL& bShowGrabHandles);
Parâmetros
bShowGrabHandles
A propriedade DISPID_AMBIENT_SHOWGRABHANDLES.
Valor de retorno
Um dos valores padrão do HRESULT.
CComControlBase::GetAmbientShowHatching
Recupera DISPID_AMBIENT_SHOWHATCHING, uma bandeira que indica se o contentor permite que o controlo se exiba com um padrão de hachura quando a interface do utilizador do controlo está ativa.
HRESULT GetAmbientShowHatching(BOOL& bShowHatching);
Parâmetros
bShowHatching
A propriedade DISPID_AMBIENT_SHOWHATCHING.
Valor de retorno
Um dos valores padrão do HRESULT.
CComControlBase::GetAmbientSupportsMnemonics
Recupera DISPID_AMBIENT_SUPPORTSMNEMONICS, uma bandeira que indica se o contentor suporta mnemónicas de teclado.
HRESULT GetAmbientSupportsMnemonics(BOOL& bSupportsMnemonics);
Parâmetros
bSuportaMnemónicos
A propriedade DISPID_AMBIENT_SUPPORTSMNEMONICS.
Valor de retorno
Um dos valores padrão do HRESULT.
CComControlBase::GetAmbientTextAlign
Recupera DISPID_AMBIENT_TEXTALIGN, o alinhamento do texto preferido pelo contentor: 0 para alinhamento geral (números à direita, texto à esquerda), 1 para alinhamento à esquerda, 2 para alinhamento central e 3 para alinhamento à direita.
HRESULT GetAmbientTextAlign(short& nTextAlign);
Parâmetros
nTextAlign
A propriedade DISPID_AMBIENT_TEXTALIGN.
Valor de retorno
Um dos valores padrão do HRESULT.
CComControlBase::GetAmbientTopToBottom
Recupera DISPID_AMBIENT_TOPTOBOTTOM, a direção em que o conteúdo é apresentado pelo contentor.
HRESULT GetAmbientTopToBottom(BOOL& bTopToBottom);
Parâmetros
bTopToBottom
A propriedade DISPID_AMBIENT_TOPTOBOTTOM. Define para TRUE se o texto for mostrado de cima para baixo, FALSE se for mostrado de baixo para cima.
Valor de retorno
Devolve S_OK em caso de sucesso, ou um erro HRESULT em caso de falha.
CComControlBase::GetAmbientUIDead
Recupera DISPID_AMBIENT_UIDEAD, uma bandeira que indica se o contentor quer que o controlo responda a ações da interface de utilizador.
HRESULT GetAmbientUIDead(BOOL& bUIDead);
Parâmetros
bUIDead
A propriedade DISPID_AMBIENT_UIDEAD.
Valor de retorno
Um dos valores padrão do HRESULT.
Observações
Se TRUE, o controlo não deve responder. Esta bandeira aplica-se independentemente da bandeira DISPID_AMBIENT_USERMODE. Veja CComControlBase::GetAmbientUserMode.
CComControlBase::GetAmbientUserMode
Recupera DISPID_AMBIENT_USERMODE, uma bandeira que indica se o contentor está em modo de execução (TRUE) ou em modo de design (FALSE).
HRESULT GetAmbientUserMode(BOOL& bUserMode);
Parâmetros
bUserMode
A propriedade DISPID_AMBIENT_USERMODE.
Valor de retorno
Um dos valores padrão do HRESULT.
CComControlBase::GetDirty
Devolve o valor do elemento m_bRequiresSavede dados .
BOOL GetDirty();
Valor de retorno
Devolve o valor do membro de dados m_bRequiresSave.
Observações
Este valor é definido usando CComControlBase::SetDirty.
CComControlBase::GetZoomInfo
Recupera os valores x e y do numerador e denominador do fator de zoom para um controlo ativado para edição no local.
void GetZoomInfo(ATL_DRAWINFO& di);
Parâmetros
di
A estrutura que irá segurar o numerador e denominador do fator de zoom. Para mais informações, consulte ATL_DRAWINFO.
Observações
O fator de zoom é a proporção entre o tamanho natural do controlo e a sua extensão atual.
CComControlBase::InPlaceActivate
Faz com que o controlo faça a transição do estado inativo para o estado que o verbo em iVerb indica.
HRESULT InPlaceActivate(LONG iVerb, const RECT* prcPosRect = NULL);
Parâmetros
iVerb
Valor que indica a ação a realizar por IOleObjectImpl::D oVerb.
prcPosRect
Apontador para a posição do controlo no local.
Valor de retorno
Um dos valores padrão do HRESULT.
Observações
Antes da ativação, este método verifica se o controlo tem um local cliente, verifica quanto do controlo é visível e obtém a localização do controlo na janela principal. Depois de ativado o controlo, este método ativa a interface do utilizador do controlo e diz ao contentor para tornar o controlo visível.
Este método também recupera um , , ou IOleInPlaceSiteWindowless ponteiro de interface para o controlo e armazena-o no membro de dados da classe de controlo, CComControlBase::m_spInPlaceSite. IOleInPlaceSiteExIOleInPlaceSite Os membros de dados da classe de controlo CComControlBase::m_bInPlaceSiteEx, CComControlBase::m_bWndLess, CComControlBase::m_bWasOnceWindowless e CComControlBase::m_bNegotiatedWnd são definidos como true conforme apropriado.
CComControlBase::InternalGetSite
Chame este método para consultar o local de controlo à procura de um ponteiro para a interface identificada.
HRESULT InternalGetSite(REFIID riid, void** ppUnkSite);
Parâmetros
riid
O IID do ponteiro de interface que deve ser devolvido em ppUnkSite.
ppUnkSite
Endereço da variável ponteiro que recebe o ponteiro de interface solicitado em riid.
Valor de retorno
Devolve S_OK em caso de sucesso, ou um erro HRESULT em caso de falha.
Observações
Se o site suportar a interface solicitada em riid, o ponteiro é devolvido através de ppUnkSite. Caso contrário, ppUnkSite está definido como NULL.
CComControlBase::m_bAutoSize
A bandeira indica que o controlo não pode ser de outro tamanho.
unsigned m_bAutoSize:1;
Observações
Esta flag é verificada por IOleObjectImpl::SetExtent e, se TRUE, faz com que a função devolva E_FAIL.
Observação
Para usar este membro de dados dentro da sua classe de controlo, deve declará-lo como membro de dados na sua classe de controlo. A sua classe de controlo não herdará este membro de dados da classe base porque está declarada dentro de uma união na classe base.
Se adicionares a opção Tamanho Automático no separador Propriedades de Stock do Assistente de Controlo ATL, o assistente cria automaticamente este membro de dados na tua classe de controlo, cria os métodos put e get para a propriedade e suporta o IPropertyNotifySink para notificar automaticamente o contentor quando a propriedade muda.
CComControlBase::m_bDrawFromNatural
Flag indicando que IDataObjectImpl::GetData e deve definir o tamanho do controlo de m_sizeNatural em vez de m_sizeExtentCComControlBase::GetZoomInfo .
unsigned m_bDrawFromNatural:1;
Observações
Observação
Para usar este membro de dados dentro da sua classe de controlo, deve declará-lo como membro de dados na sua classe de controlo. A sua classe de controlo não herdará este membro de dados da classe base porque está declarada dentro de uma união na classe base.
CComControlBase::m_bDrawGetDataInHimetric
Flag a indicar que IDataObjectImpl::GetData deve usar unidades HIMÉTRICAS e não pixels ao desenhar.
unsigned m_bDrawGetDataInHimetric:1;
Observações
Cada unidade HIMÉTRICA lógica é de 0,01 milímetros.
Observação
Para usar este membro de dados dentro da sua classe de controlo, deve declará-lo como membro de dados na sua classe de controlo. A sua classe de controlo não herdará este membro de dados da classe base porque está declarada dentro de uma união na classe base.
CComControlBase::m_bInPlaceActive
Bandeira a indicar que o controlo está ativo no local.
unsigned m_bInPlaceActive:1;
Observações
Isto significa que o controlo é visível e a sua janela, se existir, é visível, mas os menus e barras de ferramentas podem não estar ativos. A m_bUIActive bandeira indica que a interface de utilizador do controlo, como menus, também está ativa.
Observação
Para usar este membro de dados dentro da sua classe de controlo, deve declará-lo como membro de dados na sua classe de controlo. A sua classe de controlo não herdará este membro de dados da classe base porque está declarada dentro de uma união na classe base.
CComControlBase::m_bInPlaceSiteEx
A bandeira que indica o contentor suporta a IOleInPlaceSiteEx interface e as funcionalidades de controlo OCX96, como controlos sem janelas e sem cintilação.
unsigned m_bInPlaceSiteEx:1;
Observações
Observação
Para usar este membro de dados dentro da sua classe de controlo, deve declará-lo como membro de dados na sua classe de controlo. A sua classe de controlo não herdará este membro de dados da classe base porque está declarada dentro de uma união na classe base.
O membro m_spInPlaceSite de dados aponta para uma interface IOleInPlaceSite, IOleInPlaceSiteEx ou IOleInPlaceSiteWindowless , dependendo do valor dos m_bWndLess flags e m_bInPlaceSiteEx . (O elemento m_bNegotiatedWnd de dados deve ser TRUE para que o m_spInPlaceSite ponteiro seja válido.)
Se m_bWndLess for FALSO e m_bInPlaceSiteEx for VERDADEIRO, m_spInPlaceSite é um IOleInPlaceSiteEx ponteiro de interface. Veja m_spInPlaceSite para uma tabela que mostra a relação entre estes três membros dos dados.
CComControlBase::m_bNegotiatedWnd
Flag indica se o controlo negociou com o contentor o suporte para funcionalidades de controlo OCX96 (como controlos sem cintilação e sem janelas), e se o controlo é janelado ou sem janelas.
unsigned m_bNegotiatedWnd:1;
Observações
Observação
Para usar este membro de dados dentro da sua classe de controlo, deve declará-lo como membro de dados na sua classe de controlo. A sua classe de controlo não herdará este membro de dados da classe base porque está declarada dentro de uma união na classe base.
A m_bNegotiatedWnd flag tem de ser TRUE para que o m_spInPlaceSite ponteiro seja válido.
CComControlBase::m_bRecomposeOnResize
Flag indica que o controlo quer recompor a sua apresentação quando o contentor altera o tamanho do ecrã do controlo.
unsigned m_bRecomposeOnResize:1;
Observações
Observação
Para usar este membro de dados dentro da sua classe de controlo, deve declará-lo como membro de dados na sua classe de controlo. A sua classe de controlo não herdará este membro de dados da classe base porque está declarada dentro de uma união na classe base.
Esta flag é verificada por IOleObjectImpl::SetExtent e, se TRUE, SetExtent notifica o contentor das alterações de visualização. se este flag estiver definido, o bit OLEMISC_RECOMPOSEONRESIZE na enumeração OLEMISC também deve ser definido.
CComControlBase::m_bRequiresSave
Bandeira a indicar que o controlo mudou desde a última vez que foi guardado.
unsigned m_bRequiresSave:1;
Observações
O valor de m_bRequiresSave pode ser definido com CComControlBase::SetDirty e recuperado com CComControlBase::GetDirty.
Observação
Para usar este membro de dados dentro da sua classe de controlo, deve declará-lo como membro de dados na sua classe de controlo. A sua classe de controlo não herdará este membro de dados da classe base porque está declarada dentro de uma união na classe base.
CComControlBase::m_bResizeNatural
Flag que indica que o controlo quer redimensionar a sua extensão natural (o seu tamanho físico não escalonado) quando o contentor altera o tamanho do ecrã do controlo.
unsigned m_bResizeNatural:1;
Observações
Esta flag é verificada por IOleObjectImpl::SetExtent e, se TRUE, o tamanho passado em SetExtent é atribuído a m_sizeNatural.
O tamanho passado em SetExtent é sempre atribuído a m_sizeExtent, independentemente do valor de m_bResizeNatural.
Observação
Para usar este membro de dados dentro da sua classe de controlo, deve declará-lo como membro de dados na sua classe de controlo. A sua classe de controlo não herdará este membro de dados da classe base porque está declarada dentro de uma união na classe base.
CComControlBase::m_bUIActive
Flag que indica que a interface de utilizador do controlo, como menus e barras de ferramentas, está ativa.
unsigned m_bUIActive:1;
Observações
A m_bInPlaceActive bandeira indica que o controlo está ativo, mas não que a sua interface de utilizador está ativa.
Observação
Para usar este membro de dados dentro da sua classe de controlo, deve declará-lo como membro de dados na sua classe de controlo. A sua classe de controlo não herdará este membro de dados da classe base porque está declarada dentro de uma união na classe base.
CComControlBase::m_bUsingWindowRgn
Flag indica que o controlo está a usar a região de janela fornecida pelo contentor.
unsigned m_bUsingWindowRgn:1;
Observações
Observação
Para usar este membro de dados dentro da sua classe de controlo, deve declará-lo como membro de dados na sua classe de controlo. A sua classe de controlo não herdará este membro de dados da classe base porque está declarada dentro de uma união na classe base.
CComControlBase::m_bWasOnceWindowless
Flag a indicar que o controlo foi sem janelas, mas pode ou não estar sem janelas agora.
unsigned m_bWasOnceWindowless:1;
Observações
Observação
Para usar este membro de dados dentro da sua classe de controlo, deve declará-lo como membro de dados na sua classe de controlo. A sua classe de controlo não herdará este membro de dados da classe base porque está declarada dentro de uma união na classe base.
CComControlBase::m_bWindowOnly
Flag indicando que o controlo deve ser janelado, mesmo que o contentor suporte controlos sem janelas.
unsigned m_bWindowOnly:1;
Observações
Observação
Para usar este membro de dados dentro da sua classe de controlo, deve declará-lo como membro de dados na sua classe de controlo. A sua classe de controlo não herdará este membro de dados da classe base porque está declarada dentro de uma união na classe base.
CComControlBase::m_bWndLess
Flag indica que o controlo é sem janelas.
unsigned m_bWndLess:1;
Observações
Observação
Para usar este membro de dados dentro da sua classe de controlo, deve declará-lo como membro de dados na sua classe de controlo. A sua classe de controlo não herdará este membro de dados da classe base porque está declarada dentro de uma união na classe base.
O membro m_spInPlaceSite de dados aponta para uma interface IOleInPlaceSite, IOleInPlaceSiteEx ou IOleInPlaceSiteWindowless , dependendo do valor dos m_bWndLess flags e CComControlBase::m_bInPlaceSiteEx . (O membro de dados CComControlBase::m_bNegotiatedWnd deve ser TRUE para que o ponteiro CComControlBase::m_spInPlaceSite seja válido.)
Se m_bWndLess for VERDADEIRO, m_spInPlaceSite é um IOleInPlaceSiteWindowless ponteiro de interface. Consulte CComControlBase::m_spInPlaceSite para uma tabela que mostra a relação completa entre estes membros dos dados.
CComControlBase::m_hWndCD
Contém uma referência à manivela da janela associada ao controlo.
HWND& m_hWndCD;
Observações
Observação
Para usar este membro de dados dentro da sua classe de controlo, deve declará-lo como membro de dados na sua classe de controlo. A sua classe de controlo não herdará este membro de dados da classe base porque está declarada dentro de uma união na classe base.
CComControlBase::m_nFreezeEvents
Uma contagem do número de vezes que o contentor congelou eventos (recusou-se a aceitar eventos) sem um descongelamento intermédio dos eventos (aceitação dos eventos).
short m_nFreezeEvents;
Observações
Observação
Para usar este membro de dados dentro da sua classe de controlo, deve declará-lo como membro de dados na sua classe de controlo. A sua classe de controlo não herdará este membro de dados da classe base porque está declarada dentro de uma união na classe base.
CComControlBase::m_rcPos
A posição em píxeis do controlo, expressa nas coordenadas do contentor.
RECT m_rcPos;
Observações
Observação
Para usar este membro de dados dentro da sua classe de controlo, deve declará-lo como membro de dados na sua classe de controlo. A sua classe de controlo não herdará este membro de dados da classe base porque está declarada dentro de uma união na classe base.
CComControlBase::m_sizeExtent
A extensão do controlo em unidades HIMÉTRICAS (cada unidade é de 0,01 milímetros) para um determinado ecrã.
SIZE m_sizeExtent;
Observações
Observação
Para usar este membro de dados dentro da sua classe de controlo, deve declará-lo como membro de dados na sua classe de controlo. A sua classe de controlo não herdará este membro de dados da classe base porque está declarada dentro de uma união na classe base.
Este tamanho é dimensionado pelo ecrã. O tamanho físico do controlo é especificado no m_sizeNatural membro de dados e é fixo.
Pode converter o tamanho em píxeis com a função global AtlHiMetricToPixel.
CComControlBase::m_sizeNatural
O tamanho físico do controlo em unidades HIMÉTRICAS (cada unidade é de 0,01 milímetros).
SIZE m_sizeNatural;
Observações
Observação
Para usar este membro de dados dentro da sua classe de controlo, deve declará-lo como membro de dados na sua classe de controlo. A sua classe de controlo não herdará este membro de dados da classe base porque está declarada dentro de uma união na classe base.
Este tamanho é fixo, enquanto o tamanho em m_sizeExtent é dimensionado pelo ecrã.
Pode converter o tamanho em píxeis com a função global AtlHiMetricToPixel.
CComControlBase::m_spAdviseSink
Um ponteiro direto para a ligação de aviso no contentor (o IAdviseSink do contentor).
CComPtr<IAdviseSink>
m_spAdviseSink;
Observações
Observação
Para usar este membro de dados dentro da sua classe de controlo, deve declará-lo como membro de dados na sua classe de controlo. A sua classe de controlo não herdará este membro de dados da classe base porque está declarada dentro de uma união na classe base.
CComControlBase::m_spAmbientDispatch
Um CComDispatchDriver objeto que permite recuperar e definir as propriedades de um objeto através de um IDispatch apontador.
CComDispatchDriver m_spAmbientDispatch;
Observações
Observação
Para usar este membro de dados dentro da sua classe de controlo, deve declará-lo como membro de dados na sua classe de controlo. A sua classe de controlo não herdará este membro de dados da classe base porque está declarada dentro de uma união na classe base.
CComControlBase::m_spClientSite
Um apontador para o site cliente do controlo dentro do contentor.
CComPtr<IOleClientSite>
m_spClientSite;
Observações
Observação
Para usar este membro de dados dentro da sua classe de controlo, deve declará-lo como membro de dados na sua classe de controlo. A sua classe de controlo não herdará este membro de dados da classe base porque está declarada dentro de uma união na classe base.
CComControlBase::m_spDataAdviseHolder
Fornece um meio padrão para manter ligações de aconselhamento entre objetos de dados e sumidouros de aconselhamento.
CComPtr<IDataAdviseHolder>
m_spDataAdviseHolder;
Observações
Observação
Para usar este membro de dados dentro da sua classe de controlo, deve declará-lo como membro de dados na sua classe de controlo. A sua classe de controlo não herdará este membro de dados da classe base porque está declarada dentro de uma união na classe base.
Um objeto de dados é um controlo que pode transferir dados e que implementa o IDataObject, cujos métodos especificam o formato e o meio de transferência dos dados.
A interface m_spDataAdviseHolder implementa os métodos IDataObject::D Advise e IDataObject::D Unadvise para estabelecer e eliminar ligações de advisory ao contentor. O contentor do controlo deve implementar um sumidouro de aviso suportando a interface IAdviseSink .
CComControlBase::m_spInPlaceSite
Um ponteiro para o ponteiro de interface IOleInPlaceSite, IOleInPlaceSiteEx ou IOleInPlaceSiteWindowless do contentor.
CComPtr<IOleInPlaceSiteWindowless>
m_spInPlaceSite;
Observações
Observação
Para usar este membro de dados dentro da sua classe de controlo, deve declará-lo como membro de dados na sua classe de controlo. A sua classe de controlo não herdará este membro de dados da classe base porque está declarada dentro de uma união na classe base.
O m_spInPlaceSite ponteiro só é válido se o flag de m_bNegotiatedWnd for VERDADEIRO.
A tabela seguinte mostra como o m_spInPlaceSite tipo de ponteiro depende dos flags de m_bWndLess e m_bInPlaceSiteEx membros de dados:
| m_spInPlaceSite Tipo | m_bWndLess Valor | m_bInPlaceSiteEx Valor |
|---|---|---|
IOleInPlaceSiteWindowless |
TRUE | VERDADEIRO ou FALSO |
IOleInPlaceSiteEx |
FALSE | TRUE |
IOleInPlaceSite |
FALSE | FALSE |
CComControlBase::m_spOleAdviseHolder
Fornece uma implementação padrão de uma forma de manter ligações de consultoria.
CComPtr<IOleAdviseHolder>
m_spOleAdviseHolder;
Observações
Observação
Para usar este membro de dados dentro da sua classe de controlo, deve declará-lo como membro de dados na sua classe de controlo. A sua classe de controlo não herdará este membro de dados da classe base porque está declarada dentro de uma união na classe base.
A interface m_spOleAdviseHolder implementa os métodos IOleObject::Advise e IOleObject::Unadvise para estabelecer e eliminar ligações de advisory ao contentor. O contentor do controlo deve implementar um sumidouro de aviso suportando a interface IAdviseSink .
CComControlBase::OnDraw
Anula este método para desenhar o teu controlo.
virtual HRESULT OnDraw(ATL_DRAWINFO& di);
Parâmetros
di
Uma referência à estrutura ATL_DRAWINFO que contém informação de desenho, como o aspeto de desenho, os limites de controlo e se o desenho está otimizado ou não.
Valor de retorno
Um valor HRESULT padrão.
Observações
O padrão OnDraw apaga ou restaura o contexto do dispositivo ou não faz nada, dependendo dos flags definidos em CComControlBase::OnDrawAdvanced.
Um OnDraw método é automaticamente adicionado à sua classe de controlo quando cria o seu controlo com o ATL Control Wizard. O padrão OnDraw do assistente desenha um retângulo com o rótulo "ATL 8.0".
Example
Veja o exemplo de CComControlBase::GetAmbientAppearance.
CComControlBase::OnDrawAdvanced
O padrão OnDrawAdvanced prepara um contexto normalizado do dispositivo para desenhar e depois chama o método da OnDraw sua classe de controlo.
virtual HRESULT OnDrawAdvanced(ATL_DRAWINFO& di);
Parâmetros
di
Uma referência à estrutura ATL_DRAWINFO que contém informação de desenho, como o aspeto de desenho, os limites de controlo e se o desenho está otimizado ou não.
Valor de retorno
Um valor HRESULT padrão.
Observações
Substitua este método se quiser aceitar o contexto do dispositivo passado pelo contentor sem o normalizar.
Consulte CComControlBase::OnDraw para mais detalhes.
CComControlBase::OnKillFocus
Verifica se o controlo está ativo no local e tem um local de controlo válido, depois informa o contentor de que o controlo perdeu o foco.
LRESULT OnKillFocus(UINT /* nMsg */,
WPARAM /* wParam */,
LPARAM /* lParam */,
BOOL& bHandled);
Parâmetros
nMsg
Reservado.
wParam
Reservado.
lParam
Reservado.
bHandled
Flag que indica se a mensagem da janela foi tratada com sucesso. O padrão é FALSO.
Valor de retorno
Devolve sempre 1.
CComControlBase::OnMouseActivate
Verifica se a interface está em modo utilizador e depois ativa o controlo.
LRESULT OnMouseActivate(UINT /* nMsg */,
WPARAM /* wParam */,
LPARAM /* lParam */,
BOOL& bHandled);
Parâmetros
nMsg
Reservado.
wParam
Reservado.
lParam
Reservado.
bHandled
Flag que indica se a mensagem da janela foi tratada com sucesso. O padrão é FALSO.
Valor de retorno
Devolve sempre 1.
CComControlBase::OnPaint
Prepara o recipiente para pintura, obtém a área do cliente do controlo e depois chama o método da OnDrawAdvanced classe de controlo.
LRESULT OnPaint(UINT /* nMsg */,
WPARAM wParam,
LPARAM /* lParam */,
BOOL& /* lResult */);
Parâmetros
nMsg
Reservado.
wParam
Um HDC já existente.
lParam
Reservado.
Resultado
Reservado.
Valor de retorno
Devolve sempre zero.
Observações
Se o wParam não for NULL, OnPaint assume que contém um HDC válido e usa-o em vez de CComControlBase::m_hWndCD.
CComControlBase::OnSetFocus
Verifica se o controlo está ativo no local e tem um local de controlo válido, depois informa o contentor de que o controlo ganhou foco.
LRESULT OnSetFocus(UINT /* nMsg */,
WPARAM /* wParam */,
LPARAM /* lParam */,
BOOL& bHandled);
Parâmetros
nMsg
Reservado.
wParam
Reservado.
lParam
Reservado.
bHandled
Flag que indica se a mensagem da janela foi tratada com sucesso. O padrão é FALSO.
Valor de retorno
Devolve sempre 1.
Observações
Envia uma notificação ao contentor de que o controlo recebeu o foco.
CComControlBase::P reTranslateAccelerator
Anule este método para fornecer os seus próprios controladores de acelerador de teclado.
BOOL PreTranslateAccelerator(LPMSG /* pMsg */,
HRESULT& /* hRet */);
Parâmetros
pMsg
Reservado.
hRet
Reservado.
Valor de retorno
Por defeito, devolve FALSE.
CComControlBase::SendOnClose
Notifica todos os sumidouros consultivos registados junto do titular do aviso de que o controlo foi encerrado.
HRESULT SendOnClose();
Valor de retorno
Devolve S_OK em caso de sucesso, ou um erro HRESULT em caso de falha.
Observações
Envia uma notificação de que o controlo fechou os seus sumidoiros de aviso.
CComControlBase::SendOnDataChange
Notifica todos os cargos de referência registados junto do titular do aviso de que os dados de controlo foram alterados.
HRESULT SendOnDataChange(DWORD advf = 0);
Parâmetros
ADVF
Avise os flags que especificam como a chamada para IAdviseSink::OnDataChange é feita. Os valores provêm da enumeração ADVF .
Valor de retorno
Devolve S_OK em caso de sucesso, ou um erro HRESULT em caso de falha.
CComControlBase::SendOnRename
Notifica todos os sumidouros consultivos registados junto do titular do aviso de que o controlo tem um novo nome.
HRESULT SendOnRename(IMoniker* pmk);
Parâmetros
PMK
Aponta para o novo nome do controlo.
Valor de retorno
Devolve S_OK em caso de sucesso, ou um erro HRESULT em caso de falha.
Observações
Envia uma notificação de que o nome do controlo mudou.
CComControlBase::SendOnSave
Notifica todos os compartimentos de referência registados junto do titular do aviso de que o controlo foi salvo.
HRESULT SendOnSave();
Valor de retorno
Devolve S_OK em caso de sucesso, ou um erro HRESULT em caso de falha.
Observações
Envia uma notificação a dizer que o controlo acabou de guardar os seus dados.
CComControlBase::SendOnViewChange
Notifica todos os submersos de aviso registados de que a opinião do controlo mudou.
HRESULT SendOnViewChange(DWORD dwAspect, LONG lindex = -1);
Parâmetros
dwAspect
O aspeto ou vista do controlo.
lindex
A parte da opinião que mudou. Só -1 é válida.
Valor de retorno
Devolve S_OK em caso de sucesso, ou um erro HRESULT em caso de falha.
Observações
SendOnViewChange chama IAdviseSink::OnViewChange. O único valor do lindex atualmente suportado é -1, o que indica que toda a vista é de interesse.
CComControlBase::SetControlFocus
Define ou remove o foco do teclado para ou do controlo.
BOOL SetControlFocus(BOOL bGrab);
Parâmetros
bGrab
Se for TRUE, define o foco do teclado para o controlo de chamada. Se for FALSE, remove o foco do teclado do controlo que chama, desde que tenha o foco.
Valor de retorno
Retorna TRUE se o controlo receber o foco com sucesso; caso contrário, FALSO.
Observações
Para um controlo em janela, a função da API do Windows é chamada SetFocus . Para um controlo sem janelas, é chamado IOleInPlaceSiteWindowLess::SetFocus . Através desta chamada, um controlo sem janelas obtém o foco do teclado e pode responder a mensagens de janela.
CComControlBase::SetDirty
Define o membro m_bRequiresSave de dados para o valor em bDirty.
void SetDirty(BOOL bDirty);
Parâmetros
bSujo
Valor do membro de dados CComControlBase::m_bRequiresSave.
Observações
SetDirty(TRUE) deve ser chamado para sinalizar que o controlo mudou desde a última vez que foi guardado. O valor de m_bRequiresSave é recuperado com CComControlBase::GetDirty.
Consulte também
Classe CComControl
Visão geral da classe