Partilhar via


Classe CComControlBase

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