Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
296to300
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
296to300
296to300
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

AW: Userform ohne Titelleiste

An Hajo; Userform ohne obere Zeile
25.08.2003 01:37:42
Stefan Glander
Hallo Hajo,
ich bin der Meinung das ich bei rechachieren im Internet irgendwo einen Beitrag von Dir gelesen habe in dem Du beschrieben hast wie man mit der Oberen Zeile eines UF Umgehen kann( Laufschrift,bzw x unterbinden, keine obere Zeile)
Wenn mich meine Meinung nicht trübt, sage mir bitte wo ich den Beitrag fand.
Gruss
Stefan

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Userform ohne Titelleiste
25.08.2003 06:42:28
Hajo_Zi
Hallo Stefan
Option Explicit
' Userform mit einem CommandButton (CoEnde), um die Userform
' zu schließen. Mit rechtsklick auf die Maus in der Userform
' wird diese ebenfalls geschlossen. Abschnitt:
' "Unload UserForm1 ' Zum schließen, beim ausprobieren."
' von GraFri
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" _
(ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function GetWindow Lib "user32" (ByVal hwnd As Long, _
ByVal wCmd As Long) As Long
Private Declare Function GetWindowRect Lib "user32" (ByVal hwnd As _
Long, lpRect As RECT) As Long
Private Declare Function ReleaseCapture Lib "user32" () As Long
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" _
(ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Private Declare Function CreateRectRgn Lib "gdi32" (ByVal X1 As Long, _
ByVal Y1 As Long, ByVal X2 As Long, ByVal Y2 As Long) As Long
Private Declare Function SetWindowRgn Lib "user32" (ByVal hwnd As Long, _
ByVal hRgn As Long, ByVal bRedraw As Boolean) As Long
Private FensterRegion&, Region&
Private Hauptfensternummer&, Clientfensternummer&
Private dummy As Long
Private Type RECT
Left As Long
Top As Long
Right As Long
Bottom As Long
End Type
Private Const GW_CHILD = 5
Private Const WM_NCLBUTTONDOWN = &HA1
Private Const HTCAPTION = 2

Private Sub UserForm_Initialize()
Call FensterOhneKopf
End Sub

Sub FensterOhneKopf()
Dim Abmessung As RECT
Dim Abmessung1 As RECT
Dim Pos1x&, Pos1y&, Pos2x&, Pos2y&
If FensterRegion <> 0 Then Exit Sub
UserForm1.BorderStyle = fmBorderStyleSingle
Call Fensternummer(UserForm1, Abmessung, Abmessung1)
Pos1x = 0
Pos1y = (Abmessung1.Top - Abmessung.Top)
Pos2x = Abmessung.Right - Abmessung.Left
Pos2y = Abmessung.Bottom - Abmessung.Top
Region = CreateRectRgn(Pos1x, Pos1y, Pos2x, Pos2y)
FensterRegion = SetWindowRgn(Hauptfensternummer, Region, True)
End Sub

'Fensterhandles und Infos über Fenster holen

Private Sub Fensternummer(Form As Object, Abmessung As RECT, Abmessung1 As RECT)
Dim Fenstername$, Suchstring$
Suchstring = "UserForm ohne Titelzeile"
Fenstername = Form.Caption
Form.Caption = Suchstring
Hauptfensternummer = FindWindow(vbNullString, Suchstring)
Form.Caption = Fenstername
Clientfensternummer = GetWindow(Hauptfensternummer, GW_CHILD)
dummy = GetWindowRect(Hauptfensternummer, Abmessung)
dummy = GetWindowRect(Clientfensternummer, Abmessung1)
End Sub

'Folgendes ist notwendig, um die Form ohne Titelleiste zu verschieben
'

Private Sub UserForm_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, _
'ByVal X As Single, ByVal Y As Single)
'    If Button = 1 Then
'        If Hauptfensternummer <> 0 Then
'            dummy = ReleaseCapture()
'            dummy = SendMessage(Hauptfensternummer, WM_NCLBUTTONDOWN, HTCAPTION, 0)
'        End If
'    Else
'        Unload UserForm1 ' Zum schließen, beim ausprobieren.
'    End If
'End Sub


Private Sub CoEnde_Click()
Unload Me
End Sub

Falls Code vorhanden wurde dieser getestet unter Betriebssystem XP Pro und Excel Version XP SBE.
Bitte kein Mail, Probleme sollen im Forum gelöst werden.
Microsoft MVP für Excel
Das Forum lebt auch von den Rückmeldungen.
Zurzeit gibt es wieder Probleme mit der E-Mail Benachrichtigung.
Ich bekomme Mails zu Beiträgen an denen ich nicht beteiligt bin und zusätzlich noch Mails zu meinen eigenen Beiträgen.
Das Problem mit den eigenen Benachrichtigung kann gelöst werden durch Lösche und Neuanmelden. Dieses möchte ich aber nicht jeden Tag machen.
Um dieses Problem erstmal zu beseitigen habe ich die automatische Mailbenachrichtigung abgeschaltet.
Aus diesem Grunde ist es dem Zufall überlassen ob auf Rückfragen Antworten von mir kommen.

Anzeige
AW: Userform ohne Titelleiste
25.08.2003 06:52:15
Stefan Glander
Hallo Hajo,
erstmal wieder vielen Dank für Deine Hilfe. Leider kommt nun wieder mein Problem was gehört wo hin / In Modul oder Tabelle 1 oder UF ?
Bitte lass mich nicht dumm sterben
Gruss
Stefan

AW: Userform ohne Titelleiste
25.08.2003 06:55:08
Hajo_Zi
Hallo Stefan
wenn es in unterschiedliche Teile gehört benutze ich die Code Jeanie, die es dazu schreibt. Ansonsten gehört es in ein Teil. Der gesamte Code gehört in die Userform.
Falls Code vorhanden wurde dieser getestet unter Betriebssystem XP Pro und Excel Version XP SBE.
Bitte kein Mail, Probleme sollen im Forum gelöst werden.
Microsoft MVP für Excel
Das Forum lebt auch von den Rückmeldungen.

Anzeige
AW: Vielen Dank :-)) o.T
25.08.2003 06:57:03
Stefan Glander
.

