Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1684to1688
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

UF ListView Position

UF ListView Position
16.04.2019 04:53:07
Ludmila
Hallo,
in einer UF MultiPage habe ich 5 Pages in jeder Page sind ListView's.
Nun ist es so das es immer wieder passiert, das das ListView im Page links oben erscheint und somit alle anderen Steuerelemte überdeckt.
Beim 2.ten mal öffnen einer Seite ist das ListView an der richtigen Stelle.
Wad mache ich falsch?
Danke!
Gruß
Ludmila
Alle Seiten werden gleich geöffnet
With UF1
'Damit Change nicht ausgelöst wird
.Tag = "X"
'öffnet Page Miatarbeiter
.MP1.Pages(4).Visible = True
.MP1.Value = 4
.cmdExitUF.Caption = "zum Menu"
.lblArbTitel.Caption = "Zeiterfassung - Verwaltung"
'Steuerelemente leeren
For Each obj In .MP1.Pages(4).Controls
Select Case TypeName(obj)
Case "TextBox": obj.Value = ""
Case "ComboBox": obj.Clear: obj.Enabled = False
End Select
Next obj
'ListView beschriften
With .ListViewZeitMonat
.Left = 322
.Top = 18
.FullRowSelect = True
.ColumnHeaders.Clear
.ListItems.Clear
.Gridlines = True
.AllowColumnReorder = False
.View = 3
.ColumnHeaders.Add , , "Tag", 50: .ColumnHeaders(1).Alignment = lvwColumnLeft
.ColumnHeaders.Add , , "A/U/K", 30: .ColumnHeaders(2).Alignment = lvwColumnCenter
.ColumnHeaders.Add , , "Projekt 1", 150: .ColumnHeaders(3).Alignment = lvwColumnLeft
.ColumnHeaders.Add , , "Stunden", 50: .ColumnHeaders(4).Alignment = lvwColumnRight
.ColumnHeaders.Add , , "Projekt 2", 150: .ColumnHeaders(5).Alignment = lvwColumnLeft
.ColumnHeaders.Add , , "Stunden", 50: .ColumnHeaders(6).Alignment = lvwColumnRight
.ColumnHeaders.Add , , "Std./Tag", 60: .ColumnHeaders(7).Alignment = lvwColumnRight
.ColumnHeaders.Add , , "Vorschuß", 60: .ColumnHeaders(8).Alignment = lvwColumnRight
End With
'Steuerelemete einlesen
Hier werden Daten in ComboBoxen eingelesen
.Tag = ""
End with
End Sub

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: UF ListView Position
16.04.2019 09:38:43
Nepumuk
Hallo Ludmila,
das ist leider ein "normales" Verhalten von ListViews auf einem MultiPage-Control. Das einzige was hilft, beim Start des UserForms einmal alle Seiten aktivieren. Das kannst du so machen:
Option Explicit

Private Declare PtrSafe Function FindWindowA Lib "user32.dll" ( _
    ByVal lpClassName As String, _
    ByVal lpWindowName As String) As LongPtr
Private Declare PtrSafe Function LockWindowUpdate Lib "user32.dll" ( _
    ByVal hwndLock As LongPtr) As Long

Private Const GC_CLASSNAME_USERFORM = "ThunderDFrame"

Private Sub UserForm_Initialize()
    Dim lngptrHwnd As LongPtr
    Dim lngIndex As Long
    lngptrHwnd = FindWindowA(GC_CLASSNAME_USERFORM, Caption)
    Call LockWindowUpdate(lngptrHwnd)
    With MultiPage1
        For lngIndex = 0 To .Pages.Count - 1
            .Value = lngIndex
        Next
        .Value = 0
    End With
    Call LockWindowUpdate(0)
End Sub

Gruß
Nepumuk
Anzeige
AW: UF ListView Position
17.04.2019 03:22:49
Ludmila
Hallo Nepumuk,
leider funktioniert es nicht.
Ich mache es nun wie folgt
'öffnet Page Miatarbeiter
.MP1.Pages(4).Visible = True
.MP1.Value = 4
.MP1.Value = 0
.MP1.Value = 4
Danke klappt es.
Zwar umständlich aber..
Gruß
Ludmila

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige