UI Otomasyon Öğelerinden Özellikleri Alma
IUIAutomationElement nesnelerindeki özellikler, genellikle denetimler olan ui öğeleri hakkında bilgi içerir. Bir öğenin özellikleri geneldir; yani, denetim türüne özgü değildir. Bir öğenin denetime özgü özellikleri, denetim deseni arabirimleri tarafından kullanıma sunulur.
Microsoft UI Otomasyonu özellikleri salt okunurdur. Denetimin özelliklerini ayarlamak için uygun denetim deseninin yöntemlerini kullanmanız gerekir. Örneğin, kaydırma penceresinin konum değerlerini değiştirmek için IUIAutomationScrollPattern::Scrollkullanın.
Performansı geliştirmek için, öğeler alındığında denetimlerin ve denetim desenlerinin özellik değerleri önbelleğe alınabilir. Daha fazla bilgi için bkz. Önbelleğe Alma UI Otomasyonu Özellikleri ve Denetim Desenleri.
Bu konu aşağıdaki bölümleri içerir.
Özellik Kimlikleri
Özellik tanımlayıcıları Uiautomationclient.h içinde tanımlanır. Bunlar, özellik değiştirilen olaylara abone olduğunuzda, özellik değerlerini aldığınızda ve özellik koşulları oluştururken özellikleri belirtmek için kullanılır. Özellik tanımlayıcıları ayrıca IUIAutomationPropertyChangedEventHandler::HandlePropertyChangedEvent çağrıldığında değiştirilen özelliği de tanımlar.
UI Otomasyonu özellik tanımlayıcılarının listesi için bkz. Özellik Tanımlayıcıları.
Mülk Koşulları
Özellik kimlikleri, UI Otomasyonu öğelerini bulmak için kullanılan IUIAutomationPropertyCondition nesneleri oluşturmak için kullanılır. Örneğin, belirli bir isme sahip bir öğeyi veya etkin durumdaki tüm denetimleri bulmak isteyebilirsiniz. Her özellik koşulu bir özellik tanımlayıcısı ve özelliğin eşleşmesi gereken değeri belirtir.
Daha fazla bilgi için aşağıdaki başvuru konularına bakın:
- IUIAutomation::CreatePropertyCondition
- IUIAutomation::CreatePropertyConditionEx
- IUIAutomationElement::FindFirst
- IUIAutomationElement::FindAll
Özellikleri Alma
Bazı genel özellikler ve tüm denetim deseni özellikleri, IUIAutomationElement veya denetim desen arabiriminde özellikler olarak kullanılabilir ve IUIAutomationElement::CurrentName veya CachedDockPositiongibi bir erişimci kullanılarak alınabilir.
Ayrıca, geçerli veya önbelleğe alınmış tüm özellikler (denetim düzeni özellikleri dışında) aşağıdaki yöntemlerden biri kullanılarak alınabilir:
Bu yöntemler biraz daha iyi performans ve tüm özelliklere erişim sunar. Ancak değerler VARIANT yapılarında döndürülürken, her bir özellik erişicisi değeri uygun türe dönüştürür.
Varsayılan Özellik Değerleri
UI Otomasyonu sağlayıcısı bir özellik uygulamazsa, UI Otomasyonu varsayılan bir değer sağlayabilir. Örneğin, bir denetimin sağlayıcısı UIA_HelpTextPropertyIdtarafından tanımlanan özelliği desteklemiyorsa, UI Otomasyonu boş bir dize döndürür. Benzer şekilde, sağlayıcı UIA_IsDockPatternAvailablePropertyIdtarafından tanımlanan özelliği desteklemiyorsa, UI Otomasyonu FALSE döndürür.
IUIAutomationElement::GetCurrentPropertyValue ile GetCurrentPropertyValueEx(ve benzer yöntem çiftleri arasında)arasındaki fark, "Ex" yönteminin hiçbir varsayılan değer döndürülmeyecek şekilde belirtebileceğidir. Bu durumda, dönüş değeri özelliğin desteklenmediğini gösteren özel bir benzersiz sabittir. Bu değeri aldıktan sonra, uygulama kendi değerini sağlayabilir veya yalnızca özelliğini yoksayabilir.
İlgili konular