Danke für die Rückmeldung oT
25.08.2003 06:57:30
Hajo_Zi
Syntaxfehler
25.08.2003 07:07:50
Stefan Glander
Hallo Hajo,
Nachdem ich folgendes aus dem Code genommen habe läuft es.
Vorher erhielt ich " Fehler beim Kompilieren
Syntaxfehler
Gruss
Stefan
'Folgendes ist notwendig, um die Form ohne Titelleiste zu verschieben
'

Private Sub UserForm_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, _
'ByVal X As Single, ByVal Y As Single)
'    If Button = 1 Then
'        If Hauptfensternummer <> 0 Then
'            dummy = ReleaseCapture()
'            dummy = SendMessage(Hauptfensternummer, WM_NCLBUTTONDOWN, HTCAPTION, 0)
'        End If
'    Else
'        Unload UserForm1 ' Zum schließen, beim ausprobieren.
'    End If
'End Sub


Anzeige
AW: Syntaxfehler
25.08.2003 07:28:30
Hajo_Zi
Hallo Stefan
da ist wohl was mit dem kopieren nicht rübergekommen.
'Folgendes ist notwendig, um die Form ohne Titelleiste zu verschieben
'Private Sub UserForm_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, _
'ByVal X As Single, ByVal Y As Single)
Gruß Hajo

AW: Danke 0.T
25.08.2003 07:40:59
Stefan Glander
.

AW: Sorry wegem neuem Beitrag
26.08.2003 16:37:51
Stefan Glander
Hallo Hajo,
verzeih bitte das ich einen neuen Beitrag geöffnet hatte.Habe nicht nachgedacht das Du mir ja diesen Code gegeben hast.
Gibt es eine Möglichkeit den Rand unten , links und rechts wegzubekommen ?
Sieht so etwas komisch aus wenn man das UF farbig macht.
Gruss
Stefan Glander

Anzeige
AW: Sorry wegem neuem Beitrag
26.08.2003 16:41:46
Hajo_Zi
Hallo Stefan
den neuen Beitrag habe ich gelesen, glaube ich jedenfalls. Das war der mit der günen Userform??
Dort wurde doch schon geantwortet und ich finde garnicht schlecht. Was spricht gegen den Vorschlag??

Falls Code vorhanden wurde dieser getestet unter Betriebssystem XP Pro und Excel Version XP SBE.
Bitte kein Mail, Probleme sollen im Forum gelöst werden.
Microsoft MVP für Excel
Das Forum lebt auch von den Rückmeldungen.

AW: Sorry wegem neuem Beitrag
26.08.2003 16:50:31
Stefan Glander
Hallo Hajo,
es ist ein rein optisches Problem, es sieht so einfach besser aus.
Von der funktionalität ist es egal.
Hatte eben nur gehoft das sowas durch umlegen eines Schalters oder ändern einer Zahl möglich wäre.
Hatte auch schon versucht ein Bild als Hintergrund aber es bleibt eben der Rand.
Aber wie gesagt ist rein optisch und ich werde es auch überleben, lach.
Vielen vielen Dank für die aufgebrachte Mühe.
Gruss
Stefan

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige