Seçim Bağlamı Nesneleri
Visual Studio tümleşik geliştirme ortamı (IDE), IDE'de nelerin görüntüleneceğini belirlemek için genel bir seçim bağlam nesnesi kullanır. IDE'deki her pencerenin genel seçim bağlamına gönderilen kendi seçim bağlamı nesnesi olabilir. IDE, genel seçim bağlamını, odak pencereye geldiğinde bir penceredeki değerlerle güncelleştirir. Daha fazla bilgi için bkz . Kullanıcıya Geri Bildirim.
IDE'deki her pencere çerçevesinin veya sitenin adlı STrackSelectionbir hizmeti vardır. VsPackage'ınız tarafından oluşturulan ve pencere çerçevesinde yer alan nesnenin arabirimine QueryService
bir işaretçi almak için yöntemini çağırması ITrackSelection gerekir.
Çerçeve pencereleri, başlatıldıklarında seçim bağlamı bilgilerinin bölümlerinin genel seçim bağlamlarına yayılmasını engelleyebilir. Bu özellik, boş bir seçimle başlaması gerekebilecek araç pencereleri için kullanışlıdır.
Genel seçim bağlamını değiştirmek VSPackage'ların izleyebilebileceği olayları tetikler. VSPackage'lar ve IVsMonitorSelection arabirimleri uygulayarak IVsTrackSelectionEx
aşağıdaki görevleri gerçekleştirebilir:
Hiyerarşide etkin olan dosyayı güncelleştirin.
Belirli öğe türlerinde yapılan değişiklikleri izleyin. Örneğin, VSPackage'ınız özel bir Özellikler penceresi kullanıyorsa, etkin Özellikler penceresindeki değişiklikleri izleyebilir ve gerektiğinde kendi değişikliklerinizi yeniden başlatabilirsiniz.
Aşağıdaki dizide tipik seçim izleme seyri gösterilmektedir.
IDE, yeni açılan pencereden seçim bağlamını alır ve genel seçim bağlamına yerleştirir. Seçim bağlamı HIERARCHY_DONTPROPAGATE veya SELCONTAINER_DONTPROPAGATE kullanıyorsa, bu bilgiler genel bağlama yayılmaz. Daha fazla bilgi için bkz . Kullanıcıya Geri Bildirim.
Bildirim olayları, bunları isteyen herhangi bir VSPackage'a yayınlanıyor.
VSPackage, hiyerarşiyi güncelleştirme, bir aracı yeniden etkinleştirme veya diğer benzer görevleri gerçekleştirme yoluyla aldığı olaylara göre hareket eder.