Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    piccaweb
    Guest

    [ Delphi ] Canvas e allineamento

    Ciao !
    Volevo sapere se é possibile effettuare l'allineamento del testo ottenuto con la funzione

    codice:
      TDrawGrid(Sender).Canvas.TextOut(1,1,'ciao')
    grazie

  2. #2
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,296
    Devi utilizzare la funzione API DrawText passando come parametro hDc la proprietà Handle del Canvas.
    Consulta la "Win32 Programmer's Reference" (raggiungibile direttamente da Delphi) per conoscere i parametri e i flag da passare per ottenere allineamenti, estensioni ed altri effetti interessanti.

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

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

  3. #3
    piccaweb
    Guest
    Toglimi una curiosità, ma le procedure legate al canvas e API di Windows rallentano il programma ?

  4. #4
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,296
    Non ho capito a cosa ti riferisci con "rallenta". Ovvio che ogni chiamata a procedura e funzione, API di Windows o no, contribuisce a diminuire le prestazioni di un'applicazione. Anche la classe TForm su cui ti basi per creare le tue finestre non è altro che un approccio orientato agli oggetti che si appoggia alle funzioni API di Windows per la gestione delle finestre.
    In generale, è ovvio che dovresti evitare di richiamare funzioni API se non ti servono, ma con la potenza di calcolo di cui dispongono i moderni calcolatori, credo che non sia una cosa di cui preoccuparsi.

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

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

  5. #5
    piccaweb
    Guest
    Mi sembra doveroso ringraziarti per le spiegazioni esurienti che fornisci sempre, ad ogni domanda!

    Grazie ancora!

    Avrei ancora una cosa da chiederti:
    -puoi scivermi qualche link a siti che trattano Delphi?
    -puoi spiegarmi meglio come usare DrawText, mi basta anche solo una riga di codice...

    Ciao

  6. #6
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,296
    Dunque, per quanto riguarda Delphi, la mia formazione si è basata principalmente sulla lettura di manuali e sulla partecipazione a forum e newsgroup. Non ho siti "must" a cui riferirmi, ma ce ne sono alcuni che contengono informazioni interessanti sull'ambiente di sviluppo di casa Borland.
    • Delphi & Dintorni
      è un sito gestito da Marco Cantù e dal suo team; contiene tips, articoli e risorse, alcune gratuite, altre a pagamento.
    • Torry Delphi's Pages
      è sicuramente il sito n.1 per quanto riguarda la disponibilità di migliaia e migliaia di componenti, molti dei quali freeware e con sorgente; adesso è anche disponibile la sezione con i tips.
    • Programmazione.it
      Il portale italiano della programmazione dispone di un'area con articoli, tips e componenti scaricabili, sviluppati direttamente dalla community che partecipa alla vita del sito. Da lì puoi trovare tanti altri link a siti esterni su Delphi.
    • About...Delphi Programming
      Branca del sito generico About.com che si occupa specificatamente di Delphi, con articoli e soprattutto news.
    • GExperts.org
      Se sei interessato ai misteri dell'IDE di Delphi, troverai appetitoso questo sito, da cui puoi scaricare GExperts, un set di strumenti che un buon programmatore Delphi deve avere!
    • HTML.it - Lezioni di Delphi
      Un buon corso propedeutico per l'apprendimento di Delphi.
    • ABLS Team
      Il mio sito! Sono in attesa di idee valide per realizzare e pubblicare articoli, tips e programmi di pubblica utilità freeware (se ti viene qualche idea per un progetto interessante, fammelo sapere...sono alla ricerca di validi spunti!).

    In realtà, i siti su Delphi non possono essere enumerati...dai un'occhiata ai primi che ti ho detto e vedrai che troverai numerosi punti di partenza per infiniti altri siti.

    Per quanto riguarda l'uso di DrawText, prova a cercare nella unit StdCtrls.pas il codice della classe TCustomLabel. C'è una chiamata a DrawText per visualizzare il testo nell'area del controllo allineandolo opportunamente.
    codice:
        DrawText(Canvas.Handle, PChar(Text), Length(Text), Rect, Flags);
    Si tratta di passare l'handle del Canvas del controllo, il testo da visualizzare ("castato" a PChar), il rettangolo nel quale deve essere centrato e i relativi flag che definiscono come deve essere allineato nell'area specificata.

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

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

  7. #7
    piccaweb
    Guest
    Grazie per i link, sono interesanti!
    Sono anche riuscito a fare funzionare la procedura DrawText , pensavo che fosse molto più complicato gestire questo genere di operazione!

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.