Autore Topic: ComboBox con immagini anziché testo  (Letto 296 volte)

Online vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.277
  • Ne mors quidem nos iunget
    • Mostra profilo
« 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.157
  • Tonno verde
    • Mostra profilo
Re:ComboBox con immagini anziché testo
« Risposta #1 il: 17 Ottobre 2023, 11:03:00 »
https://gambas-es.org/showthread.php?tid=1520

Suggerisco questo codice:
Codice: [Seleziona]
Public Sub Form_Open()

  Dim hCombo As ComboBox

  If Fonts.Exist("D050000L") Or If Fonts.Exist("D050000L [urw]") Or If Fonts.Exist("D050000L [URW ]") Then
    With hCombo = New ComboBox(Me) As "ComboBox1"
      .X = 50
      .Y = 50
      .H = 35
      .W = 130
      .Font = Font["D050000L,Bold,14"]
      .Foreground = Color.RGB(197, 166, 67)
      ' .List = ["QQQQQ", "QQQQ", "QQQ", "QQ", "Q"] ' <--- asterischi
      .List = ["MMMMM", "MMMM", "MMM", "MM", "M"]   ' <--- stelle
    End With
  Else
    Message.Warning("Devi installare il Font D050000L")
    Me.Close
  Endif

End

 :ciao:

P.S. la "M" è proprio la stella, la "Q" un asterisco e naturalmente funziona con tastiera QWERTY
« Ultima modifica: 18 Ottobre 2023, 16:39:56 da Gianluigi »
nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro

Offline Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.157
  • Tonno verde
    • Mostra profilo
Re:ComboBox con immagini anziché testo
« Risposta #2 il: 18 Ottobre 2023, 16:41:59 »
Modificato il codice, adesso dovrebbe funzionare anche con le librerie QT

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

Online vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.277
  • Ne mors quidem nos iunget
    • Mostra profilo
Re:ComboBox con immagini anziché testo
« Risposta #3 il: 19 Ottobre 2023, 12:24:42 »
Ottima soluzione, Gianluigi, quella dell'uso dei Font.
Io non c'ho pensato, essendo stato tratto in inganno nel post dalla parola "immagini", come Oggetto "Image".

Ad ogni modo io ritengo che, riprendendo il tuo codice, al fine di garantire una assoluta e universale compatibilità, sia preferibile usare lo standard UNICODE.
Ad esempio:
Codice: [Seleziona]
Public Sub Form_Open()

  Dim hCombo As ComboBox

  With hCombo = New ComboBox(Me) As "ComboBox1"
    .X = 50
    .Y = 50
    .H = 35
    .W = 140
    .Foreground = Color.RGB(197, 166, 67)
    .Font.Size = 20
      For b As Byte = 5 DownTo 1
        .Add(String(b, String.Chr(&272d)))
      Next
    End With
 
End
« 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.157
  • Tonno verde
    • Mostra profilo
Re:ComboBox con immagini anziché testo
« Risposta #4 il: 19 Ottobre 2023, 13:50:12 »
Ottima e breve soluzione, senza problemi di librerie.  :ok:

...e questa non è venuta in mente a me  :)
nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro

Offline Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.157
  • Tonno verde
    • Mostra profilo
Re:ComboBox con immagini anziché testo
« Risposta #5 il: 19 Ottobre 2023, 14:19:33 »

Ad ogni modo io ritengo che, riprendendo il tuo codice, al fine di garantire una assoluta e universale compatibilità, sia preferibile usare lo standard UNICODE.


Mi sorge un dubbio, e se dovessi fare un copia incolla?

Fantastico, la tua è la soluzione corretta  :ok:

 :ciao:
« Ultima modifica: 19 Ottobre 2023, 14:28:39 da Gianluigi »
nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro

Online vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.277
  • Ne mors quidem nos iunget
    • Mostra profilo
Re:ComboBox con immagini anziché testo
« Risposta #6 il: 19 Ottobre 2023, 15:13:00 »
Mi sorge un dubbio, e se dovessi fare un copia incolla?

In che seSSo ?  ???
« 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.157
  • Tonno verde
    • Mostra profilo
Re:ComboBox con immagini anziché testo
« Risposta #7 il: 19 Ottobre 2023, 15:30:08 »
Mi sorge un dubbio, e se dovessi fare un copia incolla?

In che seSSo ?  ???
Se selezioni le stelle della mia combo le copi e le incolli in altro controllo, se non predisponi il controllo, otterrai delle M.
Col tuo codice ottieni comunque delle stelle anche in altro programma tipo Editor di testo.

A proposito di stelle che ne dici di queste?
https://www.compart.com/en/unicode/U+2605

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

Online vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.277
  • Ne mors quidem nos iunget
    • Mostra profilo
Re:ComboBox con immagini anziché testo
« Risposta #8 il: 19 Ottobre 2023, 15:36:34 »
Se selezioni le stelle della mia combo le copi e le incolli in altro controllo, se non predisponi il controllo, otterrai delle M.
Col tuo codice ottieni comunque delle stelle anche in altro programma tipo Editor di testo.
Appunto... UNICODE è uno Standard, quindi è universale.


A proposito di stelle che ne dici di queste?
https://www.compart.com/en/unicode/U+2605
Tra i simboli di UNICODE ci sono molte stelle: &H1F31F; &H2B50, da &H27929 a &H2730; &H2605 e &H2606
« 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. »