Anzeige
Archiv - Navigation
1900to1904
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

Titelleiste

Titelleiste
22.10.2022 11:56:09
Ron
Hallo!
Ich habe eine kurze Frage.
Ich arbeite mit sehr vielen Userformen. Ist es möglich die Titeleisten in allen Userformen über ein Klassenmodul ausblenden zu lassen.
Aktuell muss ich in jeder Userfom den kompletten Code einfügen. Würde es aber gerne etwas übersichtlicher haben.
https://www.herber.de/bbs/user/155791.xlsm
Vilen Dank
Gruß

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Titelleiste
22.10.2022 12:36:21
Nepumuk
Hallo Ron,
in ein Standardmodul:

Option Explicit
Private Declare PtrSafe Function FindWindowA Lib "user32.dll" ( _
ByVal lpClassName As String, _
ByVal lpWindowName As String) As LongPtr
Private Declare PtrSafe Function GetWindowLongA Lib "user32.dll" ( _
ByVal hwnd As LongPtr, _
ByVal nIndex As Long) As LongPtr
Private Declare PtrSafe Function SetWindowLongA Lib "user32.dll" ( _
ByVal hwnd As LongPtr, _
ByVal nIndex As Long, _
ByVal dwNewLong As LongPtr) As LongPtr
Private Declare PtrSafe Function DrawMenuBar Lib "user32.dll" ( _
ByVal hwnd As LongPtr) As Long
Public Sub DeleteUserformCaption(ByVal pvlngCaption As String)
Dim Userform_hWnd As LongPtr
Dim Userform_Style As LongPtr
Const GWL_STYLE As Long = (-16)
Const WS_CAPTION As Long = &HC00000
Userform_hWnd = FindWindowA(lpClassName:="ThunderDFrame", lpWindowName:=pvlngCaption)
Userform_Style = GetWindowLongA(hwnd:=Userform_hWnd, nIndex:=GWL_STYLE)
Userform_Style = Userform_Style And Not WS_CAPTION
Call SetWindowLongA(hwnd:=Userform_hWnd, nIndex:=GWL_STYLE, dwNewLong:=Userform_Style)
Call DrawMenuBar(hwnd:=Userform_hWnd)
End Sub
Und der Aufruf im Userform so:

Private Sub UserForm_Initialize()
Call DeleteUserformCaption(Caption)
End Sub
Gruß
Nepumuk
Anzeige
AW: Titelleiste
22.10.2022 14:44:46
Ron
Hallo Nepumuk,
vielen Dank, funktioniert super.
Gruß
AW: Titelleiste
22.10.2022 17:13:21
snb
Im algemeines Makromodul:

Public Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Public Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Public Declare Function DrawMenuBar Lib "user32" (ByVal hWnd As Long) As Long
In jedem Userform

Private Sub UserForm_Initialize()
SetWindowLong FindWindow(vbNullString, Caption), -16, 0
DrawMenuBar FindWindow(vbNullString, Caption)
End Sub
Ich verstehe leider nicht wozu du mehrere UF-s verwendest.
Kennst du Multipage ?
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige