Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it L'avatar di colde
    Registrato dal
    Feb 2001
    Messaggi
    1,802

    [Delphi] Inserire testo su statusbar da più form

    Ciao Alka,
    vorrei che in tutte le maschere create ci sia la possibilità di visualizzare del testo su una statusbar in base alla posizione del puntatore. In pratica vorrei che ogni volta che il puntatore si trova su un campo (edit, checkbox, ecc.), la statusbar deve visualizzare un testo descrittivo dell'oggetto stesso. Una sorta di help che guida l'utente durante le azioni.

    Prendendo come base la tua applicazione famosa, ho inserito la statusbar nel form iniziale dove è presente il menu e a questo punto mi rimane tutto il resto.

    Mi potresti dare delle macroindicazioni per poter implementare questa cosa? Ho provato ad usare le funzioni ma non ci ho capito molto di come devono essere utilizzate e naturalmente non funziona. Non ti do nemmeno i messaggi d'errore perchè tanto sarebbe complicato spiegarti quello che ho fatto, dato che non mi sono chiare queste cose.

    Capisco che aiutarmi non è cosa facile, quindi se ci rinunci non preoccuparti. Tra l'altro sto guardando anche sul manuale di Cantù per capire come creare una funzione richiamabile da più form ma ancora non ho trovato nulla.

    Grazie mille
    www.beppegrillo.it
    Il blog di Beppe!!

  2. #2
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,301
    Delphi svolge già questo compito in modo semiautomatico.

    E' sufficiente impostare la proprietà AutoHint della TStatusBar per ottenere la visualizzazione dei messaggi di aiuto nel primo pannello della barra di stato o nell'intera barra quando la proprietà SimplePanel è impostata a True.

    Per visualizzare i messaggi di aiuto estesi, va abilitata la proprietà ShowHint su ogni form, la stessa che abilita la visualizzazione del tooltip, e inserire nelle proprietà Hint dei controlli sia la forma breve che la forma estesa del testo d'aiuto, separati da un "pipeline" (|).
    codice:
    Control.Hint := 'testo breve|testo esteso';
    Provare per credere.

    Ciao!
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

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

  3. #3
    Utente di HTML.it L'avatar di colde
    Registrato dal
    Feb 2001
    Messaggi
    1,802
    Dunque, probabilmente avevo sbagliato completamente l'approccio per poter fare quello che voglio. Ora ho provato ad inserire la statusbar nel frame principale da cui derivano tutti gli altri e automaticamente viene incluso in tutti i frame. Già qui è una nota positiva. Poi su un campo edit all'evento OnClick ho assegnato un testo alla statusbar in questo modo:

    procedure TNotePageFrame.Edit2Click(Sender: TObject);
    begin
    inherited;
    statusbar1.simpletext := 'Prova se esce';
    end;

    Non ritorna nessun messaggio di errore ma il testo non esce.
    Sai dirmi come mai? Cmq credo che questa sia la strada giusta, o sbaglio?
    www.beppegrillo.it
    Il blog di Beppe!!

  4. #4
    Utente di HTML.it L'avatar di colde
    Registrato dal
    Feb 2001
    Messaggi
    1,802
    Originariamente inviato da alka
    Delphi svolge già questo compito in modo semiautomatico.

    E' sufficiente impostare la proprietà AutoHint della TStatusBar per ottenere la visualizzazione dei messaggi di aiuto nel primo pannello della barra di stato o nell'intera barra quando la proprietà SimplePanel è impostata a True.

    Per visualizzare i messaggi di aiuto estesi, va abilitata la proprietà ShowHint su ogni form, la stessa che abilita la visualizzazione del tooltip, e inserire nelle proprietà Hint dei controlli sia la forma breve che la forma estesa del testo d'aiuto, separati da un "pipeline" (|).
    codice:
    Control.Hint := 'testo breve|testo esteso';
    Provare per credere.

    Ciao!
    hai ragione, funziona! Ho imparato qualcosa di nuovo. Grazie mille.
    www.beppegrillo.it
    Il blog di Beppe!!

  5. #5
    Utente di HTML.it L'avatar di colde
    Registrato dal
    Feb 2001
    Messaggi
    1,802
    C'è solo un piccolo problema. Non riesco a modificare la formattazione del testo. vorrei ingrandire un pelo il carattere perchè così è troppo piccolo ma non me lo fa fare. Idem per il colore. Ho già controllato se eredita la formattazione dall'oggetto parent ma è settato a false. Sai se c'è qualche cosa in particolare che blocca la formattazione? Anche modificando il colore di background non viene tenuto in considerazione, eppure dal parent non eredita nulla.
    www.beppegrillo.it
    Il blog di Beppe!!

  6. #6
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,301
    Se non ricordo male, c'è anche una proprietà UseSystemFont da impostare a False.

    Tieni comunque presente che si tratta di controlli comuni di Windows, quindi è lo stesso sistema operativo che si occupa della loro definizione e visualizzazione, pertanto non è possibile modificare ogni proprietà che riguarda l'aspetto dei controlli stessi a meno di non implementarne una versione "customizzata" propria.

    Ciao!
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

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

  7. #7
    Utente di HTML.it L'avatar di colde
    Registrato dal
    Feb 2001
    Messaggi
    1,802
    Si, infatti ora il testo me lo formatta ma lo sfondo rimane quello classico, il solito grigio. Va bene anche così. Grazie mille per l'aiuto.

    P.S.
    Peccato che siamo così lontani, altrimenti un corso di delphi me lo sarei fatto volentieri.
    Per quel poco che lo so usare, mi sembra ottimo e completo e la voglia di imparare c'è; purtroppo se da un lato è possibile customizzare ogni singolo componente, dall'altro si aumenta la difficoltà di conoscerlo a fondo proprio per le molteplici variazioni che si posso fare e per la grande quantità di oggetti utilizzabili.
    www.beppegrillo.it
    Il blog di Beppe!!

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.