Para exibir corretamente o conteúdo de um objeto de snap-in, você precisa enumerar os itens de filho do objeto, caso elas existam. O melhor lugar para esta modificação é no Notify Método da classe de dados snap-in (nesta discussão, CSnapNameData ).
&Notanbsp; A classe de dados snap-in é derivada de CSnapInItemImpl.
Por padrão, o Assistente de objeto ATL cria um manipulador para esta notificação. Nesse manipulador, você precisará modificar o actual switch instrução para lidar com o MMCN_EXPAND e MMCN_SHOW notificações.
O MMCN_EXPAND notificação é enviada quando a pasta de snap-in do objeto precisa ser expandido ou contraído. Nesse caso, você só precisa enumerar os itens do painel de escopo. Essa enumeração é feita case instrução para a notificação MMCN_EXPAND.
Para inserir os itens de painel de escopo, primeiro recuperar o IConsoleNameSpace de interface para o objeto snap-in e, em seguida, chamar o método InsertItem . O código a seguir demonstra recuperação das interfaces necessárias
CComQIPtrlt; IConsoleNameSpace,
& IID_IConsoleNameSpace > spConsoleNameSpace(pConsole);
/ / TODO: enumerar itens do painel de escopo com uma função definida pelo usuário
O MMCN_SHOW notificação é enviada quando um item é selecionado ou de-selected pela primeira vez. Essa enumeração é feita case instrução para a notificação de MMCN_SHOW . Ao contrário da notificação de MMCN_EXPAND , você deve enumerar os itens do painel de resultados e os itens do painel de escopo.
Em primeiro lugar, enumerar os itens de escopo, recuperando o IConsoleNameSpace interface para o objeto snap-in e, em seguida, chamar o método InsertItem . Depois de ter enumerado os itens do painel de escopo, faça o mesmo com o resultado itens do painel de recuperando o interface IResultData e fazer uma chamada para InsertItem.
CComQIPtrlt; IConsoleNameSpace,
& IID_IConsoleNameSpace > spConsoleNameSpace(pConsole);
/ / TODO: enumerar itens do painel de escopo com uma função definida pelo usuário
CComQIPtr < IResultData & IID_IResultData > spResultData(pConsole);
/ / TODO: enumerar os itens do painel de resultados com uma função definida pelo usuário