2013-07-16 29 views
7

ho applicato uno stile a un'applicazione VCL in Delphi XE2, ma funziona bene, ma sembra che il menu principale ha ignorato lo stile. Vedi l'immagine allegata. È un comportamento normale? enter image description hereDelphi XE2 Stile: Menu principale Ignorato

Qualche consiglio su come applicare lo stile al menu principale?

+3

Sede [ 'questo comment'] (http://theroadtodelphi.wordpress.com/2012/03/06/adding-vcl-styles-support-to-a-tpopupmenu-in-2- linee-di-codice/# comment-1756). Rodrigo suggerisce di usare 'TActionMainMenuBar' invece di' TMainMenu'. Ma ci sarà presto o tardi qui con la risposta, direi :-) – TLama

risposta

10

Questa è una limitazione del gancio Style TMainMenuBarStyleHook Vcl. L'approccio normale per risolvere questo tipo di problema è creare e registrare nuovi gancio TMainMenu stile, ma purtroppo questo gancio Style VCL è utilizzato internamente dal (il gancio stile VCL delle forme) TFormStyleHook, quindi questo richiede che si crea un nuovo modulo anche il gancio di stile e questo implica molto lavoro.

Quindi il mio suggerimento è sostituire lo TMainMenu per un componente TActionMainMenuBar che funziona molto bene con gli stili vcl.

enter image description here

+0

forse puoi usare patch in memoria invece di ricreare il modulo hook da zero? –

+1

In questo caso particolare, l'applicazione di patch in modalità di memoria mediante una deviazione richiederà uno sforzo simile rispetto alla scrittura di Vcl Style Hook da zero. – RRUZ

Problemi correlati