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 biblioteca Microsoft Foundation Classes (MFC) continua a ser suportada. No entanto, já não estamos a adicionar funcionalidades nem a atualizar a documentação.
Funciona como um contentor de controlo para controlos ActiveX.
Sintaxe
class COleControlContainer : public CCmdTarget
Membros
Construtores Públicos
| Nome | Description |
|---|---|
| COleControlContainer::COleControlContainer | Constrói um COleControlContainer objeto. |
Métodos Públicos
| Nome | Description |
|---|---|
| COleControlContainer::AttachControlSite | Cria um site de controlo, alojado pelo contentor. |
| COleControlContentor::BroadcastAmbientPropertyChange | Informa todos os controlos alojados de que uma propriedade ambiente mudou. |
| COleControlContainer::CheckDlgButton | Modifica o controlo de botões especificado. |
| COleControlContainer::CheckRadioButton | Seleciona o botão de opção especificado de um grupo. |
| COleControlContainer::CreateControl | Cria um controlo ActiveX alojado. |
| COleControlContainer::CreateOleFont | Cria uma fonte OLE. |
| COleControlContainer::FindItem | Devolve o local personalizado do controlo especificado. |
| COleControlContentor::FreezeAllEvents | Determina se o local de controlo está a aceitar eventos. |
| COleControlContainer::GetAmbientProp | Recupera a propriedade ambiente especificada. |
| COleControlContainer::GetDlgItem | Recupera o controlo de diálogo especificado. |
| COleControlContainer::GetDlgItemInt | Recupera o valor do controlo de diálogo especificado. |
| COleControlContainer::GetDlgItemText | Recupera a legenda do controlo de diálogo especificado. |
| COleControlContainer::HandleSetFocus | Determina se o contentor lida com WM_SETFOCUS mensagens. |
| COleControlContainer::HandleWindowLessMessage | Trata de mensagens enviadas para um controlo sem janelas. |
| COleControlContainer::IsDlgButtonCheck | Determina o estado do botão especificado. |
| COleControlContainer::OnPaint | Chamei para repintar uma parte do recipiente. |
| COleControlContainer::OnUIActivate | Chamada quando um controlo está prestes a ser ativado. |
| COleControlContainer::OnUIDeactivate | Chamado quando um controlo está prestes a ser desativado. |
| COleControlContainer::ScrollChildren | É chamada pelo framework quando as mensagens de scroll são recebidas de uma janela filha. |
| COleControlContainer::SendDlgItemMessage | Envia uma mensagem para o controlo especificado. |
| COleControlContainer::SetDlgItemInt | Define o valor do controlo especificado. |
| COleControlContainer::SetDlgItemText | Define o texto do controlo especificado. |
Membros de Dados Públicos
| Nome | Description |
|---|---|
| COleControlContainer::m_crBack | A cor de fundo do recipiente. |
| COleControlContainer::m_crFore | A cor em primeiro plano do recipiente. |
| COleControlContainer::m_listSitesOrWnds | Uma lista dos locais de controlo suportados. |
| COleControlContainer::m_nWindowlessControls | O número de controlos sem janelas alojados. |
| COleControlContainer::m_pOleFont | Um apontador para a fonte OLE do site de controlo personalizado. |
| COleControlContainer::m_pSiteCapture | Apontar para o local de controlo de captura. |
| COleControlContainer::m_pSiteFocus | Aponta para o controlo que atualmente tem o foco de entrada. |
| COleControlContainer::m_pSiteUIActive | Aponta para o controlo que está atualmente ativado. |
| COleControlContainer::m_pWnd | Apontar para a janela que implementa o contentor de controlo. |
| COleControlContainer::m_siteMap | O mapa do local. |
Observações
Isto é feito fornecendo suporte para um ou mais sites de controlo ActiveX (implementados por COleControlSite).
COleControlContainer implementa totalmente as interfaces IOleInPlaceFrame e IOleContainer , permitindo que os controlos ActiveX contidos cumpram as suas qualificações como itens no local.
Comumente, esta classe é usada em conjunto com COccManager e COleControlSite para implementar um contentor de controlo ActiveX personalizado, com sites personalizados para um ou mais controlos ActiveX.
Hierarquia de herança
COleControlContainer
Requerimentos
Cabeçalho: afxocc.h
COleControlContainer::AttachControlSite
Chamado pelo framework para criar e anexar um local de controlo.
virtual void AttachControlSite(
CWnd* pWnd,
UINT nIDC = 0);
void AttachControlSite(
CWnd* pWnd,
UINT nIDC = 0);
Parâmetros
pWnd
Um ponteiro para um CWnd objeto.
nIDC
O ID do controlo a anexar.
Observações
Desative esta função se quiser personalizar este processo.
Observação
Use a primeira forma desta função se estiver a ligar estaticamente à biblioteca MFC. Usa o segundo formulário se estiveres a ligar dinamicamente à biblioteca MFC.
COleControlContentor::BroadcastAmbientPropertyChange
Informa todos os controlos alojados de que uma propriedade ambiente mudou.
virtual void BroadcastAmbientPropertyChange(DISPID dispid);
Parâmetros
dispid
O ID de despacho da propriedade ambiente está a ser alterado.
Observações
Esta função é chamada pelo framework quando uma propriedade ambiente mudou de valor. Substitua esta função para personalizar este comportamento.
COleControlContainer::CheckDlgButton
Modifica o estado atual do botão.
virtual void CheckDlgButton(
int nIDButton,
UINT nCheck);
Parâmetros
nIDButton
O ID do botão a ser modificado.
nCheck
Especifica o estado do botão. Pode ser um dos seguintes:
BST_CHECKED Define o estado do botão para verificado.
BST_INDETERMINATE Define o estado do botão para cinzento, indicando um estado indeterminado. Use este valor apenas se o botão tiver o estilo BS_3STATE ou BS_AUTO3STATE.
BST_UNCHECKED Define o estado do botão para limpo.
COleControlContainer::CheckRadioButton
Seleciona um botão de acesso especificado num grupo e limpa os botões restantes do grupo.
virtual void CheckRadioButton(
int nIDFirstButton,
int nIDLastButton,
int nIDCheckButton);
Parâmetros
nIDFirstButton
Especifica o identificador do primeiro botão de rádio do grupo.
nIDLastButton
Especifica o identificador do último botão de acesso do grupo.
nIDCheckButton
Especifica o identificador do botão de rádio a verificar.
COleControlContainer::COleControlContainer
Constrói um COleControlContainer objeto.
explicit COleControlContainer(CWnd* pWnd);
Parâmetros
pWnd
Um apontador para a janela pai do contentor de controlo.
Observações
Depois de o objeto ter sido criado com sucesso, adicione um site de controlo personalizado com uma chamada para AttachControlSite.
COleControlContainer::CreateControl
Cria um controlo ActiveX, alojado pelo objeto especificado COleControlSite .
BOOL CreateControl(
CWnd* pWndCtrl,
REFCLSID clsid,
LPCTSTR lpszWindowName,
DWORD dwStyle,
const RECT& rect,
UINT nID,
CFile* pPersist =NULL,
BOOL bStorage =FALSE,
BSTR bstrLicKey =NULL,
COleControlSite** ppNewSite =NULL);
BOOL CreateControl(
CWnd* pWndCtrl,
REFCLSID clsid,
LPCTSTR lpszWindowName,
DWORD dwStyle,
const POINT* ppt,
const SIZE* psize,
UINT nID,
CFile* pPersist =NULL,
BOOL bStorage =FALSE,
BSTR bstrLicKey =NULL,
COleControlSite** ppNewSite =NULL);
Parâmetros
pWndCtrl
Um ponteiro para o objeto janela que representa o controlo.
CLSID
O ID de classe único do controlo.
lpszWindowName
Um ponteiro para o texto a ser apresentado no controlo. Define o valor da propriedade Caption ou Text do controlo (se houver). Se for NULL, a propriedade Legenda ou Texto do controlo não é alterada.
dwStyle
Estilos do Windows. Os estilos disponíveis estão listados na secção de Observações .
retângulo
Especifica o tamanho e a posição do controle. Pode ser um CRect objeto ou uma RECT estrutura.
nID
Especifica o ID da janela filho do controlo.
pPersistir
Um apontador para um CFile que contém o estado persistente do controlo. O valor padrão é NULL, indicando que o controlo se inicializa sem restaurar o seu estado a partir de qualquer armazenamento persistente. Se não for NULL, deve ser um apontador para um CFileobjeto derivado em que contém os dados persistentes do controlo, sob a forma de um fluxo ou de um armazenamento. Estes dados poderiam ter sido guardados numa ativação anterior do cliente. O CFile pode conter outros dados, mas deve ter o seu ponteiro de leitura-escrita definido para o primeiro byte de dados persistentes no momento da chamada para CreateControl.
bArmazenamento
Indica se os dados em pPersist devem ser interpretados como IStorage ou IStream dados. Se os dados em pPersist forem um armazenamento, o bStorage deve ser VERDADEIRO. Se os dados em pPersist forem um fluxo, o bStorage deve ser FALSO. O valor padrão é FALSE.
bstrLicKey
Dados opcionais da chave da licença. Estes dados são necessários apenas para criar controlos que exijam uma chave de licença em tempo de execução. Se o controlo suportar licenciamento, deve fornecer uma chave de licença para que a criação do controlo tenha sucesso. O valor padrão é NULL.
ppNewSite
Um ponteiro para o local de controlo existente que irá alojar o controlo que está a ser criado. O valor padrão é NULL, indicando que um novo local de controlo será criado automaticamente e anexado ao novo controlo.
ppt
Um ponteiro para uma POINT estrutura que contém o canto superior esquerdo do controlo. O tamanho do controlo é determinado pelo valor de psize. Os valores ppt e psize são um método opcional para especificar o tamanho e a posição do controlo.
psize
Um apontador para uma SIZE estrutura que contém o tamanho do controlo. O canto superior esquerdo é determinado pelo valor de ppt. Os valores ppt e psize são um método opcional para especificar o tamanho e a posição do controlo.
Valor de retorno
Não nulo se for bem-sucedido; caso contrário, 0.
Observações
Apenas um subconjunto das flags dwStyle do Windows é suportado por CreateControl:
WS_VISIBLE Cria uma janela que é inicialmente visível. É necessário se quiseres que o controlo seja visível imediatamente, como janelas normais.
WS_DISABLED Cria uma janela que está inicialmente desativada. Uma janela desativada não pode receber entrada do utilizador. Pode ser definido se o controlo tiver uma propriedade Ativada.
WS_BORDER Cria uma janela com uma borda fina. Pode ser definido se o controlo tiver uma propriedade BorderStyle.
WS_GROUP Especifica o primeiro controlo de um grupo de controlos. O utilizador pode alterar o foco do teclado de um controlo no grupo para o seguinte usando as teclas de direção. Todos os controlos definidos com o estilo WS_GROUP após o primeiro controlo pertencem ao mesmo grupo. O controlo seguinte com o estilo WS_GROUP termina o grupo e inicia o grupo seguinte.
WS_TABSTOP Especifica um controlo que pode receber o foco do teclado quando o utilizador pressiona a tecla TAB. Pressionar a tecla TAB muda o foco do teclado para o próximo controlo do estilo WS_TABSTOP.
Usa a segunda sobrecarga para criar controlos de tamanho padrão.
COleControlContainer::CreateOleFont
Cria uma fonte OLE.
void CreateOleFont(CFont* pFont);
Parâmetros
pFont
Um ponteiro para a fonte a ser usada pelo contentor de controlo.
COleControlContainer::FindItem
Encontra o site personalizado que aloja o item especificado.
virtual COleControlSite* FindItem(UINT nID) const;
Parâmetros
nID
O identificador do item a encontrar.
Valor de retorno
Um apontador para o site personalizado do item especificado.
COleControlContentor::FreezeAllEvents
Determina se o contentor irá ignorar eventos dos locais de controlo anexados ou aceitá-los.
void FreezeAllEvents(BOOL bFreeze);
Parâmetros
bFreeze
Diferente de zero se os eventos serão processados; caso contrário, 0.
Observações
Observação
O controlo não é obrigado a parar os eventos de disparo se solicitado pelo contentor de controlo. Pode continuar a disparar, mas todos os eventos subsequentes serão ignorados pelo contentor de controlo.
COleControlContainer::GetAmbientProp
Recupera o valor de uma propriedade ambiente especificada.
virtual BOOL GetAmbientProp(
COleControlSite* pSite,
DISPID dispid,
VARIANT* pvarResult);
Parâmetros
pSite
Um ponteiro para um local de controlo de onde a propriedade ambiente será recuperada.
dispid
O ID de despacho da propriedade ambiente desejada.
pVarResult
Um indicador do valor da propriedade ambiente.
Valor de retorno
Não nulo se for bem-sucedido; caso contrário, 0.
COleControlContainer::GetDlgItem
Recupera um ponteiro para a janela de controlo ou filho especificada numa caixa de diálogo ou noutra janela.
virtual CWnd* GetDlgItem(int nID) const;
virtual void GetDlgItem(
int nID,
HWND* phWnd) const;
Parâmetros
nID
Identificador do item de diálogo a recuperar.
phWnd
Um ponteiro para o handle do objeto janela do item de diálogo especificado.
Valor de retorno
Um apontador para a janela do elemento de diálogo.
COleControlContainer::GetDlgItemInt
Recupera o valor do texto traduzido do controlo dado.
virtual UINT GetDlgItemInt(
int nID,
BOOL* lpTrans,
BOOL bSigned) const;
Parâmetros
nID
O identificador do controlo.
lpTrans
Apontador para uma variável booleana que recebe um valor de sucesso/falha de função (TRUE indica sucesso, FALSE indica falha).
bAssinado
Especifica se a função deve examinar o texto para um sinal negativo no início e devolver um valor inteiro com sinal se encontrar um. Se o parâmetro bSigned for TRUE, especificando que o valor a recuperar é um valor inteiro assinado, conjure o valor de retorno para um int tipo. Para obter informações detalhadas sobre erros, ligue para o GetLastError.
Valor de retorno
Se for bem-sucedido, a variável apontada por lpTrans é definida como TRUE, e o valor de retorno é o valor traduzido do texto de controlo.
Se a função falhar, a variável apontada por lpTrans é definida como FALSE, e o valor de retorno é zero. Note-se que, uma vez que zero é um valor possível traduzido, um valor de retorno zero não indica por si só falha.
Se o lpTrans for NULL, a função não devolve qualquer informação sobre sucesso ou falha.
Observações
A função traduz o texto recuperado removendo quaisquer espaços extra no início do texto e convertendo depois os dígitos decimais. A função deixa de traduzir quando chega ao fim do texto ou encontra um carácter não numérico.
Esta função devolve zero se o valor traduzido for maior que INT_MAX (para números com sinal) ou UINT_MAX (para números sem sinal).
COleControlContainer::GetDlgItemText
Recupera o texto do controlo indicado.
virtual int GetDlgItemText(
int nID,
LPTSTR lpStr,
int nMaxCount) const;
Parâmetros
nID
O identificador do controlo.
lpStr
Aponta para o texto do controlo.
nMaxCount
Especifica o comprimento máximo, em caracteres, da cadeia a ser copiada para o buffer apontado por lpStr. Se o comprimento da corda exceder o limite, a corda é truncada.
Valor de retorno
Se a função tiver sucesso, o valor de retorno especifica o número de caracteres copiados para o buffer, excluindo o carácter nulo que termina.
Se a função falhar, o valor de retorno será zero. Para obter informações detalhadas sobre erros, ligue para o GetLastError.
COleControlContainer::HandleSetFocus
Determina se o contentor lida com WM_SETFOCUS mensagens.
virtual BOOL HandleSetFocus();
Valor de retorno
Diferente de zero se o contentor tratar WM_SETFOCUS mensagens; caso contrário, zero.
COleControlContainer::HandleWindowLessMessage
Processa mensagens de janela para controlos sem janelas.
virtual BOOL HandleWindowlessMessage(
UINT message,
WPARAM wParam,
LPARAM lParam,
LRESULT* plResult);
Parâmetros
mensagem
O identificador da mensagem da janela, fornecido pelo Windows.
wParam
Parâmetro da mensagem; fornecido pelo Windows. Especifica informação adicional específica da mensagem. O conteúdo deste parâmetro depende do valor do parâmetro da mensagem .
lParam
Parâmetro da mensagem; fornecido pelo Windows. Especifica informação adicional específica da mensagem. O conteúdo deste parâmetro depende do valor do parâmetro da mensagem .
plResult
Código de resultados do Windows. Especifica o resultado do processamento da mensagem e depende da mensagem enviada.
Valor de retorno
Não nulo se for bem-sucedido; caso contrário, zero.
Observações
Substitua esta função para personalizar o tratamento das mensagens de controlo sem janelas.
COleControlContainer::IsDlgButtonCheck
Determina o estado do botão especificado.
virtual UINT IsDlgButtonChecked(int nIDButton) const;
Parâmetros
nIDButton
O identificador do controlo do botão.
Valor de retorno
O valor de retorno, a partir de um botão criado com os estilos BS_AUTOCHECKBOX, BS_AUTORADIOBUTTON, BS_AUTO3STATE, BS_CHECKBOX, BS_RADIOBUTTON ou BS_3STATE. Pode ser um dos seguintes:
BST_CHECKED Botão está marcado.
BST_INDETERMINATE Botão está cinzento, indicando um estado indeterminado (aplica-se apenas se o botão tiver o estilo BS_3STATE ou BS_AUTO3STATE).
BST_UNCHECKED Botão está limpo.
Observações
Se o botão for um controlo de três estados, a função elemento determina se está escurecido, verificado ou nenhum dos dois.
COleControlContainer::m_crBack
A cor de fundo do recipiente.
COLORREF m_crBack;
COleControlContainer::m_crFore
A cor em primeiro plano do recipiente.
COLORREF m_crFore;
COleControlContainer::m_listSitesOrWnds
Uma lista dos locais de controlo alojados pelo contentor.
CTypedPtrList<CPtrList, COleControlSiteOrWnd*> m_listSitesOrWnds;
COleControlContainer::m_nWindowlessControls
O número de controlos sem janelas alojados pelo contentor de controlo.
int m_nWindowlessControls;
COleControlContainer::m_pOleFont
Um apontador para a fonte OLE do site de controlo personalizado.
LPFONTDISP m_pOleFont;
COleControlContainer::m_pSiteCapture
Apontar para o local de controlo de captura.
COleControlSite* m_pSiteCapture;
COleControlContainer::m_pSiteFocus
Um apontador para o local de controlo que atualmente tem foco de entrada.
COleControlSite* m_pSiteFocus;
COleControlContainer::m_pSiteUIActive
Um apontador para o local de controlo ativado.
COleControlSite* m_pSiteUIActive;
COleControlContainer::m_pWnd
Um ponteiro para o objeto janela associado ao contentor.
CWnd* m_pWnd;
COleControlContainer::m_siteMap
O mapa do local.
CMapPtrToPtr m_siteMap;
COleControlContainer::OnPaint
Chamado pelo framework para lidar com pedidos WM_PAINT.
virtual BOOL OnPaint(CDC* pDC);
Parâmetros
pDC
Um apontador para o contexto do dispositivo usado pelo contentor.
Valor de retorno
Não nula se a mensagem foi tratada; caso contrário, zero.
Observações
Desative esta função para personalizar o processo de pintura.
COleControlContainer::OnUIActivate
É chamado pela estrutura quando o local de controlo, apontado pelo pSite, está prestes a ser ativado no local.
virtual void OnUIActivate(COleControlSite* pSite);
Parâmetros
pSite
Um indicador para o local de controlo prestes a ser ativado.
Observações
A ativação no local significa que o menu principal do contentor é substituído por um menu composto no local.
COleControlContainer::OnUIDeactivate
Chamada pelo framework quando o local de controlo, apontado pelo pSite, está prestes a ser desativado.
virtual void OnUIDeactivate(COleControlSite* pSite);
Parâmetros
pSite
Um apontador para o local de controlo prestes a ser desativado.
Observações
Quando esta notificação é recebida, o contentor deve reinstalar a sua interface de utilizador e assumir o foco.
COleControlContainer::ScrollChildren
É chamada pelo framework quando as mensagens de scroll são recebidas de uma janela filha.
virtual void ScrollChildren(
int dx,
int dy);
Parâmetros
dx
A quantidade, em pixels, de scroll ao longo do eixo x.
Dy
A quantidade, em pixels, de scroll ao longo do eixo y.
COleControlContainer::SendDlgItemMessage
Envia uma mensagem para o controlo especificado.
virtual LRESULT SendDlgItemMessage(
int nID,
UINT message,
WPARAM wParam,
LPARAM lParam);
Parâmetros
nID
Especifica o identificador do controlo que recebe a mensagem.
mensagem
Especifica a mensagem a enviar.
wParam
Especifica informação adicional específica da mensagem.
lParam
Especifica informação adicional específica da mensagem.
COleControlContainer::SetDlgItemInt
Define o texto de um controlo numa caixa de diálogo para a representação em cadeia de um valor inteiro especificado.
virtual void SetDlgItemInt(
int nID,
UINT nValue,
BOOL bSigned);
Parâmetros
nID
O identificador do controlo.
nValor
O valor inteiro a ser apresentado.
bAssinado
Especifica se o parâmetro nValue é assinado ou não. Se este parâmetro for VERDADEIRO, nValor é assinado. Se este parâmetro for TRUE e nValor for menor que zero, um sinal menos é colocado antes do primeiro dígito da cadeia. Se este parâmetro for FALSO, nValor é sem sinal.
COleControlContainer::SetDlgItemText
Define o texto do controlo especificado, usando o texto contido em lpszString.
virtual void SetDlgItemText(
int nID,
LPCTSTR lpszString);
Parâmetros
nID
O identificador do controlo.
lpszString
Aponta para o texto do controlo.
Consulte também
Classe CCmdTarget
Gráfico de Hierarquia
Classe COleControlSite
Classe COccManager