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

    [Delphi] Disegnare sulla status bar

    Ciao a tutti,
    fino ad ora, per disegnare un'immagine presa da una ImageList e scrivere un testo in due differenti colori sulla StatusBar, ho utilizzato qs codice:

    codice:
    Immagini: TImageList;
    Status: TStatusBar;
    
    with Status.Canvas do
    begin
     FillRect(Rect);
     Immagini.Draw(Status.Canvas, Rect.Left + 5, Rect.Top, 0);
     TextOut(Rect.Left + Immagini.Width + 10, Rect.Top + 1, 'Lingua:');
     Font.Color := clGreen;
     TextOut(Rect.Left + Immagini.Width + 50, Rect.Top + 1, 'Italiano');
    end;
    Il problema è che gestivo un solo Panel con la proprietà psOwnerDraw e tutto funzionava. Ora ho bisogno di fare qs operazione di immagine + testo su due differenti pannelli della stessa StatusBar. Come potrei fare?

    Come sempre... grazie!
    Stefano

  2. #2
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,472
    Forse non ho capito bene qual è il problema, ad ogni modo dovresti già aver fatto uso dell'evento OnDrawPanel, il quale viene richiamato ogni volta che è necessario disegnare un pannello del controllo StatusBar.

    Attraverso i parametri che ti vengono forniti dall'evento, dovrebbe risultare molto semplice tracciare quello che vuoi nell'area grafica corrispondente utilizzando i metodi del Canvas.

    Hai già consultato la Guida in linea?

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

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

  3. #3
    L'oggetto canvas cambia ogni volta che viene disegnata un'area della statusBar.
    Quindi potresti implementare il codice nell'evento OnDrawPanel e utilizzare i parametri che vengono messi a disposizione nella procedura per verificare quale pannello stà per essere disegnato.


  4. #4
    Ottima idea

    Grazie a tutti e due!
    Stefano

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 © 2025 vBulletin Solutions, Inc. All rights reserved.