Come unire i TMainMenu che utilizzano liste di immagini separate e conservare le immagini corrette per ciascuna voce di menu?

StackOverflow https://stackoverflow.com/questions/152405

  •  02-07-2019
  •  | 
  •  

Domanda

Ho un programma con due classi TForm e ho aggiunto un TMainMenu a ciascuna di esse. Sto quindi cercando di unirli dinamicamente in fase di esecuzione.

Il mio problema è che quando uniscono le voci di menu nella fusione in TMainMenu ora visualizzano le immagini memorizzate nell'immaginista nella forma in cui sono state unite anziché le immagini memorizzate nell'immaginista della loro forma originale.

Sto facendo qualcosa di sbagliato? c'è un modo per aggirare in modo che le voci di menu continuino a utilizzare l'immaginista nella forma da cui provengono?

Uso il modulo unito in una serie di progetti, altrimenti avrebbe senso una sola immaginista condivisa.

Se ho bisogno di chiarire qualcosa, per favore, dica.

Grazie

Peter

È stato utile?

Soluzione

Il modo in cui lo gestisco è di avere un unico elenco di immagini su un modulo dati, quindi includerlo in ogni modulo in modo che possano condividere quel singolo set di icone.

Altri suggerimenti

Ho avuto esattamente lo stesso problema qualche tempo fa, ma ho anche incontrato altri problemi di unione dei menu perché la mia app era MDI, quindi ho deciso di fare le cose in un modo completamente diverso.

Quello che potresti provare, tuttavia, è aggiungere dinamicamente le immagini di un modulo alla ImageList dell'altro modulo e 'reindirizzare' gli ImageIndex . Potrebbe essere un po 'complicato, ma dovrebbe funzionare.

Quello che alla fine ho finito è usare il pacchetto Toolbar2000 per tutti i miei menu e barre degli strumenti. Puoi quindi scaricare un codice molto carino, chiamato TB2Merge , che fa esattamente quello che vuoi. Utilizza inoltre alcune delle infrastrutture di Toolbar2000 per collegare l'immagine di una voce di menu a una diversa TImageList --- infrastruttura che non è presente nel TMainMenu di VCL. Leggi attentamente la documentazione di TB2Merge!

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top