ERLEDIGT
NEIN
NEIN
ANTWORTEN
0
0
ZUGRIFFE
471
471
EMPFEHLEN
-
Hallo Leute,
ich habe vor einigen Wochen schon mal angefragt bzgl. einer Möglichkeit, alle geöffneten Formulare zu speichern und danach in dieser Reihenfolge wieder darzustellen.
Ziel ist, dass danach das selbe Formular zu oberst dargestellt wird resp. das die nachfolgende Reihenfolge erhalten bleibt.
Zu habe ich folgende Funktionen gemacht.
Speichern:
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
Private Function ControlsZOrder() As Collection On Error GoTo controlsZOrder_Error Dim hwnd As Long Dim col As Collection Set col = New Collection Dim frm As Form hwnd = GetDesktopWindowHWND hwnd = GetWindow(hwnd, 5) While hwnd > False col.Add hwnd hwnd = GetWindow(hwnd, 2) Wend controlsZOrder_Ende: On Error Resume Next Set ControlsZOrder = col Set frm = Nothing Set col = Nothing Exit Function controlsZOrder_Error: Debug.Print Err.Description & "(" & Err.Number & ")" & " controlsZOrder in frmMain " Debug.Assert (Err = False) On Error Resume Next WriteDBGView Err.Description & "(" & Err.Number & ")" & " controlsZOrder in frmMain ", App.EXEName GoTo controlsZOrder_Ende Resume End Function
Dazwischen werden über die Forms-Collection einige Formulare aufgerufen und geändert, daher einige Formulare treten in dern Vordergrund.
Danach stelle ich die Reihenfolge wie oben gespeichert mit folgender Prozedur her:
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
Private Sub ZOrderControls(Controls As Collection) On Error Resume Next Dim kFlags As Variant kFlags = &H2 Or &H1 Or &H10 Dim ii As Integer Dim nWnd As Long Dim nLastWnd As Long On Error Resume Next nLastWnd = CLng(Controls.Item(1)) For ii = 2 To Controls.Count ' nLastWnd = CLng(Controls.Item(Controls.Count)) ' ' For ii = Controls.Count To 2 Step -1 nWnd = CLng(Controls.Item(ii)) If Err.Number Then Err.Clear Else SetWindowPos nWnd, nLastWnd, 0, 0, 0, 0, kFlags nLastWnd = nWnd End If Next ii End Sub
Das Ganze habe ich leicht abgewandelt im Internet so gefunden. Leider scheint es nur auf den ersten Blick zu klappen, teilweise funktioniert es dann wieder gar nicht mehr.
Da ich keine Nachvollziehbarkeit habe, kann ich den Fehler auch nicht erkennen.
Hat jemand vlt. so was ähnliches bereits gesehen und kennt grad den Fehler?
Wie immer vielen Dank für alle Antworten
Ähnliche Themen
-
design zerstückelt, divs machen was sie wollen
Von hubbl im Forum CSSAntworten: 9Letzter Beitrag: 01.12.07, 00:43 -
Per Radiobutton Formular sichtbar machen
Von lifehunter im Forum Javascript & AjaxAntworten: 3Letzter Beitrag: 12.07.05, 00:31 -
HyperNurbs machen was sie wollen?
Von GRUBER im Forum Cinema 4DAntworten: 6Letzter Beitrag: 22.06.05, 13:19 -
Formular sichtbar machen für alle
Von mc-tape im Forum HTML & XHTMLAntworten: 5Letzter Beitrag: 27.06.04, 19:20





Zitieren
Login





