Autore Topic: Dimensione frecce SpinBox  (Letto 1784 volte)

Offline g.grandi

  • Gambero
  • **
  • Post: 51
    • Mostra profilo
Dimensione frecce SpinBox
« il: 17 Maggio 2021, 10:11:39 »
Date Width e Height di uno SpinBox, è possibile risalire alla dimensione delle frecce dello stesso? Dovrei sovrapporre una TextBox ma purtroppo, al variare della dimensione, o vengono parzialmente coperte le frecce o rimane parecchio spazio dalle stesse.

Grazie
Gianni

Offline Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.244
  • Tonno verde
    • Mostra profilo
Re:Dimensione frecce SpinBox
« Risposta #1 il: 17 Maggio 2021, 11:27:48 »
Non so cosa vai cercando esattamente, ma se stai creando un tuo componente, potresti dare un'occhiata alla wiki (vedi sotto).
Per dare la stessa proporzione agli widget puoi inserirli nello stesso contenitore, vedi ad esempio la text e la label di InvBox.
Tieni anche conto che uno SpinBox è già di per se un componente "composito" che parte da una textbox, dovresti vedere come Minisini lo ha costruito dal codice sorgente:
https://gitlab.com/gambas/gambas/-/tree/master/comp/src/gb.gui.base

https://www.gambas-it.org/wiki/index.php?title=Guide_della_comunit%C3%A0#Componenti

 :ciao:
nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro

Offline g.grandi

  • Gambero
  • **
  • Post: 51
    • Mostra profilo
Re:Dimensione frecce SpinBox
« Risposta #2 il: 17 Maggio 2021, 15:03:16 »
Premetto che sto ancora lavorando con Gambas 2 e non so come creare un componente. Ho creato una SpinBox con i decimali sovrapponendo una TextBox. Il funzionamento è tutto a posto, l'unica questione in sospeso è la modifica della dimensione del controllo. Quest'ultima provoca una variazione nelle frecce della SpinBox che non riesco ad inseguire con la TextBox (non so come vengano rapportate le frecce con la dimensione del controllo).

Gianni

Offline Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.244
  • Tonno verde
    • Mostra profilo
Re:Dimensione frecce SpinBox
« Risposta #3 il: 17 Maggio 2021, 15:22:15 »
Premetto che sto ancora lavorando con Gambas 2 e non so come creare un componente. Ho creato una SpinBox con i decimali sovrapponendo una TextBox. Il funzionamento è tutto a posto, l'unica questione in sospeso è la modifica della dimensione del controllo. Quest'ultima provoca una variazione nelle frecce della SpinBox che non riesco ad inseguire con la TextBox (non so come vengano rapportate le frecce con la dimensione del controllo).

Gianni

Io purtroppo uso Gambas a partire dalla versione 3.
Non so se questo può aiutarti, ma ti allego un mio progetto di due anni fa in risposta a questa domanda sulla ML
https://www.gambas-it.org/smf/index.php?topic=7458.msg47371#msg47371

sulla 2 non funzionerà ma potresti farti ispirare dal codice.

Mi sentirei di consigliarti di passare alla versione 3 che la due è abbandonata ormai da tempo, ma spetta a te decidere.

 :ciao:

P.S. Magari vuott che conosceva la vecchia versione può esserti di aiuto  :-\
« Ultima modifica: 17 Maggio 2021, 15:24:37 da Gianluigi »
nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.724
  • Ne mors quidem nos iunget
    • Mostra profilo
Re:Dimensione frecce SpinBox
« Risposta #4 il: 17 Maggio 2021, 16:25:56 »
P.S. Magari vuott che conosceva la vecchia versione può esserti di aiuto  :-\



Sì... dunque... noi altri 20000 anni fa......
« 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 Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.244
  • Tonno verde
    • Mostra profilo
Re:Dimensione frecce SpinBox
« Risposta #5 il: 17 Maggio 2021, 17:28:34 »
 :rotfl:

mmmh mi sa che non ti ricordi più  ;D
nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro

Offline Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.244
  • Tonno verde
    • Mostra profilo
Re:Dimensione frecce SpinBox
« Risposta #6 il: 19 Maggio 2021, 16:38:17 »
Penso che questo codice dovrebbe funzionare anche in Gambas2:
Codice: [Seleziona]
' Gambas class file

Private $hFont As Font
Private hText As TextBox
Private hSpin As SpinBox
Private oPanel As Panel

Public Sub Form_Open()

  oPanel = New Panel(Me)
  oPanel.X = 50
  oPanel.Y = 50
  oPanel.W = 120
  oPanel.H = 32
  oPanel.Arrangement = Arrange.Horizontal
  hText = New TextBox(oPanel)
  hText.Expand = True
  'hText.Font = Font["Ubuntu,bold,24"]
  hSpin = New SpinBox(oPanel) As "SpinBox1"
  hSpin.W = 16
  hSpin.MaxValue = 100
  hSpin.MinValue = -100
  $hFont = hText.Font
  hText.Text = hSpin.Text
  'oPanel.Width = $hFont.TextWidth(hText.Text) + 24
  If $hFont.TextHeight(hText.Text) > 32 Then oPanel.Height = $hFont.TextHeight(hText.Text)

End

Public Sub SpinBox1_Change()

  hText.Text = hSpin.Text
  'oPanel.Width = $hFont.TextWidth(htext.Text) + 24

End

Naturalmente lo devi adattare il tuo codice che tramuta l'intero in numero a virgola mobile.

Sappimi dire se funziona

 :ciao:
« Ultima modifica: 19 Maggio 2021, 16:41:51 da Gianluigi »
nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro