|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Apr 2005
Messaggi: 5245
|
[Delphi] Interfaccia grafica
Mi sono sempre chiesto come sia possibile modificare l'interfaccia grafica di un programma scritto in delphi... andando fuori quelli che sono i componenti standard (form,button ecc). E' possibile realizzare delle interfaccia grafiche con appositi programmi quali photoshop ad esempio per poi farli diventare parte integrante di un programma??
|
|
|
|
|
|
#2 |
|
Bannato
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
|
mi sembra di aver capito che hai fatto due domande diverse...
![]() 1) come modificare l'interfaccia di un programma fatto in Delphi (del quale suppongo non hai i sorgenti o i DFM) 2) come creare un'interfaccia che non usa i controlli standard di Windows wrappati nella VCL, ma dei controlli disegnati con programmi grafici (ad esempio bottoni belli e futuristici pieni di sfumature e tutta quella roba lì). risposte: 1) devi usare apposite funzioni API come SetWindowPos e MoveWindow (se ben ricordo), accessibili anche da Delphi; 2) un'interfaccia grafica simile va gestita manualmente: dopo aver disegnato i controlli (o le varie parti che li compongono) con un programma di grafica, devi riprodurre le immagini realizzate nel DC della tua finestra (in termini VCL: nel canvas della tua form) e gestirli in maniera completamente manuale. |
|
|
|
|
|
#3 | |
|
Senior Member
Iscritto dal: Apr 2005
Messaggi: 5245
|
Quote:
Supponiamo che io abbia realizzato il mio bel bottoncino tutto futuristico col photoshop.... come faccio a farlo diventare parte integrante del mio programma?? |
|
|
|
|
|
|
#4 |
|
Bannato
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
|
non ricordo affatto i nomi delle procedure e funzioni da usare (sono anni che non uso Delphi), ma devi semplicemente caricare l'immagine dal file in un TBitmap e disegnarla sul canvas... il focus, gli eventi del mouse e quelli della tastiera vanno gestiti manualmente: nell'handler di OnMouseMove della form devi controllare le coordinate correnti e vedere se ti trovi sul bottone; se ti ci trovi sopra puoi ad esempio dargli l'illuminazione; poi se l'utente clicca devi ridisegnarlo abbassato, e quando rialza devi ridisegnalo normale. insomma, devi creare da zero un motore per l'interfaccia grafica...
inoltre siccome gli oggetti grafici della VCL (tipo TBitmap) consumano parecchie risorse di sistema (ogni TBitmap occupa un DC, una pen, un brush e naturalmente una DIB section naturalmente ad ogni componente assegni delle coordinate fisse all'interno delle immagini, fai un puzzle insomma |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 13:37.




















