Partilhar via


Classe COccManager

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.

Gere vários locais de controlo personalizados; implementado por COleControlContainer objetos AND COleControlSite .

Sintaxe

class COccManager : public CNoTrackObject

Membros

Métodos Públicos

Nome Description
COccManager::CreateContainer Cria um COleContainer objeto.
COccManager::CreateDlgControls Cria controlos ActiveX, alojados pelo objeto associado COleContainer .
COccManager::CreateSite Cria um COleClientSite objeto.
COccManager::GetDefBtnCode Recupera o código do botão padrão.
COccManager::IsDialogMessage Determina o destino de uma mensagem de diálogo.
COccManager::IsLabelControl Determina se o controlo especificado é um controlo de rótulo.
Gestor do COcc::ÉEmparelhadoMnemónico Determina se o mnemónico atual corresponde ao mnemónico do controlo especificado.
COccManager::OnEvent Tenta lidar com o evento especificado.
COccManager::P ostCreateDialog Liberta recursos alocados durante a criação do diálogo.
COccManager::P reCreateDialog Processa um modelo de diálogo para controlos ActiveX.
COccManager::SetDefaultButton Alterna o estado padrão do controlo especificado.
COccManager::SplitDialogTemplate Separa quaisquer controlos ActiveX existentes dos controlos comuns no modelo de diálogo especificado.

Observações

A classe base, CNoTrackObject, é uma classe base não documentada (localizada no AFXTLS. H). Concebidas para utilização pelo framework MFC, as classes derivadas da CNoTrackObject classe estão isentas da deteção de fugas de memória. Não é recomendado que derive diretamente de CNoTrackObject.

Hierarquia de herança

CNoTrackObject

COccManager

Requerimentos

Cabeçalho: afxocc.h

COccManager::CreateContainer

Chamado pelo framework para criar um contentor de controlo.

virtual COleControlContainer* CreateContainer(CWnd* pWnd);

Parâmetros

pWnd
Um ponteiro para o objeto janela associado ao contentor personalizado do site.

Valor de retorno

Um apontador para o contentor recém-criado; caso contrário, NULL.

Observações

Para mais informações sobre como criar sites personalizados, consulte COleControlContainer::AttachControlSite.

COccManager::CreateDlgControls

Chame esta função para criar controlos 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 apontador para o pai do objeto de diálogo.

lpszResourceName
O nome do recurso que está a ser criado.

pOccDialogInfo
Um ponteiro para o modelo de diálogo usado para criar o objeto de diálogo.

lpResource
Um indicador para um recurso.

Valor de retorno

Não nulo se o controlo foi criado com sucesso; caso contrário, zero.

COccManager::CreateSite

Chamado pelo framework para criar um site de controlo, alojado pelo contentor apontado por pCtrlCont.

virtual COleControlSite* CreateSite(COleControlContainer* pCtrlCont);

Parâmetros

pCtrlCont
Um ponteiro para o contentor de controlo que aloja o novo site de controlo.

Valor de retorno

Um apontador para o local de controlo recém-criado.

Observações

Sobrescrita esta função para criar um site de controlo personalizado, usando a tua classe derivada do COleControlSite.

Cada contentor de controlo pode alojar vários locais. Crie sites adicionais com múltiplas chamadas para CreateSite.

COccManager::GetDefBtnCode

Chame esta função para determinar se o controlo é um botão de pressão padrão.

static DWORD AFX_CDECL GetDefBtnCode(CWnd* pWnd);

Parâmetros

pWnd
O objeto janela que contém o controlo do botão.

Valor de retorno

Um dos seguintes valores:

  • DLGC_DEFPUSHBUTTON Control é o botão padrão no diálogo.

  • DLGC_UNDEFPUSHBUTTON Control não é o botão padrão no diálogo.

  • O 0 Control não é um botão.

COccManager::IsDialogMessage

Chamada pelo framework 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 apontador para o diálogo alvo pretendido da mensagem.

lpMsg
Um apontador para uma MSG estrutura que contém a mensagem a verificar.

Valor de retorno

Não nula se a mensagem for processada; caso contrário, zero.

Observações

O comportamento padrão de IsDialogMessage é verificar as mensagens do teclado e convertê-las em seleções para a correspondente caixa de diálogo. Por exemplo, a tecla TAB, quando pressionada, seleciona o próximo controlo ou grupo de controlos.

Substitua esta função para fornecer um comportamento personalizado para mensagens enviadas para o diálogo especificado.

COccManager::IsLabelControl

Chame esta função para determinar se o controlo especificado é um controlo 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 controlo.

Valor de retorno

Não nulo se o controlo for uma etiqueta; caso contrário, zero

Observações

Um controlo de etiqueta é aquele que atua como um rótulo para o controlo que vem a seguir na ordem.

Gestor do COcc::ÉEmparelhadoMnemónico

