Gambas-it

Gambas3 => Programmazione => Topic aperto da: akrobaticone - 25 Aprile 2020, 19:40:19

Titolo: spinbox background
Inserito da: akrobaticone - 25 Aprile 2020, 19:40:19
Funziona la proprietà background nel controllo spinbox?
a me no
ho provato con gtk e qt
Titolo: Re:spinbox background
Inserito da: Gianluigi - 26 Aprile 2020, 11:22:00
Purtroppo non si può cambiare neanche agendo sul Children[0] perché se guardi il codice vedi che il colore di fondo è impostato su TextBackground (solitamente bianco).

Codice: [Seleziona]
Public Sub _new()
 
  $hView = New DrawingArea(Me) As "View"
 
  $hTextBox = New TextBox($hView) As "TextBox"
  $hTextBox.Border = False
  $hTextBox.Text = "0"
  $hTextBox.Background = Color.TextBackground '' <-----------------!!!
 
  Me.Proxy = $hTextBox
 
End

Puoi copiarti la classe del componente da gb.gui.base e variare il colore creandoti un tuo componente particolare.
Tieni conto però che se il tuo codice deve essere distribuito è meglio evitarlo.
Titolo: Re:spinbox background
Inserito da: vuott - 26 Aprile 2020, 15:12:30
Io ricordo che alcuni mesi fa trovai casualmente (forse attivando per prova un Componente o qualcosa nell'IDE, di cui non ricordo il nome  :hard:) una risorsa che ti mette a disposizione tutti o quasi tutti i widgets grafici di Gambas. Non ricordo se anche solo parti di essi.
Ricordo però che erano mostrati in colore grigio e con il mouse si potevano trasportare e combinare insieme sul Form.
In questo modo forse si potrebbe ricreare uno SpinBox e aggiungervi un'area di testo liberamente colorabile.  :-\
Titolo: Re:spinbox background
Inserito da: Gianluigi - 26 Aprile 2020, 16:02:03
Io ricordo che alcuni mesi fa trovai casualmente (forse attivando per prova un Componente o qualcosa nell'IDE, di cui non ricordo il nome  :hard:) una risorsa che ti mette a disposizione tutti o quasi tutti i widgets grafici di Gambas. Non ricordo se anche solo parti di essi.
...

Non mi hai fatto venire in mente nulla  :-\

Comunque, anche se lo reputo sbagliato, allego il componente SpinBoxColor che basta aggiungere al progetto che abbisogna di un diverso sfondo del controllo.
Potrebbe essere utile per capire meglio come si crea un componente, le parti che impedivano il cambio del colore sono state commentate.

 :ciao:
Titolo: Re:spinbox background
Inserito da: vuott - 26 Aprile 2020, 16:54:28
Non mi hai fatto venire in mente nulla 
Mannaggia, speravo proprio in te ! 

(https://media.giphy.com/media/14gIQ7rr6tNb0c/giphy.gif)
Titolo: Re:spinbox background
Inserito da: vuott - 26 Aprile 2020, 16:57:25
allego il componente SpinBoxColor che basta aggiungere al progetto che abbisogna di un diverso sfondo del controllo.
Be'... comunque una buona idea, almeno per ora, per Akrobaticone.   :-\
Titolo: Re:spinbox background
Inserito da: Gianluigi - 26 Aprile 2020, 17:01:14
Non mi hai fatto venire in mente nulla 
Mannaggia, speravo proprio in te ! 


Se tu avessi condiviso immantinente la scoperta ora non avresti problemi  :P

... e nemmeno Akrobaticone  ;D
Titolo: Re:spinbox background
Inserito da: vuott - 26 Aprile 2020, 17:04:30
Se tu avessi condiviso immantinente la scoperta ora non avresti problemi  :P

... e nemmeno Akrobaticone  ;D

Se invece tu avessi realizzato la Macchina del Tempo, ora io non mi troverei più qui !   :violent:
Titolo: Re:spinbox background
Inserito da: Gianluigi - 26 Aprile 2020, 17:17:03
 :P :P :P

 :rotfl: :rotfl: :rotfl:
Titolo: Re:spinbox background
Inserito da: akrobaticone - 28 Aprile 2020, 08:33:40
Come al solito grazie per le risposte
quando si trattano oggetti come spinbox che sono composti da altri oggetti ho capito che bisogna sempre andare a trovare nel codice le risposte
Non ho mai approfondidto alcuni aspetti, ma mi rendo conto che in Gambas sono fondamentali
Un colore diverso nello sfondo mi permette di segnalare che lo spinbox è cambiato ma i dati non sono ancora salvati
la stessa cosa la ottengo cambiando il colore di foreground, anche se risulta un po meno evidente
Il progetto è il mio Gestione Manifestazioni e è su Gitlab, per cui deve essere il più possibile distribuibile, ragion per cui cerco di evitare personalizzazioni troppo spinte