Sahibi çizilmiş bayrağı ayarlama

Uygulamanızın kaynak tanımlama dosyasındaki sahibi çizilmiş bir menüde tanımlayamazsınız. Bunun yerine, yeni bir menü öğesi oluşturmak veya mft_ownerdraw menü bayrağını kullanarak varolan bir değiştirmeniz gerekir.

Sen-ebilmek kullanma InsertMenuItem ya da SetMenuItemInfo sahibi çizilmiş bir menüde belirtmek için işlev. Bir menü çubuğu veya menü belirtilen konumda yeni bir menü öğesi eklemek için InsertMenuItem kullanın. Menü içeriğini değiştirmek için SetMenuItemInfo kullanın.

Bu iki işlev çağrılırken, yeni bir menü öğesi özelliklerini veya varolan bir menü öğesi için değiştirmek istediğiniz özellikleri veren bir MENUITEMINFO yapısı, adresini belirtmeniz gerekir. Bir hale getirmek için sahibi çizilmiş bir madde, belirtmek MIIM_TYPE değeri fMask üye ve mft_ownerdraw değeri için fType üye için.

MENUITEMINFO yapısına uygun üyeleri belirleyerek, öğe veriolarak adlandırılan bir uygulama tanımlı değeri, her bir menü öğesi ile ilişkilendirebilirsiniz. Bunu yapmak için MIIM_DATA değerini fMask üye ve uygulama tanımlı değer için dwItemData üye için belirtin.

Menü öğesinin her tür madde verileri kullanabilirsiniz, ancak sahibi çizilmiş öğeleri için özellikle yararlıdır. Diyelim bir yapı bir menü öğesine çekmek için kullanılan bilgileri içerir. Uygulama için bir menü öğesi öğe veri yapısı için işaretçi depolamak için kullanabilirsiniz. Öğe verileri menünün sahibi penceresi ile WM_MEASUREITEM ve WM_DRAWITEM iletileri gönderilir. Herhangi bir zamanda bir menü öğesi veri almak için GetMenuItemInfo işlevini kullanın.

Sistem önceki sürümleri için yazılmış uygulamaların döndürmesini, InsertMenuya da ModifyMenu bir sahibi çizilmiş menü öğesine mf_ownerdraw bayrak atamak için devam edebilirsiniz.

Bu üç işlevlerden herhangi birini aradığınızda, 32 bitlik bir değer lpNewItem parametre olarak geçirebilirsiniz. Bu değer, uygulamanız için anlamlı ve görüntülenecek öğe olduğunda uygulamanız için kullanılabilir olacak herhangi bir bilgi temsil edebilir. Örneğin, değer bir yapısı için işaretçi içerebilir; yapısı, sırayla, metin dizesi ve uygulamanızın dize çizmek için kullanacak mantıksal bir yazı tipi için tanıtıcı içerebilir.

Index