Aracılığıyla paylaş


Yardım menüsü birleştirme

Kapsayıcı içinde nesne etkinken Protokolü ole belgeleri birleştirme menüsündeki Nesne denetimini verir Yardım menü.Sürece kullanıcı nesnesi devre dışı bırakır Bu sonuç, konteynerin Yardım konuları kullanılabilir değil.Etkin belgenin içerik mimarisi kuralları yerinde menü konteyner ve Paylaş menüsü etkin etkin bir belge izin vermek için birleştirme için genişler.Sadece ek kuralları menüsü hangi bölümünün hangi bileşen sahibi ve paylaşılan menü nasıl oluşturulur hakkında yeni kurallardır.

Yeni Basit kuraldır.Etkin belge içinde Yardım gibi düzenlenmiş iki üst seviye menü öğeleri menü vardır:

Help

Container Help >

Object Help >

Örneğin, Word bölümünde etkinken Office Ciltçi'de daha sonra Yardım menü görünür şekilde:

Help

Binder Help >

Word Help >

Her iki menü öğesi altında kapsayıcı ve nesnenin belirli ek menü öğeleri kullanıcı tarafından sağlanan basamaklı menülerdir.Öğeleri burada görüntülenecek kabı ve nesneleri değişir söz konusu.

Bu birleştirilmiş oluşturmak için Yardım menüsünde, etkin belgenin içerik mimarisi normal ole belgeleri yordamı değiştirir.ole belgelere göre birleştirilmiş menü çubuğu menüleri, altı grupları gibi olabilir Dosya, düzenleme, kap, Object, Pencere, Yardım, o sipariş.Her grupta menüleri sıfır veya daha fazla olabilir.Grupları Dosya, kap, ve Pencere kapsayıcı ve gruplara ait düzenleme, nesnesi, ve Yardım nesnesine ait.Nesne menüsü birleştirme yapmak istediğinde, boş bir menü çubuğu oluşturur ve konteynere iletir.Kapsayıcı çağırarak ardından alt menüleri ekler IOleInPlaceFrame::InsertMenus.Nesnenin altı UZUN değerler dizisi olan bir yapı da geçirir (OLEMENUGROUPWIDTHS).Menüleri ekledikten sonra kap kaç menü gruplarını ve sonra döndürür her birinde eklenen işaretler.Ardından her kapsayıcı grubunda menüleri sayısı dikkat ödeyerek menülerini nesnesi ekler.Son olarak, nesnenin hangi verir "menü tanımlayıcısı" opak bir tanıtıcı ole için birleştirilmiş bir menü çubuğu ve (her grup menüleri sayısı içeren) bir dizi geçirir.Daha sonra nesne bu işleci ile birleştirilmiş menü çubuğu kapsayıcıya üzerinden geçen IOleInPlaceFrame::SetMenu.Şu anda konteyner birleştirilmiş menü çubuğunu görüntüler ve ole uygun menü iletileri gönderme böylece tutamaç ole için de geçirir.

Değiştirilen etkin belge yordamda nesneyi ilk başlatmak gerekir OLEMENUGROUPWIDTHS öğeleri konteyner geçirmeden önce sıfır.Sonra kabı istisna dışında normal menü ekleme yapar: kapsayıcı ekler bir Yardım menü son öğe olarak ve 1 değeri (altıncı) son giriş saklar OLEMENUGROUPWIDTHS dizi (nesnenin Yardım grubuna ait olduğu, Genişlik [5]).Bu Yardım tek bir maddenin, bir alt menü vardır "kapsayıcı yardımcı >" art arda menü daha önce açıklandığı gibi.

Nesne sonra dışında eklemeden önce normal menü ekleme kodunu yürütür, Yardım menüsünde, altıncı girişini denetler OLEMENUGROUPWIDTHS dizi.Değer 1'dir ve son menünün adını Yardım (veya uygun yerelleştirilmiş dize) nesnesi ekler sonra kendi Yardım konteynerin alt menüsünde Yardım menü.

Nesne altıncı öğesinin ardından ayarlar OLEMENUGROUPWIDTHS sıfır ve beşinci öğe bir artırır.Bu ole biliyor sağlar Yardım menü kapsayıcısına ait olduğu ve bu menü (ve alt menülerinden) karşılık gelen menüyü iletileri konteyner yönlendirilmesi.Konteynerin sorumluluk iletmek için ise WM_INITMENUPOPUP, wm_select, wm_commandve nesnenin bölümüne ait diğer menüsünde ilgili iletileri Yardım menü.Bu kullanılarak gerçekleştirilen WM_INITMENU kapsayıcı nesnenin kullanıcı olup gittiği bildiren bir bayrak temizlemek için Yardım menü.Sonra kabı izler WM_MENUSELECT giriş veya çıkış üzerinde herhangi bir öğeden Yardım konteyner kendisi eklemediniz menü.Girişte, kullanıcı bir nesne menüsünden böylece kapsayıcı "içindeki Yardım menüsünden nesne" bayrağını ayarlar ve o bayrak durumu herhangi iletmek için kullandığı gidilen geldiğini WM_MENUSELECT, WM_INITMENUPOPUP, ve wm_command nesne penceresi için minimum iletileri.(Çıkışta, konteyner bayrağını kaldırır ve kendi aynı bu iletileri işler.) Kapsayıcı nesne döndürülen penceresi kullanması gereken IOleInPlaceActiveObejct::GetWindow bu iletileri için hedef olarak işlev.

Nesne bir sıfır altıncı öğesindeki algılar, OLEMENUGROUPWIDTHS, normal ole belgeleri kurallara göre devam eder.Bu yordam katılma kapları kapsar Yardım desteklemeyenler yanı sıra birleştirme menüsü.

Nesne çağırdığında IOleInPlaceFrame::SetMenu, birleştirilmiş menü çubuğu, kapsayıcı denetimleri olup görüntüleme önce Yardım konteyner ne ekledi yanında ek bir alt menüsü vardır.Böylece kapsayıcı bırakırsa, Yardım birleştirilmiş menü çubuğunda menü.Yardım ek bir alt menü yok, kapsayıcı kaldıracak kendi Yardım birleştirilmiş menü çubuğundan menü.Bu yordam katılan kaplayan Yardım desteklemeyenler yanı sıra birleştirme menüsü.

Son olarak, nesne menüsü ayrıştırmak için zaman olduğunda eklenen kaldırır Yardım diğer kaldırma ek olarak, menü menü eklenmiş.Kapsayıcı menülerini kaldırdığında kaldırmak, Yardım ek olarak eklenmiş menü menü.

Ayrıca bkz.

Kavramlar

Etkin belgeyi kapsayıcılar