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

UserForm verschieben unterdrücken?!

UserForm verschieben unterdrücken?!
19.02.2004 11:36:27
Andre
Hi, kann ich irgendwie verhindern, dass sich eine Userform verschieben läßt, oder kann ich die Userform in Vollbild aufrufen, dass ein Verschieben nicht mehr zuläßt?
Die Benutzer sollen die Userform nicht einfach aus dem Bild schieben können, damit die Start-Userform immer einheitlich aussieht und das Tabellenblatt darunter nicht sichtbar ist!
Weiß jemand ob das überhaupt möglich ist und wenn ja vielleicht noch ´n kleinen Tip wie? Danke schonmal!

Gruß Andre

19
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: UserForm verschieben unterdrücken?!
19.02.2004 11:38:22
Hajo_Zi
Hallo Andre
schaue mal auf meine Homepage da ist ein Beispiel, auf der Seite Fremde Dateien
Falls Code vorhanden wurde dieser getestet unter Betriebssystem XP Pro und Excel Version XP SBE.
Bitte keine Mail, Probleme sollten im Forum gelöst werden.
Microsoft MVP für Excel
Das Forum lebt auch von den Rückmeldungen.
Betriebssystem XP Pro und Excel Version XP Pro


AW: UserForm verschieben unterdrücken?!
19.02.2004 11:43:20
Jan P
Hallo Andre,
keine direkte Hilfe aber vielleicht ein Ansatz:
Du kannst die Excel-Arbeitsmappe ausblenden, so daß auch beim Verschieben der UserForm die Mappe dahinter "unsichtbar" ist:

Private Sub UserForm_Initialize()
' Ausblenden der EXCEL-Arbeitsmappe
Application.Visible = False ' oder mit = True zum Einblenden
Vollbild der UserForm:
' Darstellung im Vollbild-Modus
Application.DisplayFullScreen = True
' UserForm der Größe des Excel-Fensters anpassen
With INVOICING
.Height = Application.Height
.Width = Application.Width
End With
UserForm nicht zu schließen:

Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
If CloseMode = vbFormControlMenu Then
MsgBox "Geht nicht." , vbInformation
Cancel = True
End If
End Sub

Mehr weiß ich zur zeit nicht...
Gruß Jan
Anzeige
AW: UserForm verschieben unterdrücken?!
19.02.2004 11:45:10
Galenzo
Hallo,
schreibe diesen Code in das Modul der Userform:


