Autore Topic: [ RISOLTO ] Carattere sul Form nella posizione x , y  (Letto 1363 volte)

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.724
  • Ne mors quidem nos iunget
    • Mostra profilo
[ RISOLTO ] Carattere sul Form nella posizione x , y
« il: 19 Giugno 2010, 17:23:10 »
Salve,

vorrei sapere se è possibile far comparire (scrivere) un qualsiasi carattere (ad esempio la lettera: a ) all'interno del Form in una data posizione x , y .
Tale carattere dovrebbe comparire, diciamo, "puro" nel Form, ossia non contenuto in una Label o altro strumento adatto a contenere testo.
« Ultima modifica: 20 Giugno 2010, 19:24:51 da vuott »
« Chiunque, non ricorrendo lo stato di necessità, nel proprio progetto Gambas fa uso delle istruzioni Shell o Exec, è punito con la sanzione pecuniaria da euro 20,00 a euro 60,00. »

Offline ealmuno

  • Maestro Gambero
  • ****
  • Post: 388
    • Mostra profilo
    • http://www.ealmuno.com
Re: Carattere sul Form nella posizione x , y
« Risposta #1 il: 19 Giugno 2010, 17:32:43 »
http://gambasdoc.org/help/comp/gb.qt/form
non credo sia possibile, mi sa che devi proprio utilizzare una label grande come il form
il mio nuovo sito : ealmuno.com

Offline leo72

  • Amministratore
  • Senatore Gambero
  • *****
  • Post: 2.163
    • Mostra profilo
    • http://www.leonardomiliani.com
Re: Carattere sul Form nella posizione x , y
« Risposta #2 il: 19 Giugno 2010, 23:16:00 »
Non credo neanch'io.
L'unica è aggirare il problema piazzando sul form una drawing area che copra per intero il form stesso.
Nella drawing area puoi scrivere in qualunque punto tu voglia, specificando le coordinate X,Y del testo che vuoi far apparire.

Codice: gambas [Seleziona]
Draw.Begin(DrawingArea1)
Draw.Text("testo",X,Y)
Draw.End

Visita il mio sito personale: http://www.leonardomiliani.com

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.724
  • Ne mors quidem nos iunget
    • Mostra profilo
Re: Carattere sul Form nella posizione x , y
« Risposta #3 il: 20 Giugno 2010, 11:09:28 »
Non credo neanch'io.
L'unica è aggirare il problema piazzando sul form una drawing area che copra per intero il form stesso.
Nella drawing area puoi scrivere in qualunque punto tu voglia, specificando le coordinate X,Y del testo che vuoi far apparire.

Codice: gambas [Seleziona]
Draw.Begin(DrawingArea1)
Draw.Text("testo",X,Y)
Draw.End




Effettivamente sembra che Drawing Area sia l'unico strumento per piazzare dei caratteri a determinate coordinate x, y .

E sta bene.

Ho quindi usato, appunto, Drawing Area, ma ho riscontrato uno stranissimo ed inaspettato problema (non so se causato da un bug della mia versione di Gambas):   :(

Se faccio scrivere uno o più caratteri sulla Drawing Area, e successivamente su questi caratteri compare - anche solo temporaneamente - qualcos'altro (ad esempio la finestra a cascata in alto a sinistra del Menu creata nel programma), il carattere viene - almeno apparentemente - cancellato. Più precisamente, diventa invisibile quella parte del carattere che è stata temporaneamente ricoperta dall'oggetto   :-X
Avviene la medesima cosa se cambio desktop e poi torno in quello dove ancora funziona il programma di Drawing Area: i caratteri non si vedono proprio più !  Scomparsi !  :-[

Potete darmi eventualmente conferma di questo comportamento ? (anche se a me continua a sembrare molto strano)  :-X
« Chiunque, non ricorrendo lo stato di necessità, nel proprio progetto Gambas fa uso delle istruzioni Shell o Exec, è punito con la sanzione pecuniaria da euro 20,00 a euro 60,00. »

Offline ealmuno

  • Maestro Gambero
  • ****
  • Post: 388
    • Mostra profilo
    • http://www.ealmuno.com
Re: Carattere sul Form nella posizione x , y
« Risposta #4 il: 20 Giugno 2010, 11:32:47 »
confermo il comportamento, ma non so come porre soluzione, in gambas3 dovrebbe essere stato migliorato di molto...
il mio nuovo sito : ealmuno.com

Offline leo72

  • Amministratore
  • Senatore Gambero
  • *****
  • Post: 2.163
    • Mostra profilo
    • http://www.leonardomiliani.com
Re: Carattere sul Form nella posizione x , y
« Risposta #5 il: 20 Giugno 2010, 11:47:00 »
Prova ad attivare la proprietà Cached.
Riprendo dalla documentazione:
DrawingArea.Cached (gb.qt)

PROPERTY Cached AS Boolean

Returns or sets if the DrawingArea contents are cached into a internal Picture object.

When set, the DrawingArea will not be erased when it's obscured by another window. It will only be cleared through explicit use of the Clear method.
Visita il mio sito personale: http://www.leonardomiliani.com

Offline ealmuno

  • Maestro Gambero
  • ****
  • Post: 388
    • Mostra profilo
    • http://www.ealmuno.com
Re: Carattere sul Form nella posizione x , y
« Risposta #6 il: 20 Giugno 2010, 11:54:21 »
confermo che settandola a true non viene eliminata, ma non potrebbe essere a true di default?
il mio nuovo sito : ealmuno.com

Offline leo72

  • Amministratore
  • Senatore Gambero
  • *****
  • Post: 2.163
    • Mostra profilo
    • http://www.leonardomiliani.com
Re: Carattere sul Form nella posizione x , y
« Risposta #7 il: 20 Giugno 2010, 14:56:12 »
No, perché la proprietà Cached rallenta di molto la gestione della drawing area per cui viene messa su false per motivi di velocità. Se poi qualcuno necessita che l'immagine sia "persistente", allora se la imposta su True.
Visita il mio sito personale: http://www.leonardomiliani.com

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.724
  • Ne mors quidem nos iunget
    • Mostra profilo
Re: Carattere sul Form nella posizione x , y
« Risposta #8 il: 20 Giugno 2010, 19:24:22 »
Anch'io, dopo fatto le prove, posso confermare che settando la proprietà Cache Drawing Area a True i caratteri presenti sull'area non vengono eliminati.
Pertanto, essendo stati risolti entrambi i problemi da me posti in questo messaggio, posso considerarlo senz'altro risolto.
« Chiunque, non ricorrendo lo stato di necessità, nel proprio progetto Gambas fa uso delle istruzioni Shell o Exec, è punito con la sanzione pecuniaria da euro 20,00 a euro 60,00. »