1. Hej Hmm... Jag använder följande sub för att justera kolumenrna på en listview, jag prövade att köra stortsett samma kod på en flexgrid men det funkade inte. Om någon har någon idé på hur man ska ändra koden så att den fungerar på en flexgrid så ser den ut så här:3 Flexgrid frågor
Jag behöver spara ett värde somär specifikt för varje cell i en flexgrid men det ska inte synas. Ungefär en tag egenskap för varje cell.. Är detta möjligt?
2.
Jag vill rensa hela flegrid:en förutom den första kolummen(den är fixed). Går det? Jag skulle iofs kunna loopa igenom dem men det är inte särskilt smidigt..
3.
Jag skulle vilja anpassa en kolumns bredd efter den cell som har mest text i sig. Hur gör man det?
ha det bra,
FransSv: 3 Flexgrid frågor
Fråga 3 Width.Jag har löst det på så sätt att jag
offrat en dummyLabel visible = False Autosize = True
Sen lägger jag in den längsta strängen med aktuell Font
och FontSize i denna label.
Nu kan jag sätta Columnbredd = Label.Width + 60 ungefär
Finns kanske smartare lösningar men jag kommer inte på någon.
mvh
SvenSv: 3 Flexgrid frågor
<code>
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Private Sub AdjustColumnWidth(LV As ListView, AccountForHeaders As Boolean)
Dim Col As Integer
Dim lParam As Long
Const LVM_SETCOLUMNWIDTH = &H1000 + 30
Const LVSCW_AUTOSIZE = -1
Const LVSCW_AUTOSIZE_USEHEADER = -2
If AccountForHeaders Then
lParam = LVSCW_AUTOSIZE_USEHEADER
Else
lParam = LVSCW_AUTOSIZE
End If
' Send the message to all the columns
For Col = 0 To LV.ColumnHeaders.Count - 1
SendMessage LV.hwnd, LVM_SETCOLUMNWIDTH, Col, ByVal lParam
Next
End Sub
</code>