2013-07-16 32 views
7

Delphi XE2'de bir VCL uygulamasına stil uygulamam var ama Tamam çalışıyor, ancak ana menü stili göz ardı ediyor gibi görünüyor. Ekli görüntüye bakınız. Bu normal bir davranış mı? enter image description hereDelphi XE2 Style: Ana Menü Yok Sayıldı

Stili ana menüye uygulama konusunda herhangi bir öneriniz var mı?

+3

bakınız [ 'Bu comment'] (http://theroadtodelphi.wordpress.com/2012/03/06/adding-vcl-styles-support-to-a-tpopupmenu-in-2- hatlar-of-kodu/# comment-1756). Rodrigo, "TMainMenu" yerine "TActionMainMenuBar" kullanılmasını önerir. Ama yakında ya da daha sonra cevabın yanında olacağım, :-) – TLama

cevap

10

Bu, TMainMenuBarStyleHook Vcl Stil kancasının bir sınırlamasıdır. Bu tür bir sorunu gidermek için normal yaklaşım, yeni TMainMenu Stil kanca oluşturup kaydettirir, ancak maalesef bu Vcl Style kancası, dahili olarak TFormStyleHook (formların vcl stili kancası) tarafından kullanılır, dolayısıyla bu, yeni bir form oluşturmanızı gerektirir tarzı kanca da bu çok iş gerektirir.

Bu nedenle önerim, vcl stillerine çok iyi çalışan bir TActionMainMenuBar bileşeni için TMainMenu'un yerine geçmiştir.

enter image description here

+0

derim ki, sıfırdan form kancasını yeniden oluşturmak yerine bellek içi yama kullanabilirsin? –

+1

Bu özel durumda, yöntemi bir yoldan sapma kullanarak belleğe yayarak Vcl Stil Kancasını sıfırdan yazmaktan benzer bir çaba gerektirir. – RRUZ

İlgili konular