Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2002
    Messaggi
    1,311

    [delphi] modificare caption button a runtime

    Ciao a tutti,

    ho un Button con caption= 'Visualizza parametri'

    questa caption dipende da una variabile tale Visualizza:Boolean

    io vorrei modificare il caption del button al variare della variabile...

    quando Visualizza:=True..... caption:='Nascondi Parametri'
    quando Visualizza:=False.... caption:='Visualizza Parametri'


    come se avessi bisogno di un evento OnChange sulla variabile Visualizza

    come potrrei fare?

    grazie

  2. #2
    Premetto che non simpatizzo per linguaggi come Delphi, tuttavia in questo caso i problema può essere argomentato e risolto senza ricorrere a sintassi particolari.
    La tua variabile visualizza varia sicuramente in base a qualche evento (pressione di un tasto, click del mouse su un button, ecc..): nella procedura di tale evento devi usare un costrutto if :
    codice:
    (* PSEUDOCODICE (anche se sto usando i commenti di Delphi..) :madai!?: *)
    if visualizza = true 
    then tuobutton.Caption = Nascondi parametri'
    else tuobutton.Caption = Visualizza parametri';
    Aggiusta la sintassi che non me la ricordo..


    Ciao

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2002
    Messaggi
    1,311
    Originariamente inviato da MdE2005
    Premetto che non simpatizzo per linguaggi come Delphi, tuttavia in questo caso i problema può essere argomentato e risolto senza ricorrere a sintassi particolari.
    La tua variabile visualizza varia sicuramente in base a qualche evento (pressione di un tasto, click del mouse su un button, ecc..): nella procedura di tale evento devi usare un costrutto if :
    codice:
    (* PSEUDOCODICE (anche se sto usando i commenti di Delphi..) :madai!?: *)
    if visualizza = true 
    then tuobutton.Caption = Nascondi parametri'
    else tuobutton.Caption = Visualizza parametri';
    Aggiusta la sintassi che non me la ricordo..


    Ciao
    ciao e grazie per la risposta.

    il problema e' che la mia variabile puo' assumere valori True o False a seguito di diversi eventi e di conseguenza io volevo creare un evento che veniva eseguito quando la stessa variabile cambia valore.

    forse dovrei creare un componente ed attivare un evento OnChangeValue,.... ma a dire il vero non saprei come crearlo.

    grazie

  4. #4
    Originariamente inviato da 123delphi321
    volevo creare un evento che veniva eseguito quando la stessa variabile cambia valore.
    Non si può. Devi implementare tutti gli eventi direttamente (con il codice che ti ho postato) oppure crei una funzione apposita con il codice e, in ogni evento che ti interessa, chiami tale funzione che provvederà a modificare la proprietà Caption del tuo Button.


    Spero di essere stato chiaro


    Ciao

  5. #5
    Utente di HTML.it
    Registrato dal
    Dec 2002
    Messaggi
    1,311
    grazie

  6. #6
    Originariamente inviato da 123delphi321
    grazie

    Prego


    Ciao

  7. #7
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,288
    Per questo genere di cose, è possibile utilizzare l'evento OnIdle dell'oggetto TApplication, oppure l'evento OnUpdate del componente TActionList.

    Quando l'applicazione ha gestito tutti i messaggi che sono presenti nella propria coda, essa entra in uno stato di "idle", cioè di attesa di nuovi messaggi; subentrando in questa condizione, vengono generati gli eventi riportati sopra che sono sfruttabili per aggiornare l'interfaccia utente in modo centralizzato in base al valore di proprietà e variabili che ne condizionano lo stato.

    Questo evita di dover creare classi apposite, o procedure specifiche, posto che la modifica della variabile in questione e della Caption del pulsante avvengano tutte nel thread primario dell'applicazione, altrimenti potrebbero essere necessarie delle considerazioni aggiuntive.

    Ciao!
    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.