Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    [delphi] problemi evento onActiveFormChange

    ciao ragazzi/e ( in caso in questo forum girino anche rappresentanti del gentilsesso)

    sto analizzando un listato d'esempio per la creazione di una applicazione MDI.
    Nella stesura della classe madre ( chiamata TmAinForm), viene scritta la procedura TmainForm.FormCreate() che viene lanciata alla creazione della form madre.
    All'interno di questa c'è però una riga che mi lascia incerto:

    Screen.OnActiveFormChange := UpdateMenuItems;

    Ho guardato sul manuale delphi la classe TScreen e i suoi eventi e vediamo se ho capito:

    questa riga di codice comporta il salvataggio delle mie voci di menu nella variabile globale Screen quando dovessi cambiare il form attivo nella finestra child?

    E' così o non è così? Se si quello che nn riesco a capire bene è il perchè devo fare UpdateMenuItems se il mio main menù rimane nella finestra madre che non varia mai finchè il programma è in esecuzione? ...fORSE HO ANCORA IDEE POCO CHIARE quindi vi prego di darmi delucidazioni o in alternativa riferimenti per creare una buona applicaizone MDI e per chiarire il dubbio espresso prima
    re dei giovani

  2. #2
    CIAO SONO ANCORA IO....
    ho capito ....praticamente succede questo:
    lancio il programma
    1 compare la finestra madre con dentro menu e toolbars;
    2 alcune voci di questo menu devono essere disattivate come....stampa etc.. perchè non ho ancora nessuna child form su cui applicarle.
    3 Il metodo updatemenuitems, setta queste voci di menu (chiamiamole oscurabili) a seconda che ci siano 0,1 o più childform.
    ex: ho aperto la form figlia con testo quindi andando sul menu principale ad ex l'item stampa deve essere attivo, mentre se non c'è nessuna form figlia deve essere disattivato.

    Questa procedura ( scusate se l'ho chiamata metodo ma ho postumi da java) viene chiamata dall'evento Screen.onActiveFormChange; quindi tutte le volte che il focus passa da una child Form ad un'altra..............penso di aver centrato la spiegazione
    re dei giovani

  3. #3
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,296
    Onestamente, non ho capito il problema.

    Il codice a cui fai riferimento lo hai scritto tu o fa parte della VCL? Oppure ancora, lo hai trovato da qualche parte?

    P.S.: il termine "metodo" è corretto, in quanto si tratta effettivamente di un metodo.

    P.P.S.: l'interfaccia MDI è deprecata... sei sicuro che sia proprio necessaria per la tua applicazione?
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  4. #4
    ....il mio intento è creare un visualizzatore di immagini utilizzando programmazione a oggetti....purtroppo sono ancora acerbo sul delphi (ma è il linguaggio scelto per il progetto che devo realizzare ) e quindi mi devo basare su un'applicazione che è già stata sviluppata in passato e che utilizza MDI..è questo il codice che sto smembrando ora per capire come posso riusarlo e cosa devo buttare via rispetto alle mie esigenze di progetto...qualche dritta da darmi?
    re dei giovani

  5. #5
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,296
    Onestamente, non saprei quale dritta darti, non avendo a che fare con il codice a tua disposizione, non so come è meglio procedere nel tuo caso.

    In generale, cerca magari di scindere la parte funzionale del programma, quella relativa al compito vero e proprio dell'applicazione, dai metodi dell'interfaccia grafica e infrastrutturali.
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.