Chame esta função para determinar se o mnemónico atual corresponde ao representado pelo controlo.

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 controlo.

lpMsg
Um apontador para a mensagem contendo o mnemónico para corresponder.

Valor de retorno

Não nulo se o mnemónico corresponder ao controlo; caso contrário, zero

Observações

COccManager::OnEvent

Chamado pelo framework para gerir o evento especificado.

virtual BOOL OnEvent(
    CCmdTarget* pCmdTarget,
    UINT idCtrl,
    AFX_EVENT* pEvent,
    AFX_CMDHANDLERINFO* pHandlerInfo);

Parâmetros

pCmdTarget
Um apontador para o CCmdTarget objeto que tenta gerir o evento

idCtrl
O ID do recurso do controlo.

pEvent
O evento a ser tratado.

pHandlerInfo
Se não for NULL, OnEvent preenche os pTarget membros e pmf da AFX_CMDHANDLERINFO estrutura em vez de despachar o comando. Normalmente, este parâmetro deve ser NULL.

Valor de retorno

Diferente de zero se o evento foi tratado, caso contrário zero.

Observações

Substitua esta função para personalizar o processo padrão de gestão de eventos.

COccManager::P reCreateDialog

Chamado pelo framework para processar um modelo de diálogo para controlos ActiveX antes de criar a caixa de diálogo propriamente dita.

virtual const DLGTEMPLATE* PreCreateDialog(
    _AFX_OCC_DIALOG_INFO* pOccDialogInfo,
    const DLGTEMPLATE* pOrigTemplate);

Parâmetros

pOccDialogInfo
Uma _AFX_OCC_DIALOG_INFO estrutura contendo informação sobre o template de diálogo e quaisquer controlos ActiveX alojados pelo diálogo.

pOrigTemplate
Um ponteiro para o modelo de diálogo a ser usado na criação da caixa de diálogo.

Valor de retorno

Um apontador para uma estrutura de modelo de diálogo usada para criar a caixa de diálogo.

Observações

O comportamento predefinido faz uma chamada para SplitDialogTemplate, determinando se existem controlos ActiveX presentes e depois devolve o modelo de diálogo resultante.

Substitua esta função para personalizar o processo de criação de uma caixa de diálogo que aloja controlos ActiveX.

COccManager::P ostCreateDialog

Chamado pela framework para libertar a memória alocada ao template de diálogo.

virtual void PostCreateDialog(_AFX_OCC_DIALOG_INFO* pOccDialogInfo);

Parâmetros

pOccDialogInfo
Uma _AFX_OCC_DIALOG_INFO estrutura contendo informação sobre o template de diálogo e quaisquer controlos ActiveX alojados pelo diálogo.

Observações

Esta memória era alocada por uma chamada para SplitDialogTemplate, e era usada para quaisquer controlos ActiveX alojados na caixa de diálogo.

Substitua esta função para personalizar o processo de limpeza de quaisquer recursos usados pelo objeto da caixa de diálogo.

COccManager::SetDefaultButton

Chama esta função para definir o controlo como botão predefinido.

static void AFX_CDECL SetDefaultButton(
    CWnd* pWnd,
    BOOL bDefault);

Parâmetros

pWnd
Um ponteiro para a janela que contém o controlo.

bPadrão
Diferente de zero se o controlo deveria tornar-se o botão padrão; caso contrário, zero.

Valor de retorno

Não nulo se for bem-sucedido; caso contrário, zero.

Observações

Observação

O controlo deve ter o bit de estado OLEMISC_ACTSLIKEBUTTON definido. Para mais informações sobre flags OLEMISC, consulte o tópico OLEMISC no SDK do Windows.

COccManager::SplitDialogTemplate

Chamado pelo framework para separar os controlos ActiveX dos controlos de diálogo comuns.

virtual DLGTEMPLATE* SplitDialogTemplate(
    const DLGTEMPLATE* pTemplate,
    DLGITEMTEMPLATE** ppOleDlgItems);

Parâmetros

pTemplate
Um apontador para o modelo de diálogo a examinar.

ppOleDlgItems
Uma lista de apontadores para itens de caixas de diálogo que são controlos ActiveX.

Valor de retorno

Um ponteiro para uma estrutura de template de diálogo contendo apenas controlos não ActiveX. Se não houver controlos ActiveX presentes, o NULL é devolvido.

Observações

Se forem encontrados controlos ActiveX, o modelo é analisado e criado um novo modelo, contendo apenas controlos não ActiveX. Quaisquer controlos ActiveX encontrados durante este processo são adicionados ao ppOleDlgItems.

Se não existirem controlos ActiveX no modelo, NULL é devolvido .

Observação

A memória alocada para o novo template é libertada na PostCreateDialog função.

Desative esta função para personalizar este processo.

Consulte também

Gráfico de Hierarquia
Classe COleControlSite
Classe COleControlContainer