Aracılığıyla paylaş


Kapsayıcılar: İstemci Öğesi Durumları

Bu makalede, bir istemci öğesinin kullanım ömrü boyunca geçtiği farklı durumlar açıklanmaktadır.

İstemci öğesi oluşturulduktan, etkinleştirildiğinde, değiştirildiğinde ve kaydedildikçe birkaç durumdan geçer. Öğenin durumu her değiştiğinde, çerçeve OLE_CHANGED_STATE bildirimiyle COleClientItem::OnChange'içağırır. İkinci parametre, numaralandırmadaki COleClientItem::ItemState bir değerdir. Şunlardan biri olabilir:

  • COleClientItem::emptyState

  • COleClientItem::loadedState

  • COleClientItem::openState

  • COleClientItem::activeState

  • COleClientItem::activeUIState

Boş durumda, istemci öğesi henüz tamamen bir öğe değildir. Bellek için ayrılmış, ancak ole öğesinin verileriyle henüz başlatılmamış. Bu, bir istemci öğesinin çağrısı new aracılığıyla oluşturulduğu ancak tipik iki adımlı oluşturma işleminin ikinci adımına henüz geçmediği durumdur.

İkinci adımda, bir çağrısı COleClientItem::CreateFromFile veya başka CreateFrombir xxxx işlevi aracılığıyla gerçekleştirilir, öğe tamamen oluşturulur. OLE verileri (bir dosyadan veya Pano gibi başka bir kaynaktan) türetilmiş nesneyle COleClientItemilişkilendirilmiştir. Artık öğe yüklü durumda.

Bir öğe kapsayıcının belgesinde yerinde açılmak yerine sunucunun penceresinde açıldığında, açık (veya tamamen açık) durumda olur. Bu durumda, öğenin başka bir yerde etkin olduğunu belirtmek için genellikle kapsayıcı penceresindeki öğenin gösteriminin üzerine çapraz tarama çizilir.

Bir öğe yerinde etkinleştirildiğinde, genellikle yalnızca kısa bir süre boyunca etkin durumdan geçer. Ardından, sunucunun menülerini, araç çubuklarını ve diğer kullanıcı arabirimi bileşenlerini kapsayıcının bileşenleriyle birleştirdiği kullanıcı arabirimi etkin durumunu girer. Bu kullanıcı arabirimi bileşenlerinin varlığı, kullanıcı arabirimi etkin durumunu etkin durumdan ayırır. Aksi takdirde, etkin durum kullanıcı arabirimi etkin durumuna benzer. Sunucu Geri Al'ı destekliyorsa, yüklenen veya açık duruma ulaşana kadar OLE öğesinin geri alma durumu bilgilerini tutmak için sunucu gereklidir.

Ayrıca bkz.

Konteynerler
Etkinleştirme
Kapsayıcılar: İstemci Öğesi Bildirimleri
İzleyiciler
CRectTracker Sınıfı