Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
688to692
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
688to692
688to692
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Fenster schließen!

Fenster schließen!
04.11.2005 22:00:54
Swen
Hallo an alle,
wie heißt das Ereignis wenn man oben rechts ein Userorm über das
kleine "x" schließt?
Gruß
Swen

14
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Fenster schließen!
04.11.2005 22:12:53
Hilbman
Hallo Swen,
In der Userform kann man z.b. durch einen Button das Fenster mit folgendem code
schließen :

Private Sub CommandButton1_Click()
Unload Me
End Sub

Gruß Hilbman
AW: Fenster schließen!
04.11.2005 22:19:27
Swen
Hallo Hilbmann & alle,
das kenne ich schon ich möchte aber gerne das wenn
ich oben rechts das Fenster schließe noch etwas
dazu geben, daher muß ich wissen wie das Ereigniss
heist in VBA welches in dem Moment gestartet wird wenn
man das X obern rechts zum schließen drückt!
Gruß
Swen
AW: Fenster schließen!
04.11.2005 22:36:43
Matthias
Hi Swen,
ergänzend zu Leos Antwort ein Beispiel:

Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
If CloseMode = 0 Then
If MsgBox("X geklickt! Wirklich Schließen?", vbYesNo) = vbNo Then Cancel = True
End If
End Sub

Gruß Matthias
Anzeige
AW: Fenster schließen!
05.11.2005 00:38:34
Leo
Hi,
hast du schon mal ein professionelles Programm gesehen, bei dem eine Abfrage beim Klick auf das Schließkreuz erfolgt?
Hintergrund der Frage ist sicher, dass beim Klick auf den Schließen-Button irgenwelche Aktionen ausgeführt werden. Diese können ebensogut in QueryClose erledigt werden.
mfg Leo
AW: Fenster schließen!
05.11.2005 01:22:20
Matthias
Hi Leo,
ich wollte da jetzt kein professionelles Programm erstellen, sondern nur darstellen, dass man mit Cancel=True das Schießen auch verhindern kann ;-))
Gruß Matthias
AW: Fenster schließen!
05.11.2005 01:43:29
Leo
Hi,
"...sondern nur darstellen, dass man mit Cancel=True das Schießen auch verhindern kann ;-))"
...und genau das wirst du in einem "richtigen" Programm nicht antreffen. das Schließkreuz ist, wie der Name schon sagt, zum Schließen da. Wenn noch was aufgeräumt werden muss, kann das ja in diesem Ereignis erledigt werden oder halt in einer Sub, die sowohl von QueryClose, als auch vom Schließen- Button aufgerufen wird. Warum den user mit nicht windowsgemäßen Tatsachen konfrontieren?
mfg Leo
Anzeige
AW: Fenster schließen!
05.11.2005 09:08:37
Matthias
Hi Leo,
Warum den user mit nicht windowsgemäßen Tatsachen konfrontieren?
Du meinst also, Excel ist unprofessionell, weil sie so eine Möglichkeit eingebaut haben? Ich wollte ihm ja nur die Möglichkeit zeigen.
Wenn ich Eccel schließen will fragt er auch: Änderungen speichern? ja/nein/Abbrechen.
Und warum sollte ein Anwender in einem Userform nicht mal versehentlich das Schließkreuz geklickt haben, ohne z.B. zu wissen, das damit seine Änderungen verloren gehen.
Gruß Matthias
AW: Fenster schließen!
04.11.2005 22:17:46
Leo
Hi,
falls du das Ereignis meinst, was dadurch ausgelöst wird, ist es QueryClose.
mfg Leo
Anzeige
AW: Fenster schließen!
04.11.2005 22:34:22
Schwab
Du könntest auch einfach das X ausblenden lassen und dir selbst ne kleine Grafik einfügen.
Dann kannst du ganz normal mit dem Ereignis weitermachen, was passiert, wenn man auf die Grafik klickt.
AW: Fenster schließen!
04.11.2005 22:50:16
Swen
Hallo Schwab,
wie kann man sie ausblenden?
gruß
swen
AW: Fenster schließen!
05.11.2005 00:37:08
Schwab
Hierfür musst du folgenden Code einfügen:
[code]
Private Declare Function FindWindow Lib "User32" Alias "FindWindowA" ( _
ByVal lpClassName As String, _
ByVal lpWindowName As String) As Long
Private Declare Function GetWindowLong Lib "User32" Alias "GetWindowLongA" ( _
ByVal hWnd As Long, _
ByVal nIndex As Long) As Long
Private Declare Function SetWindowLong Lib "User32" Alias "SetWindowLongA" ( _
ByVal hWnd As Long, _
ByVal nIndex As Long, _
ByVal dwNewLong As Long) As Long
Private Declare Function DrawMenuBar Lib "User32" ( _
ByVal hWnd As Long) As Long
Private Const GWL_STYLE = -&H10
Private Const WS_SYSMENU = &H80000

Private Sub UserForm_Activate()
Dim lHwnd As Long
lHwnd = FindWindow("ThunderDFrame", Me.Caption)
SetWindowLong lHwnd, GWL_STYLE, GetWindowLong(lHwnd, GWL_STYLE) And Not WS_SYSMENU
DrawMenuBar lHwnd
End Sub

[/code]
Dann wird das X usw. ausgeblendet.
Beim erstellen der Userform wird es zwar noch angezeigt, aber beim ausführen nicht.
Jetzt kannst du einfach eine selbsterstellte Grafik einfügen und ihr dann z.B. das Ereignis "hide" hinzufügen beim Click darauf.
So mache ich es eigentlich immer, ist easy :)
Gruß
Schwab
Anzeige
AW: Fenster schließen!
05.11.2005 18:46:01
Swen
Hallo ihr beiden,
wo muß
code]
Private Declare Function FindWindow Lib "User32" Alias "FindWindowA" ( _
ByVal lpClassName As String, _
ByVal lpWindowName As String) As Long
Private Declare Function GetWindowLong Lib "User32" Alias "GetWindowLongA" ( _
ByVal hWnd As Long, _
ByVal nIndex As Long) As Long
Private Declare Function SetWindowLong Lib "User32" Alias "SetWindowLongA" ( _
ByVal hWnd As Long, _
ByVal nIndex As Long, _
ByVal dwNewLong As Long) As Long
Private Declare Function DrawMenuBar Lib "User32" ( _
ByVal hWnd As Long) As Long
Private Const GWL_STYLE = -&H10
Private Const WS_SYSMENU = &H80000
eingefügt werden?
Gruß
Swen
Anzeige
AW: Fenster schließen!
05.11.2005 18:47:35
Matthias
Hi Swen,
alles ins Userform-Codemodul.
Gruß Matthias
AW: Fenster schließen!
04.11.2005 23:07:08
Matthias
Hallo Schwab,
Betonung auf einfach, gell? ;-)
Gruß Matthias
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige
Archiv - Verwandte Themen
Forumthread
Beiträge