Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1108to1112
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

UserForm MinMax-Problem

UserForm MinMax-Problem
Thomas
Hallo Liebe Excel-VBA-Experten,
nachdem ich einen Code gefunden habe, der es mir ermöglicht, mittels eines Klassen-Moduls, die MinMax-Buttons auf die Titelleiste meiner UserFormen zu bekommen, stellt sich mir folgendes Problem:
Die UserForm1 wird geöffnet und durch klicken auf den MaxButton in der Titelleiste maximiert.
Nun wird die UserForm1 durch Unload beendet und eine andere, z.B. UserForm2 geöffnet.
Diese ekennt durch eine Public-Variable, ob die UserForm1 zuvor maximiert wurde, oder nicht.
Ist dies der Fall, maximiert sich die zweite UserForm durch:
With Application
frmName.Left = .Left
frmName.Top = .Top
frmName.Width = .Width
frmName.Height = .Height
End With
Warum wird nun der MaxButton der zweiten, sozusagen automatisch, also nicht durch anklicken maximierten UserForm, nicht so dargestellt wir der der ersten?
Und vor Allem, warum reagiert dieser, wenn ich ihn anklicke nicht so wie bei der ersten und reduziert die UserForm zurück auf Normalmaß?
Mit der Bitte um Hilfe verbleibe ich
mfg
Thomas

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: UserForm MinMax-Problem
20.10.2009 17:07:14
xr8k2
Hallo Thomas,
ich glaub, um dir da einen Hinweis zu geben, musst du schon mal noch den Code des erwähnten Klassenmoduls zu den Min/Max Buttons posten.
Schätzungsweise wird vielleicht ist die 2. UF nicht korrekt mit der gewünschten Klasse initialisiert sein.
Gruß,
xr8k2
AW: UserForm MinMax-Problem
20.10.2009 18:01:28
Thomas
Hallo xr8k2,
vielen Dank für Deine Antwort.
Der Einfachheit halber in der Anlage eine kleine Demodatei.
Was ich möchte, ist aus der Excel-Tabelle die UserForm 'Menue' öffnen.
Dann diese durch den Button in der Taskleiste maximieren.
Danach auf der UserForm 'Menue' den Button 'UserForm1' klicken.
('UserForm1' wird nun maximiert geöffnet)
Die 'UserForm1' durch klicken auf den Button in der Taskleiste wieder
auf Normalgröße zurücksetzen und 'schließen'.
Kannst Du mir bitte helfen, daß das auch so funktioniert?
mfg
Thomas
Anzeige
Ist die datei?
20.10.2009 18:05:07
Wo
oT
AW: UserForm MinMax-Problem
20.10.2009 18:05:08
Thomas
Hallo xr8k2,
vielen Dank für Deine Antwort.
Der Einfachheit halber in der Anlage eine kleine Demodatei.
https://www.herber.de/bbs/user/65224.xls
Was ich möchte, ist aus der Excel-Tabelle die UserForm 'Menue' öffnen.
Dann diese durch den Button in der Titelleiste maximieren.
Danach auf der UserForm 'Menue' den Button 'UserForm1' klicken.
('UserForm1' wird nun maximiert geöffnet)
Die 'UserForm1' durch klicken auf den Button in der Titelleiste wieder
auf Normalgröße zurücksetzen und 'schließen'.
Kannst Du mir bitte helfen, daß das auch so funktioniert?
mfg
Thomas
Anzeige
AW: UserForm MinMax-Problem
20.10.2009 19:31:31
Thomas
Hallo Liebe Experten,
ich bitte vielmals um Entschuldigung, aber ich glaube,
daß ich zuletzt nicht nur die Anlage vergessen, sondern
auch die Frage nicht mehr als noch offen gesetzt habe.
Das ist sie nämlich noch
Der Einfachheit halber in der Anlage eine kleine Demodatei.
https://www.herber.de/bbs/user/65224.xls
Was ich möchte, ist aus der Excel-Tabelle die UserForm 'Menue' öffnen.
Dann diese durch den Button in der Titelleiste maximieren.
Danach auf der UserForm 'Menue' den Button 'UserForm1' klicken.
('UserForm1' wird nun maximiert geöffnet)
Die 'UserForm1' durch klicken auf den Button in der Titelleiste wieder
auf Normalgröße zurücksetzen und 'schließen'.
Kann mir bitte jemand helfen, daß das auch so funktioniert?
mfg
Thomas
Anzeige
AW: UserForm MinMax-Problem
20.10.2009 20:45:33
Original
Hi,
das kann so nicht funktionieren, weil du die Userform nicht maximierst, sondern bei Windowstate
normal das Maß auf das der anderen userform bringst.
Das kann nur über eine Windowstate-Anweisung mit API gehen, da es diese Eigenschaft
in den Forms standardmäßig nicht gibt.
mfg Kurt
AW: UserForm MinMax-Problem
20.10.2009 21:17:34
Thomas
Hallo Kurt,
vielen Dank für Deine Antwort.
Nun habe ich leider das Problem, daß ich nicht weiß wie ich das mit einer
Windowstate-Anweisung mit API hinbekommen soll.
Ehrlich gesagt, habe ich schon das was in dem Beispiel vorhanden ist,
mühsam im Netz zusammengesucht, ohne recht zu verstehen was da
eigentlich abläuft.
Wenn Du weißt, wie meine Beispiel-Datei zu ergänzen wäre, daß das
was ich mir vorgestellt habe auch so funktioniert, bitte ich Dich recht
herzlich mir das zu sagen, bzw. in der Beispiel-Datei zu zeigen wie.
mfg
Thomas
Anzeige
AW: UserForm MinMax-Problem
22.10.2009 16:52:20
xr8k2
Hallo Thomas,
sorry, dass ich mich erst jetzt melde ... viel zu tun ... keine Zeit ;-)
Der Kurt hat vollkommen recht. Füge mal deinem Klassenmodul noch folgenden API-Verweis hinzu:
Public Property Let WindowState(ByVal frmStatus As Long)
ShowWindow FindWindow(vbNullString, objMinMaxUF.Caption), frmStatus
End Property
Das Activate deiner 2. UF schreibst du so:
Private Sub UserForm_Activate()
' Icon, MinMaxButton, Schließkreuz inaktiv
Set objDieseUF.formular = Me
' FensterFormat prüfen auf min/max
Call UserForm_MinMax(objDieseUF)
End Sub
Und deine Sub Userform_MinMax so:
Sub UserForm_MinMax(ByRef frmName As Object)
' wenn die UserForm maximiert ist
If FensterFormat = "maximal" Then frmName.WindowState = 3
End Sub
Das sollte dann eigentlich funktionieren.
Gruß,
xr8k2
Anzeige
AW: UserForm MinMax-Problem
22.10.2009 18:00:41
Thomas
Hallo xr8k2,
vielen DANK für Deine Hilfe!
Natürlich funktioniert es ganz ausgezeichnet.
mfg
Thomas

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige