Rubrik: Controls · sev-Controls | VB-Versionen: VB6 | 18.10.13 |
sevDatagrid: Optimale Kopfzeilen- u. Spaltenbreite berechnen Berechnung der optimalen Spaltenbreite unter Berücksichtigung von Sort-Symbol und Icon | ||
Autor: ProScan Elektronische Systeme | Bewertung: | Views: 6.319 |
www.smartcardtools.de | System: WinXP, Win7, Win8, Win10, Win11 | Beispielprojekt auf CD |
Dieser Tip berücksichtigt bei der korrekten Berechnung der Kopfzeile (Column) sowohl ein evtl. angezeigtes SortSymbol, als auch ein optionales Icon, indem die Mindestbreite der Spalte enstprechend festgelegt wird.
Public Sub SetDoColumnMinWidth(FRM As Form, ByRef ObjDatagrid As sevDataGrid2.sevGrid) On Error Resume Next ' - Lokale Deklaration - Dim nLoop As Integer Dim xWidth As Long ' - Optimale Spaltenbreite für Kopfzeilen + Data/Rows berechnen - With ObjDatagrid .LockUpdate True xWidth = IIf(.ShowSortSymbols, 16 * Screen.TwipsPerPixelX, 0) For nLoop = 1 To .Cols With .Columns(nLoop) .MinWidth = xWidth + CLng(FRM.TextWidth(.Caption) * 1.75) .MinWidth = IIf(.Image > 0, .MinWidth + (16 * Screen.TwipsPerPixelX), .MinWidth) .MinWidth = IIf(.ColType >= TYPE_IMAGE, .MinWidth + (16 * Screen.TwipsPerPixelX), .MinWidth) .Width = .MinWidth End With .DoColumnAutoSize nLoop ' Spaltenbreite (DATA) anpassen Next nLoop .LockUpdate False .RefreshEx End With End Sub