ABOUT Visual Basic Programmieren Programmierung Download Downloads Tips & Tricks Tipps & Tricks Know-How Praxis VB VBA Visual Basic for Applications VBS VBScript Scripting Windows ActiveX COM OLE API ComputerPC Microsoft Office Microsoft Office 97 Office 2000 Access Word Winword Excel Outlook Addins ASP Active Server Pages COMAddIns ActiveX-Controls OCX UserControl UserDocument Komponenten DLL EXE
Diese Seite wurde zuletzt aktualisiert am 15.01.2001

Diese Seite wurde zuletzt aktualisiert am 15.01.2001
Aktuell im ABOUT Visual Basic-MagazinGrundlagenwissen und TechnologienKnow How, Tipps und Tricks rund um Visual BasicActiveX-Komponenten, Controls, Klassen und mehr...AddIns für die Visual Basic-IDE und die VBA-IDEVBA-Programmierung in MS-Office und anderen AnwendungenScripting-Praxis für den Windows Scripting Host und das Scripting-ControlTools, Komponenten und Dienstleistungen des MarktesRessourcen für Programmierer (Bücher, Job-Börse)Dies&Das...

Themen und Stichwörter im ABOUT Visual Basic-Magazin
Code, Beispiele, Komponenten, Tools im Überblick, Shareware, Freeware
Ihre Service-Seite, Termine, Job-Börse
Melden Sie sich an, um in den vollen Genuss des ABOUT Visual Basic-Magazins zu kommen!
Informationen zum ABOUT Visual Basic-Magazin, Kontakt und Impressum

Zurück...

Rechtsanpassung

Zurück...


Anzeige

(-hg) mailto:hg_listviewadjustrightcolumn@aboutvb.de

Wenn Sie die am weitesten rechts stehende (oder auch eventuell einzige) Spalte in einem ListView-Steuerelement im Report-Modus automatisch an die Innenbreite des ListView-Steuerelements anpassen möchten, benötigen Sie zunächst diese tatsächliche Innenbreite. Diese liefert Ihnen die API-Funktion MSDN Library - API GetClientRectGetClientRect. Dieser übergeben Sie das Fenster-Handle (hWnd) des ListViews und eine benutzerdefinierte Variable des Typs MSDN Library - API RECTRECT (mit den Elementen Left, Top, Right und Bottom als Datentyp Long). Die Funktion gibt immer die Innenmaße eines Steuerelements (bzw. Fensters) in Pixels zurück - die Breite im Element Right, die Höhe im Element Bottom. Die Elemente Left und Top sind bei dieser Funktion immer gleich 0.

Ist die rechte Spalte eines ListViews sichtbar, liegt also deren Left-Position innerhalb der Innenbreite, soll die Spalte so breit werden, wie die Differenz aus Innenbreite und Left-Position der Spalte, um den verbleibenden Raum ganz auszufüllen. Liegt die Left-Position jenseits der Innenbreite, können Sie die Breite der Spalte unberührt lassen, damit sie durch horizontales Rollen erreichbar und sichtbar bleibt. Allerdings empfiehlt es sich, eine Mindestbreite festzulegen, damit die Spalte nicht auf die Breite 0 zusammengeschoben wird, wenn das ListView-Steuerelement beispielsweise bei einer automatischen Anpassung von dessen Größe an seinen Container kontinuierlich zusammengeschoben wird.

Die Hilfs-Funktion ListViewAdjustRightColumn erledigt die Anpassung der rechten Spalte. Als Parameter übergeben Sie ihr das betreffende ListView-Steuerelement und optional die gewünschte Mindestbreite.

Private Type RECT
  Left As Long
  Top As Long
  Right As Long
  Bottom As Long
End Type

Private Declare Function GetClientRect Lib "user32" _
 (ByVal hwnd As Long, lpRect As RECT) As Long

Public Sub ListViewAdjustRightColumn(ListView As ListView, _
 Optional ByVal MinWidth As Single)

  Dim nRect As RECT
  
  With ListView
    GetClientRect .hwnd, nRect
    nRect.Right = nRect.Right * Screen.TwipsPerPixelX
    With .ColumnHeaders(.ColumnHeaders.Count)
      If .Left < nRect.Right Then
        .Width = nRect.Right - .Left
      End If
      If .Width < MinWidth Then
        .Width = MinWidth
      End If
    End With
  End With
End Sub

Beispiel-Projekt und Modul modListViewAdjustRightColumn (listviewadjustrightcolumn.zip - ca. 3,5 KB)


Artikel
Zum Download-Bereich dieses Artikel
Mail an den Autor dieses Artikels

KnowHow
Zur KnowHow-Übersicht

KnowHow-Themen
Themen - Allgemeines
Themen - Entwicklungsumgebung (VB-IDE)
Themen - Forms
Themen - Steuerelemente (Controls)
Themen - Grafik
Themen - Dateien
Themen - UserControls
Themen - Einsteiger-Tipps
Themen - Wussten Sie...?

Übersicht nach Titeln in alphabetischer Reihenfolge
Übersicht nach Erscheinungsdatum

Schnellsuche




Zum Seitenanfang

Copyright © 1999 - 2017 Harald M. Genauck, ip-pro gmbh  /  Impressum

Zum Seitenanfang

Zurück...

Zurück...

Download Internet Explorer