Sahibi çizilmiş menüleri ve WM_DRAWITEM mesaj

Her öğeyi (örneğin, ilk görüntülendiğinde veya kullanıcı seçtiğinde) çizilmiş olması, sistemin menünün sahibi penceresinin pencere yordamı WM_DRAWITEM iletisi gönderir. Bu ileti, uygulama için atamış olduğunuz öğe verileri de dahil olmak üzere öğe hakkındaki bilgileri içeren bir DRAWITEMSTRUCT yapısını gösteren bir işaretçi içerir. Ayrıca, DRAWITEMSTRUCT gibi sınırlayıcı dikdörtgeni ve madde çizmek için uygulamanın kullandığı bir aygıt içeriğini (örneğin, ister o gri veya işaretlendiği) öğenin durumunu gösteren işaretler içerir.

Bir uygulama WM_DRAWITEM iletisini işlerken aşağıdakileri yapmanız gerekir:

  1. Gerekli çizim türünü belirleyin. Bunu yapmak için DRAWITEMSTRUCT yapısı itemAction üyesi denetleyin.
  2. Menü öğesini uygun şekilde, DRAWITEMSTRUCT yapıdan elde sınırlayıcı dikdörtgeni ve aygıt bağlamını kullanarak çizin. Uygulama içinde yalnızca sınırlayıcı dikdörtgeni çizmek gerekir. Performansı düşürmemek için dikdörtgen dışında çekilen görüntünün kısımlarını sistem küçük değil.
  3. Menü öğesinin aygıt içeriği için seçilen tüm GDI nesneleri geri yükleme.

Kullanıcı menü öğesini seçerse, sistem DRAWITEMSTRUCT yapısı itemAction üyesi oda_select değerine ayarlar ve itemState üye ods_selected değerini ayarlar. Bu menü öğesinin seçili olduğunu göstermek için yeniden çizmek için bir uygulamanın ipucudur.

Index