Sahibi çizilmiş açılan kutular

Bir uygulama, bir sahibi çizilmiş açılan kutunun liste öğeleri boyama için sorumluluk almaya oluşturabilirsiniz. Açılan kutuyu bir kısmını boyanması gerektiğinde bir sahibi çizilmiş açılan kutu ( sahibi) üst pencereyi veya iletişim kutusunu WM_DRAWITEM iletileri alır. Bir sahibi çizilmiş açılan kutu bilgi farklı veya ek olarak, metin dizelerini listeleyebilirsiniz. Sahibi çizilmiş açılan kutuları herhangi bir türü olabilir. Aşağı açılan liste kutusundaki seçimi alanın sahibi boyalar ise ancak basit ya da açılan açılan kutu düzenleme denetimine yalnızca metin görüntüleyebilirsiniz.

Bir sahibi çizilmiş açılan kutunun sahibini WM_DRAWITEM ileti işleme gerekir. Açılan kutu bir kısmını yeniden çizilmesi gerekir her bu mesajı gönderilir. Sahibi, Birleşik giriş kutusu için belirtilen stilleri bağlı diğer iletileri işlemek gerekebilir.

Uygulama, CBS_OWNERDRAWFIXED ya da CBS_OWNERDRAWVARIABLE stili belirterek bir sahibi çizilmiş Birleşik giriş kutusu oluşturabilirsiniz. Açılan kutudaki tüm liste öğeleri aynı yükseklikte, dizeler veya simgeler gibi uygulama CBS_OWNERDRAWFIXED stili kullanabilirsiniz. Liste öğeleri değişen yüksekliği, farklı boyutta, bit eşlemler, bir uygulama CBS_OWNERDRAWVARIABLE stilini kullanabilirsiniz.

Bir sahibi çizilmiş açılan kutunun sahibini, Birleşik giriş kutusunda liste öğelerinin boyutlarını belirtmek için WM_MEASUREITEM ileti işleyebilir. Uygulama, CBS_OWNERDRAWFIXED stilini kullanarak bir açılan kutu oluşturur, sistem WM_MEASUREITEM iletinin yalnızca bir kez gönderir. Sahibi tarafından belirtilen boyutlar tüm liste öğeleri için kullanılır. CBS_OWNERDRAWVARIABLE stili kullanılıyorsa, sistem Birleşik giriş kutusuna eklenen her liste öğesi için bir WM_MEASUREITEM iletisi gönderir. Sahibi belirlemek veya bir liste öğesinin yüksekliği her zaman CB_GETITEMHEIGHT ve CB_SETITEMHEIGHT mesajlar, sırasıyla ayarlamak için.

Bir sahibi çizilmiş açılan kutuda görüntülenen bilgiler metin içeriyorsa, uygulama her öğenin metnini CBS_HASSTRINGS stili belirterek takip edebilirsiniz. Açılan kutular cbs_sort tarzı ile bu metne göre sıralanır. Açılan kutu sıralanır ve CBS_HASSTRINGS tarzı değil, sahibi WM_COMPAREITEM iletiyi işlemek gerekir.

Bir sahibi çizilmiş açılan kutuda sahibi metin farklı veya ek bilgi içeren liste öğeleri izlemek gerekir. Bunu yapmak için bir tanıtıcı bilgileri öğe veri olarak kaydetmek için yoludur. Öğe verileri hakkında daha fazla bilgi için bkz: Liste öğeleri ile ilişkili veri. Sahibi WM_DELETEITEM ileti işleme açılan kutudaki öğeleriyle ilişkilendirilmiş veri nesneleri açmak için.

Bir sahibi çizilmiş açılan kutu örneği için bkz: bir Owner-Drawn açılan kutu oluşturma.

Index