Autore Topic: [RISOLTO] ComboBox: come aumentare il numero elementi visualizzati nell'elenco  (Letto 1549 volte)

Offline gianfry56

  • Gambero
  • **
  • Post: 78
    • Mostra profilo
Ho cercato nel forum e nel wiki, ma sembra che il problema non sia mai stato posto...
Io vorrei visualizzare, nell'elenco a discesa di un ComboBox, più delle 10 opzioni che il controllo mostra nella sua versione standard, per evitare di dover scorrere la lista con la barra laterale.

Non esiste una proprietà a riguardo, ma non esiste nemmeno un 'Children' che possa fare riferimento ad un oggetto che contiene quell'elenco di elementi   :-\
Perché non posso avere un elenco con 20 linee, accidenti!!  :hatecomputer:

Qualcuno sa in che modo viene gestita la lista delle opzioni?   :ciao:
« Ultima modifica: 29 Dicembre 2016, 11:59:36 da gianfry56 »

Offline gianfry56

  • Gambero
  • **
  • Post: 78
    • Mostra profilo
Oops... la cosa è strana  :-\

Uso Kubuntu, quindi, in gambas, adopero componenti gb.qt4, e con quelli il combobox mostra solo 10 elementi...

ho provato il progetto con gb.gtk3 e magicamente la lista del combo è diventata di 20 elementi....  :rolleyes:

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.723
  • Ne mors quidem nos iunget
    • Mostra profilo
Scusami, non riesco a capire. Se io inserisco semplicemente un oggetto ComboBox sul Form, quando avvio il programma, il ComboBox ha un numero di elementi pari a zero.

Tu cosa intendi con "mostra solo 10 elementi" ?

 ???
« 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 gianfry56

  • Gambero
  • **
  • Post: 78
    • Mostra profilo
Si, scusa, forse non mi ero spiegato bene:
se nella proprietà 'List' del ComboBox inserisco un numero di elementi superiore a 10 (per esempio 20 elementi), in esecuzione il combo ne mostra solo 10 nella suo elenco a discesa; per vedere gli altri devi scorrere la lista con la barra laterale.
Questo però adesso ho scoperto che è valido solo usando il componente gb.qt4, mentre se uso gb.gtk3 allora l'elenco a discesa mostra tutti gli elementi che ho inserito nella lista del combo
« Ultima modifica: 20 Dicembre 2016, 16:17:35 da gianfry56 »

Offline gianfry56

  • Gambero
  • **
  • Post: 78
    • Mostra profilo
Volendo continuare ad usare il componente gb.qt4, avrei voluto trovare il sistema per 'allungare' la lista degli elementi, mi spiego?   :ciao:

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.723
  • Ne mors quidem nos iunget
    • Mostra profilo
Sì, ho compreso.
« 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 tornu

  • Gran Maestro dei Gamberi
  • *****
  • Post: 855
    • Mostra profilo
Se proprio la barra di scorrimento ti dà "fastidio"  ???,
vedi se questa idea fà al caso tuo
Codice: [Seleziona]
' Gambas class file

  Private $hLvObject As ListView
  Private $iCounter As Integer

Public Sub MenuButton1_Click()
  $iCounter = $iCounter + 1

  If $iCounter = 1 Then
      $hLvObject = New ListView(Me) As "lvwItem"
      With $hLvObject
        .Name = "lvwItem"
        .Move(136, 40, 232, 425) ' (X, Y, W, H)
        .Font.Size = 10
        .Border = Border.Etched
        .Background = Color.White
        .Add("1", " Item 1")
        .Add("2", " Item 2")
        .Add("3", " Item 3")
        .Add("4", " Item 4")
        .Add("5", " Item 5")
        .Add("6", " Item 6")
        .Add("7", " Item 7")
        .Add("8", " Item 8")
        .Add("9", " Item 9")
        .Add("10", " Item 10")
        .Add("11", " Item 11")
        .Add("12", " Item 12")
        .Add("13", " Item 13")
        .Add("14", " Item 14")
        .Add("15", " Item 15")
        .Add("16", " Item 16")
        .Add("17", " Item 17")
        .Add("18", " Item 18")
        .Add("19", " Item 19")
        .Add("20", " Item 20")
      End With
    Else
      $hLvObject.Visible = False
      $iCounter = 0
  Endif
End

Public Sub lvwItem_Click()
  $hLvObject.Item.Selected = True
  $hLvObject.MoveCurrent
  MenuButton1.Text = $hLvObject.Item.Text
  $hLvObject.Visible = False

  $iCounter = 0
End
:ciao:
Il software è come il sesso, è meglio quando è libero. (Linus Torvalds)

Offline gianfry56

  • Gambero
  • **
  • Post: 78
    • Mostra profilo
grazie tornu, ma preferisco il mio combobox in versione gtk+3,
e non è che la barra mi dia sempre 'fastidio', è che in certi casi preferisco vedere tutte le opzioni del combo direttamente, senza doverle scorrere....  sono gusti  ;D

 :ciao:

Offline Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.244
  • Tonno verde
    • Mostra profilo
grazie tornu, ma preferisco il mio combobox in versione gtk+3,
e non è che la barra mi dia sempre 'fastidio', è che in certi casi preferisco vedere tutte le opzioni del combo direttamente, senza doverle scorrere....  sono gusti  ;D

 :ciao:

Verrà il giorno in cui prodigo ritornerai alle QT  :P
nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro

Offline gianfry56

  • Gambero
  • **
  • Post: 78
    • Mostra profilo
Io sono SEMPRE in QT, Gianluigi, è solo che per necessità ho provato a vedere se funzionava con gtk+
e ancora non riesco a capire perché ci sia stà differenza  :hatecomputer:

Offline Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.244
  • Tonno verde
    • Mostra profilo
Re:ComboBox: come aumentare il numero degli elementi visualizzati nell'elenco
« Risposta #10 il: 21 Dicembre 2016, 22:04:37 »
Minisini, se ricordo bene, ebbe a dire che non dipendeva da lui ma dalle librerie e che non ci poteva fare nulla.
Avevo cercato sulla ML ma non ho trovato la mail.
nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro

Offline gianfry56

  • Gambero
  • **
  • Post: 78
    • Mostra profilo
Re:ComboBox: come aumentare il numero degli elementi visualizzati nell'elenco
« Risposta #11 il: 21 Dicembre 2016, 22:06:01 »
Amen!  :-\

Offline Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.244
  • Tonno verde
    • Mostra profilo
Re:ComboBox: come aumentare il numero degli elementi visualizzati nell'elenco
« Risposta #12 il: 21 Dicembre 2016, 22:07:07 »
Io sono SEMPRE in QT

Se usi il componente GTK non sei in QT ma in GTK, non confondere i componenti con il OS.
nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro

Offline gianfry56

  • Gambero
  • **
  • Post: 78
    • Mostra profilo
Re:ComboBox: come aumentare il numero degli elementi visualizzati nell'elenco
« Risposta #13 il: 21 Dicembre 2016, 22:22:34 »
Questo è vero, però ora ti mostro una cosa strana:
ho provato  un progetto con questi componenti:
gb.qtk e gb.qtk.opengl
e il risultato è un po ambiguo, perché gli spinbox non hanno le classiche icone gtk+ (+ rosso e - verde per aumentare o diminuire il valore)
ma hanno le freccette (su e giù) come la versione qt

riesci a spiegarmelo?   :rolleyes:

Offline Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.244
  • Tonno verde
    • Mostra profilo
Re:ComboBox: come aumentare il numero degli elementi visualizzati nell'elenco
« Risposta #14 il: 21 Dicembre 2016, 22:40:44 »
Questo è vero, però ora ti mostro una cosa strana:
...
riesci a spiegarmelo?   :rolleyes:

Ma è proprio quello che sto cercando di spiegarti, le librerie GTK in Gambas non funzionano a dovere, sono piene di bug e non c'è verso di fargliele migliorare ci hanno provato in tanti ma Minisini è sordo dice che fanno schifo che sono intrattabili e rimane fedele alle qt.
Usando Kubuntu ti sei tolto tutta quella parte che noi che usiamo Unity, Gnome e altri desktop che si basano su GTK abbiamo dovuto affrontare per armonizzare il nostro desktop con le librerie QT.
Perdi qualcosa in esperienza ma ci guadagni nel non avere rotture.
A patto naturalmente che ti dimentichi le librerie GTK.
Quando inizi un progetto grafico fallo gb.gui.qt e non avrai problemi o almeno ne avrai decisamente meno.
nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro