Compartilhar via


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