Varsa düzgün bir ek nesnesinin içeriğini görüntülemek için nesnesinin alt öğeleri numaralandırmak gerekir. Ek veri sınıfının Notify yöntemi bu değişiklik için en iyi yerdir (Bu tartışmada, CSnapNameData ).
&Notnbsp; Ek veri sınıfı CSnapInItemImpl türetilmiştir.
Varsayılan olarak, bu bildirim için bir işleyici için atl nesne sihirbaz oluşturur. Bu işleyici, mevcut değiştirmenize gerek switch ifadesini işlemek için mmcn_expand ve mmcn_show bildirim.
mmcn_expand bildirim nesnesi ek klasör genişletilebilir veya anlaşmalı gerektiğinde gönderilir. Bu durumda, yalnızca kapsamı bölmesindeki öğeleri numaralandırmak. Bu numaralandırma yapılır case mmcn_expand bildirim deyimi.
Kapsamı bölmesindeki öğeleri eklemek için öncelikle almak IConsoleNameSpace arabirim için ek nesne ve ardından arama InsertItem yöntemi. Aşağıdaki kod, alınmasını gerekli arabirimleri gösterir.
CComQIPtrlt; IConsoleNameSpace,
& IID_IConsoleNameSpace > spConsoleNameSpace(pConsole);
/ / todo: kullanıcı tanımlı bir işlev ile kapsam bölmesinde öğeleri numaralandır
Bir öğe seçildiğinde veya ilk defa de-selected mmcn_show bildirim gönderilir. Bu numaralandırma yapılır case mmcn_show bildirim deyimi. mmcn_expand bildirim, kapsam bölmesinde öğeler ve sonuç bölmesindeki öğeleri numaralandırmak gerekir.
Öncelikle, alarak kapsam öğeleri numaralandırmak IConsoleNameSpace arayüzü ek nesne ve ardından arama için InsertItem yöntemi. Kapsam bölmesinde öğelerin numaralandırılmış sonra sonuç bölmesi öğeleri alarak yapmak ayni IResultData arabirimi ve arama InsertItem.
CComQIPtrlt; IConsoleNameSpace,
& IID_IConsoleNameSpace > spConsoleNameSpace(pConsole);
/ / todo: kullanıcı tanımlı bir işlev ile kapsam bölmesinde öğeleri numaralandır
CComQIPtr < IResultData & IID_IResultData > spResultData(pConsole);
/ / todo: kullanıcı tanımlı bir işlev sonuç bölmesindeki öğeleri numaralandır