Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
1748to1752
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 fixieren geht das?

Userform fixieren geht das?
31.03.2020 13:41:42
Holly
Hallo zusammen,
ich versuche seit geraumer Zeit eine Userform im Bildschirm zu fixieren, damit diese nicht verschoben werden kann. Geht das überhaupt?
Vielen Dank für Eure Hilfe,
Gruss
Holly

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

Betreff
Datum
Anwender
Anzeige
AW: Userform fixieren geht das?
31.03.2020 16:56:41
Holly
Super vielen Dank- klappt einwandfrei!!!!
AW: Userform fixieren geht das?
31.03.2020 14:07:23
Nepumuk
Hallo Holly,
teste mal:
Option Explicit

Private Declare PtrSafe Function GetSystemMetrics Lib "user32.dll" ( _
    ByVal nIndex As Long) As Long
Private Declare PtrSafe Function GetDesktopWindow Lib "user32.dll" () As LongPtr
Private Declare PtrSafe Function GetDC Lib "user32.dll" ( _
    ByVal hwnd As LongPtr) As LongPtr
Private Declare PtrSafe Function ReleaseDC Lib "user32.dll" ( _
    ByVal hwnd As LongPtr, _
    ByVal hdc As LongPtr) As Long
Private Declare PtrSafe Function GetDeviceCaps Lib "gdi32.dll" ( _
    ByVal hdc As LongPtr, _
    ByVal nIndex As Long) As Long

Private Const SM_CXSCREEN As Long = 0&
Private Const SM_CYSCREEN As Long = 1&
Private Const LOGPIXELS_X As Long = 88&
Private Const LOGPIXELS_Y As Long = 90&

Private Sub UserForm_Layout()
    
    Left = GetSystemMetrics(SM_CXSCREEN) * GetResolution(LOGPIXELS_X) / 2 - Width / 2
    Top = GetSystemMetrics(SM_CYSCREEN) * GetResolution(LOGPIXELS_Y) / 2 - Height / 2
    
End Sub

Private Function GetResolution(ByVal pvlngLogPixel As Long) As Single
    
    Dim lngptrhWndDesk As LongPtr, lngptrhDCDesk As LongPtr
    Dim lnglogPixel As Long
    
    lngptrhWndDesk = GetDesktopWindow()
    lngptrhDCDesk = GetDC(lngptrhWndDesk)
    
    lnglogPixel = GetDeviceCaps(lngptrhDCDesk, pvlngLogPixel)
    
    Call ReleaseDC(lngptrhWndDesk, lngptrhDCDesk)
    
    GetResolution = 72 / lnglogPixel
    
End Function

Gruß
Nepumuk
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige