PDA

View Full Version : MSHFlex Grid [Visual Basic 6]


lucausa75
24-11-2007, 19:43
Salve ragazzi,

ho realizzato una applicazione tramite la quale inserisco all'interno di una MSHFlex Grid alcune stringhe di tanti caratteri.

Di conseguenza la mia griglia avrà anche tante colonne.

Succede però che impostando la proprietà ScrollBars su flexScrollBarBoth mi vengono solo visualizzate le barre di scorrimento verticali e non orizzontali come in figura:

http://img441.imageshack.us/img441/1889/barreyz5.jpg (http://imageshack.us)

Come risolvo?

P.S. Come faccio a intercettare la riga selezionata?

A seguire il codice


Private Sub cmdCopia_Click()
Dim i As Integer
Dim j As Integer
grigliaPercorso.ScrollBars = flexScrollBarBoth
grigliaPercorso.ColWidth(0) = 10000
For i = 0 To FilList.ListCount - 1
If FilList.Selected(i) = True Then
grigliaPercorso.AddItem FilList.Path & "\" & FilList.List(i)
If grigliaPercorso.Rows = 2 Then
grigliaPercorso.FixedRows = 1
grigliaPercorso.Row = 0
grigliaPercorso = "Percorso"
End If
End If
Next i
End Sub

Grazie per l'aiuto!

okay
25-11-2007, 10:19
Salve ragazzi,

ho realizzato una applicazione tramite la quale inserisco all'interno di una MSHFlex Grid alcune stringhe di tanti caratteri.

Di conseguenza la mia griglia avrà anche tante colonne.

Succede però che impostando la proprietà ScrollBars su flexScrollBarBoth mi vengono solo visualizzate le barre di scorrimento verticali e non orizzontali come in figura:

http://img441.imageshack.us/img441/1889/barreyz5.jpg (http://imageshack.us)

Come risolvo?




P.S. Come faccio a intercettare la riga selezionata?

A seguire il codice


Private Sub cmdCopia_Click()
Dim i As Integer
Dim j As Integer
grigliaPercorso.ScrollBars = flexScrollBarBoth
grigliaPercorso.ColWidth(0) = 10000
For i = 0 To FilList.ListCount - 1
If FilList.Selected(i) = True Then
grigliaPercorso.AddItem FilList.Path & "\" & FilList.List(i)
If grigliaPercorso.Rows = 2 Then
grigliaPercorso.FixedRows = 1
grigliaPercorso.Row = 0
grigliaPercorso = "Percorso"
End If
End If
Next i
End Sub

Grazie per l'aiuto!


se hai impostato "flexScrollBarBoth" devi avere si lo scroll verticale che orizzontale del controllo.

Controlla bene, perchè dall'immagine pare che hai impostato solo lo scroll verticale.

Non basta aver messo "flexScrollBarBoth" nelle proprietà del controllo. Probabilmente nel codice a runtime, forse in activate() o load() dovresti avere una linea di codice che te lo mette di nuovo in verticale e non bhot.

Edit: Adesso che vedo il codice può darsi, anzi probabilmente è così, tu nell'evento Private Sub cmdCopia_Click() setti grigliaPercorso.ScrollBars = flexScrollBarBoth invece prima di avviare con F5 devi cliccare sul controllo e nelle proprietà setti da subito "flexScrollBarBoth"

Edit2: Oppure metti:
grigliaPercorso.ScrollBars = flexScrollBarBoth
nella funzione Load()
così da settarlo all'avvio



ciao

lucausa75
25-11-2007, 10:22
se hai impostato "flexScrollBarBoth" devi avere si lo scroll verticale che orizzontale del controllo.

Controlla bene, perchè dall'immagine pare che hai impostato solo lo scroll verticale


Ciao,

come vedi nel listato ho impostato sia da codice che da proprietà la proprietà ScrollBars su flexScrollBarBoth (quindi entrambe le ScrollBar)

Saluti...

okay
25-11-2007, 10:27
Ciao,

come vedi nel listato ho impostato sia da codice che da proprietà la proprietà ScrollBars su flexScrollBarBoth (quindi entrambe le ScrollBar)

Saluti...

rileggi il post che ho editato nuovo

okay
25-11-2007, 10:30
se nel controllo hai messo a both togli la riga nel tuo code o commentala:
'grigliaPercorso.ScrollBars = flexScrollBarBoth

oppure nell'evento del form load() metti:
'grigliaPercorso.ScrollBars = flexScrollBarBoth


ciao