[Delphi] Creare un menu tipo Office

Per creare un menu di un’applicazione si possono seguire due strade, la più semplice è quella di inserire un TMainMenu, presente fra i componenti Standard di Delphi e l’altra è quella di utilizzare il componente TActionManager, presente fra i componenti Additional sempre di Delphi, creando così un menu tipo Office 2000.

Avviamo Delphi, creiamo un nuovo progetto, salviamolo con il nome desiderato, successivamente selezioniamo TActionManager fra i componenti della palette Additional ed inseriamone uno sulla  form del nostro progetto, facciamo doppio click sul componente appena posizionato, ci apparirà una finestra relativa alla modifica dell’ActionManager, controlliamo se ci troviamo sulla palette Actions, altrimenti selezioniamola e clicchiamo su Nuova azione; nel box relativo alle azioni verrà creata una nuova azione dal nome Action1.

Il tipo di menu che stiamo creando verrà suddiviso per categore e sarà il testo che inseriremo nel menu principale.

Controlliamo che nell’Object Inspector sia selezionato Action1, dopo di che digitiamo, nel campo relativo alla categoria dell’Object Inspector, il nome della categoria che vogliamo creare, esempio File, diamo invio e ci apparirà la nuova categoria contenente l’azione che avevamo creato precedentemente.

Selezioniamo Action1, andiamo nell’Object Inspector e cambiamo la caption dell’azione, digitiamo Apri; dopo di che verifichiamo che la proprietà Enabled sia su true, altrimenti la voce del menu apparirà disattivata, a questo punto cambiamo il testo riportato nel campo Name, digitiamo Apri1.

Assicuriamoci che la categoria File sia selezionata e creiamo una seconda azione, assegnamogli come nome Chiudi1 e caption Chiudi.

Selezioniamo ed inseriamo un componente di tipo TActionMainMenuBar, facciamo doppio click sul TActionManager, selezioniamo e trasciniamo la categoria da noi creata sul TActionMainMenuBar; vediamo che verrà creato un menu a discesa dal titolo File contenente i pulsanti che abbiamo creato precedentemente.

Nel caso in cui clicchiamo sulla voce File, sia direttamente nell’ambiente di sviluppo, sia dopo aver compilato ed avviato la nostra applicazione, possiamo notare che le voci del menu sono disabilitate, questo perchè non abbiamo ancora provveduto ad inserire il codice relativo alle azioni che i nostri pulsanti dovranno compiere.

Ritorniamo all’ambiente di sviluppo, clicchiamo su File, selezioniamo la voce Apri e nell’Object Inspector andiamo nella palette degli eventi, esplodiamo la voce Action cliccando sul segno + ed in OnExecute effettuiamo un doppio click, verrà generata la relativa procedura nella quale andiamo ad inserire il codice dell’azione, in questo caso faremo visualizzare un messaggio:

  ShowMessage(’Attenzione! Hai cliccato sul pulsante Apri.’);

Stessa cosa facciamo con il pulsante chiudi, quindi, nel caso in cui il menu file si sia chiuso, clicchiamo su File, selezioniamo la voce Chiudi e nell’Object Inspector andiamo negli eventi, esplodiamo la voce Action cliccando sul segno + ed in OnExecute effettuiamo un doppio click, anche in questo caso verrà generata la relativa procedura e possiamo inserire l’azione per chiudere l’applicazione, quindi:

  Close;

A questo punto mascheriamo momentaneamente alcuni elementi del menu, facendo apparire due piccole frecce rivolte verso il basso; clicchiamo quindi sul menu e selezioniamo il primo elemento, impostiamo la proprietà UsageCount a -1 in modo da renderlo visibile, successivamente selezioniamo il secondo elemento del menu e vediamo che la proprietà UsageCount è impostata a 0, lasciamola così, selezioniamo il componente TActionManager e clicchiamo sulla proprietà PriorityShedule, questa proprietà contiene delle chiavi e dei valori preimpostati, selezioniamo la prima riga e inseriamo il valore 1 in Value, clicchiamo sul pulsante OK, selezioniamo la barra TActionMainMenuBar e nelle proprietà EdgeInner ed EdgeOuter inseriamo esNone; infine eseguiamo il progetto e andiamo sul menu file, ci accorgiamo che sotto il pulsante Apri appaiono due frecce, cliccandoci su viene visualizzato il secondo elemento del menu.

Inoltre se desideriamo visualizzare delle immagini accanto al testo del menu basta inserire un componente ImageList sulla form, carichiamo le immagini desiderate su tale componente, dopo di che possiamo andare ad assegnare al componente TActionManager il componente TImageList nel campo Images, infine clicchiamo sul menu ed assegnamo l’immagine desiderata ad ogni pulsante, ricordiamoci di inserire il componente XPManifest in modo che nel caso in cui l’applicazione viene avviata sotto Windows XP, il software utilizzerà i temi di Windows.

Lascia una Risposta

Devi aver fatto il login per inviare un commento