Option Explicit
Private Declare Function FindWindow Lib "user32" Alias _
      "FindWindowA" (ByVal lpClassName As StringByVal _
      lpWindowName As StringAs Long
Private Declare Function GetWindowLong Lib "user32" Alias _
      "GetWindowLongA" (ByVal hwnd As LongByVal nIndex _
      As LongAs Long
Private Declare Function SetWindowLong Lib "user32" Alias _
      "SetWindowLongA" (ByVal hwnd As LongByVal nIndex _
      As LongByVal dwNewLong As LongAs Long
Private Const GWL_STYLE As Long = -16

Private Sub UserForm_Initialize()
    Dim hWndForm As Long
    Dim frmStyle As Long
    Dim bCaption As Boolean
    If Val(Application.Version) >= 9 Then
        hWndForm = FindWindow("ThunderDFrame", Me.Caption)
    Else
        hWndForm = FindWindow("ThunderXFrame", Me.Caption)
    End If
    frmStyle = GetWindowLong(hWndForm, GWL_STYLE)
    SetWindowLong hWndForm, GWL_STYLE, frmStyle
Damit läßt sie sich nicht mehr verschieben.
mfg
Anzeige
AW: UserForm verschieben unterdrücken?!
19.02.2004 12:02:13
Jan P
Hallo,
habe versucht, das alles zu übernehmen...
Leider läßt sich das Fenster mit der UserForm nach wie vor verschieben...
Eine Fehlermeldung gibt es nicht...
MfG Jan
Leider nicht.
19.02.2004 12:30:37
Andre
Ich komme zum selben Ergebnis wie Jan, keine Fehlermeldung zwar, aber auch kein sichtbarer Effekt. Die Userform läßt sich immer noch verschieben.
Gruß Andre
AW: Alternative....
19.02.2004 12:36:06
Jan P
Option Explicit

Private Sub UserForm_Layout()
'   Von Bert Körn
' http://www.forum.excelabc.de/
Me.Move Application.Width / 2 - Me.Width / 2, Application.Height / 2 - Me.Height / 2
End Sub

das geht bei mir....
Anzeige
Genau, hab ich auch grad von Hajo´s Page!
19.02.2004 12:42:44
Andre
Danke Hajo! Funktioniert, wie lautet noch mal der Befehl, um den Bildschirm nicht mitlaufen zu lassen, d.h. ich möchte das Flackern nicht sehen!
Gruß Andre
AW: Genau, hab ich auch grad von Hajo´s Page!
19.02.2004 12:44:59
Hajo_Zi
Hallo Andre
Bildschirmaktualsierung, Makro laufen lassen ohne Anzeige
damit die Ausführung des Makros nicht angezeigt wird, kann man vor den Code schreiben
application.screenupdating = False im Hintergrund ohne Anzeige
Man darf dann nur nicht vergessen, dieses wieder auf True zu setzen.
Generell sollte man aber alles mit Activate und Select vermeiden
Bitte keine Mail, Probleme sollten im Forum gelöst werden.
Microsoft MVP für Excel
Das Forum lebt auch von den Rückmeldungen.
Betriebssystem XP Pro und Excel Version XP Pro


Anzeige
Ach ja, so war das, aber leider ...
19.02.2004 12:54:16
Andre
... funktioniert das nicht mit deinem Beispiel für die Userform, denn das Flackern kann man immer noch sehen.
Hast du vielleicht noch ´ne Idee wie ich das Flackern unsichbar machen kann?
mfg Andre
AW: Ach ja, so war das, aber leider ...
19.02.2004 12:56:36
Hajo_Zi
Hallo Andre
Generell sollte man aber alles mit Activate und Select vermeiden

Bitte keine Mail, Probleme sollten im Forum gelöst werden.
Microsoft MVP für Excel
Das Forum lebt auch von den Rückmeldungen.
Betriebssystem XP Pro und Excel Version XP Pro


Anzeige
AW: Ach ja, so war das, aber leider ...
19.02.2004 13:03:00
Andre
Sorry, ich bin dir ausgesprochen dankbar für deine Hilfe, aber ich hab im Moment keinen Schimmer wie ich diese beiden Informationen mit deinem Beispiel der Userform verknüpfen kann! Daher meine Frage.
Könntest da mir vielleicht ´n konkretes Beispiel geben? Wäre sehr nett.
Gruß Andre
AW: Ach ja, so war das, aber leider ...
19.02.2004 13:11:27
Hajo_Zi
Hallo Andre
Da kann ich Dir nicht helfen. In meinem Beispiel wird nichts selktiert und auch nicht Activiert, darum flakkert der Bildschirm auch nicht.

Bitte keine Mail, Probleme sollten im Forum gelöst werden.
Microsoft MVP für Excel
Das Forum lebt auch von den Rückmeldungen.
Betriebssystem XP Pro und Excel Version XP Pro


Anzeige
Wie jetzt?
19.02.2004 13:18:00
Andre
Bei dir flackert die Userform nicht, wenn man versucht sie mit der Maus festzuhalten und zu verschieben?
Gruß Andre
AW: Wie jetzt?
19.02.2004 13:42:28
Hajo_Zi
Hallo Andre
Grundlage für eine genaue Beantwortung der Frage ist eine genaue Beschreibung des Fehlers. In keinmen Deiner Beiträge stand.
Bei dir flackert die Userform nicht, wenn man versucht sie mit der Maus festzuhalten und zu verschieben?
Dazu habe ich keine Lösung.

Bitte keine Mail, Probleme sollten im Forum gelöst werden.
Microsoft MVP für Excel
Das Forum lebt auch von den Rückmeldungen.
Betriebssystem XP Pro und Excel Version XP Pro


Anzeige
Okay, sorry, hatte mich da wohl ungenau geäußert!
19.02.2004 13:46:48
Andre
AW: Korrektur
19.02.2004 13:03:01
Galenzo
da ist irgendwas mit meinem Code schiefgelaufen.
Hab wohl beim reinkopieren etwas zuviel gelöscht:
Die vorletzte Zeile muß heißen:
frmStyle = (GetWindowLong(hWndForm, GWL_STYLE)) And Not &HC00000
nun sollte es gehn.
mfg
AW: Korrektur
19.02.2004 13:08:42
Andre
Danke, jetzt funktioniert´s, aber leider kann ich die Userform jetzt auch nicht mehr über "X" schließen. Kann man diese Funktion in deinem Beispiel trotzdem freigeben?
Gruß Andre
AW: "Cancel"-Button
19.02.2004 13:46:09
Galenzo
nee - brauchst ein separaten "Schließen"-Button mit der Anweisung
Unload Me
Okay, danke für deine Hilfe. o.T.
19.02.2004 13:48:00
Andre

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige