Classe COccManager
Gerencia vários sites de controle personalizado; implementado por objetos COleControlContainer
e COleControlSite
.
Sintaxe
class COccManager : public CNoTrackObject
Membros
Métodos públicos
Nome | Descrição |
---|---|
COccManager::CreateContainer | Cria um objeto COleContainer . |
COccManager::CreateDlgControls | Cria controles ActiveX hospedados pelo objeto COleContainer associado. |
COccManager::CreateSite | Cria um objeto COleClientSite . |
COccManager::GetDefBtnCode | Recupera o código do botão padrão. |
COccManager::IsDialogMessage | Determina o destino de uma mensagem da caixa de diálogo. |
COccManager::IsLabelControl | Determina se o controle especificado é um controle de rótulo. |
COccManager::IsMatchingMnemonic | Determina se o mnemônico atual corresponde ao mnemônico do controle especificado. |
COccManager::OnEvent | Tenta tratar o evento especificado. |
COccManager::PostCreateDialog | Libera recursos alocados durante a criação da caixa de diálogo. |
COccManager::PreCreateDialog | Processa um modelo de caixa de diálogo para controles ActiveX. |
COccManager::SetDefaultButton | Alterna o estado padrão do controle especificado. |
COccManager::SplitDialogTemplate | Separa todos os controles ActiveX existentes dos controles comuns no modelo de caixa de diálogo especificado. |
Comentários
A classe base CNoTrackObject
é uma classe base não documentada (localizada em AFXTLS.H). Projetadas para uso pela estrutura MFC, as classes derivadas da classe CNoTrackObject
são isentas da detecção de vazamento de memória. Não é recomendável derivar diretamente de CNoTrackObject
.
Hierarquia de herança
CNoTrackObject
COccManager
Requisitos
Cabeçalho: afxocc.h
COccManager::CreateContainer
Chamado pela estrutura para criar um contêiner de controle.
virtual COleControlContainer* CreateContainer(CWnd* pWnd);
Parâmetros
pWnd
Um ponteiro para o objeto de janela associado ao contêiner do site personalizado.
Valor de retorno
Um ponteiro para o contêiner recém-criado; caso contrário, NULL.
Comentários
Para obter mais informações sobre como criar sites personalizados, consulte COleControlContainer::AttachControlSite.
COccManager::CreateDlgControls
Chame essa função para criar controles ActiveX especificados pelo parâmetro pOccDialogInfo.
virtual BOOL CreateDlgControls(
CWnd* pWndParent,
LPCTSTR lpszResourceName,
_AFX_OCC_DIALOG_INFO* pOccDialogInfo);
virtual BOOL CreateDlgControls(
CWnd* pWndParent,
void* lpResource,
_AFX_OCC_DIALOG_INFO* pOccDialogInfo);
Parâmetros
pWndParent
Um ponteiro para o pai do objeto de caixa de diálogo.
lpszResourceName
O nome do recurso que está sendo criado.
pOccDialogInfo
Um ponteiro para o modelo de caixa de diálogo usado para criar o objeto de caixa de diálogo.
lpResource
Um ponteiro para um recurso.
Valor de retorno
Diferente de zero se o controle foi criado com êxito; caso contrário, zero.
COccManager::CreateSite
Chamado pela estrutura para criar um site de controle hospedado pelo contêiner apontado por pCtrlCont.
virtual COleControlSite* CreateSite(COleControlContainer* pCtrlCont);
Parâmetros
pCtrlCont
Um ponteiro para o contêiner de controle que hospeda o novo site de controle.
Valor de retorno
Um ponteiro para o site de controle recém-criado.
Comentários
Substitua essa função para criar um site de controle personalizado usando sua classe derivada de COleControlSite.
Cada contêiner de controle pode hospedar vários sites. Crie sites adicionais com várias chamadas para CreateSite
.
COccManager::GetDefBtnCode
Chame essa função para determinar se o controle é um botão de push padrão.
static DWORD AFX_CDECL GetDefBtnCode(CWnd* pWnd);
Parâmetros
pWnd
O objeto de janela que contém o controle de botão.
Valor de retorno
Um dos seguintes valores:
DLGC_DEFPUSHBUTTON O controle é o botão padrão na caixa de diálogo.
DLGC_UNDEFPUSHBUTTON O controle não é o botão padrão na caixa de diálogo.
0 O controle não é um botão.
COccManager::IsDialogMessage
Chamado pela estrutura para determinar se uma mensagem é destinada à caixa de diálogo especificada e, se for, processa a mensagem.
virtual BOOL IsDialogMessage(
CWnd* pWndDlg,
LPMSG lpMsg);
Parâmetros
pWndDlg
Um ponteiro para a caixa de diálogo de destino da mensagem.
lpMsg
Um ponteiro para uma estrutura MSG
que contém a mensagem a ser verificada.
Valor de retorno
Diferente de zero se a mensagem for processada; caso contrário, zero.
Comentários
O comportamento padrão IsDialogMessage
é verificar se há mensagens do teclado e convertê-las em seleções para a caixa de diálogo correspondente. Por exemplo, a tecla TAB, quando pressionada, seleciona o próximo controle ou grupo de controles.
Substitua essa função para fornecer comportamento personalizado para mensagens enviadas para a caixa de diálogo especificada.
COccManager::IsLabelControl
Chame essa função para determinar se o controle especificado é um controle de rótulo.
static BOOL AFX_CDECL IsLabelControl(CWnd* pWnd);
static BOOL AFX_CDECL IsLabelControl(COleControlSiteOrWnd* pWnd);
Parâmetros
pWnd
Um ponteiro para a janela que contém o controle.
Valor de retorno
Diferente de zero se o controle for um rótulo; caso contrário, zero
Comentários
Um controle de rótulo é aquele que age como um rótulo para qualquer controle que seja o próximo na ordenação.
COccManager::IsMatchingMnemonic
Chame essa função para determinar se o mnemônico atual corresponde ao representado pelo controle.
static BOOL AFX_CDECL IsMatchingMnemonic(
CWnd* pWnd,
LPMSG lpMsg);
static BOOL AFX_CDECL IsMatchingMnemonic(
COleControlSiteOrWnd* pWnd,
LPMSG lpMsg);
Parâmetros
pWnd
Um ponteiro para a janela que contém o controle.
lpMsg
Um ponteiro para a mensagem que contém o mnemônico a ser correspondido.
Valor de retorno
Diferente de zero se o mnemônico corresponder ao controle; caso contrário, zero
Comentários
COccManager::OnEvent
Chamado pela estrutura para tratar o evento especificado.
virtual BOOL OnEvent(
CCmdTarget* pCmdTarget,
UINT idCtrl,
AFX_EVENT* pEvent,
AFX_CMDHANDLERINFO* pHandlerInfo);
Parâmetros
pCmdTarget
Um ponteiro para o objeto CCmdTarget
que tenta tratar o evento
idCtrl
A ID de recursos do controle.
pEvent
O evento que está sendo tratado.
pHandlerInfo
Se não for NULL, OnEvent
preencherá os membros pTarget
e pmf
da estrutura AFX_CMDHANDLERINFO
em vez de expedir o comando. Normalmente, esse parâmetro deve ser NULL.
Valor de retorno
Diferente de zero se o evento tiver sido tratado; caso contrário, zero.
Comentários
Substitua essa função para personalizar o processo padrão de tratamento de eventos.
COccManager::PreCreateDialog
Chamado pela estrutura para processar um modelo de caixa de diálogo para controles ActiveX antes de criar a caixa de diálogo real.
virtual const DLGTEMPLATE* PreCreateDialog(
_AFX_OCC_DIALOG_INFO* pOccDialogInfo,
const DLGTEMPLATE* pOrigTemplate);
Parâmetros
pOccDialogInfo
Uma estrutura _AFX_OCC_DIALOG_INFO
que contém informações sobre o modelo de caixa de diálogo e quaisquer controles ActiveX hospedados pela caixa de diálogo.
pOrigTemplate
Um ponteiro para o modelo de caixa de diálogo a ser usado na criação da caixa de diálogo.
Valor de retorno
Um ponteiro para uma estrutura de modelo de caixa de diálogo usada para criar a caixa de diálogo.
Comentários
O comportamento padrão faz uma chamada para SplitDialogTemplate
, determinando se há algum controle ActiveX presente e, em seguida, retorna o modelo de caixa de diálogo resultante.
Substitua essa função para personalizar o processo de criação de uma caixa de diálogo que hospeda controles ActiveX.
COccManager::PostCreateDialog
Chamado pela estrutura para liberar memória alocada para o modelo de caixa de diálogo.
virtual void PostCreateDialog(_AFX_OCC_DIALOG_INFO* pOccDialogInfo);
Parâmetros
pOccDialogInfo
Uma estrutura _AFX_OCC_DIALOG_INFO
que contém informações sobre o modelo de caixa de diálogo e quaisquer controles ActiveX hospedados pela caixa de diálogo.
Comentários
Essa memória foi alocada por uma chamada a SplitDialogTemplate
e foi usada para qualquer controle ActiveX hospedado na caixa de diálogo.
Substitua essa função para personalizar o processo de limpeza de todos os recursos usados pelo objeto da caixa de diálogo.
COccManager::SetDefaultButton
Chame essa função para definir o controle como o botão padrão.
static void AFX_CDECL SetDefaultButton(
CWnd* pWnd,
BOOL bDefault);
Parâmetros
pWnd
Um ponteiro para a janela que contém o controle.
bDefault
Diferente de zero caso o controle deva se tornar o botão padrão; caso contrário, zero.
Valor de retorno
Diferente de zero se bem-sucedido; caso contrário, zero.
Comentários
Observação
O controle deve ter definido o bit de status OLEMISC_ACTSLIKEBUTTON. Para obter mais informações sobre sinalizadores OLEMISC, consulte o tópico OLEMISC no SDK do Windows.
COccManager::SplitDialogTemplate
Chamado pela estrutura para dividir os controles ActiveX dos controles de caixa de diálogo comuns.
virtual DLGTEMPLATE* SplitDialogTemplate(
const DLGTEMPLATE* pTemplate,
DLGITEMTEMPLATE** ppOleDlgItems);
Parâmetros
pTemplate
Um ponteiro para o modelo de caixa de diálogo a ser examinado.
ppOleDlgItems
Uma lista de ponteiros para itens da caixa de diálogo que são controles ActiveX.
Valor de retorno
Um ponteiro para uma estrutura de modelo de caixa de diálogo que contém apenas controles que não são ActiveX. Se nenhum controle ActiveX estiver presente, será retornado NULL.
Comentários
Se algum controle ActiveX for encontrado, o modelo será analisado e um novo modelo, contendo apenas controles que não sejam ActiveX, será criado. Todos os controles ActiveX encontrados durante esse processo são adicionados ao ppOleDlgItems.
Se não houver controles ActiveX no modelo, será retornado NULL .
Observação
A memória alocada para o novo modelo é liberada na função PostCreateDialog
.
Substitua essa função para personalizar esse processo.
Confira também
Gráfico da hierarquia
Classe COleControlSite
Classe COleControlContainer