Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1820to1824
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 Label & Taskleiste

Userform Label & Taskleiste
20.03.2021 14:07:38
Everlost03
Hallo zusammen,
hätte einige Fragen zur Userform bzw zu dem was ich gerade bastel.
1. Habe ein Menü aus Commandbuttons die ich mit einem Label überlagere. Würde gern noch ein 2tes label drunter legen was nur aktiviert wird wenn ich mit der Maus drüber bin und entsprechend wieder ausgeblendet wird.
Also Mauszeiger über Label1 = Label2 sichtbar / Mauszeiger verlässt Label1 = Label2 nicht mehr sichtbar
2. Würde gern beim Label wie beim Commandbutton ein visuellen Effekt haben also klick = sunken und wieder in den Ursprung
3. Sofern möglich würde ich gern beim Start meiner Userform (starten automatisch Workbook open = Userform show die Windowstaskleiste ausblenden lassen und via Commandbutton der die Userform als auch Exel direkt beendet) wieder einblenden lassen.
MFG
Everlost03

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Userform Label & Taskleiste
20.03.2021 14:25:26
Nepumuk
Hallo,
lade mal eine Mustermappe mit deinem Userform hoch.
Taskleiste ein/ausblenden geht so:
Option Explicit

Private Declare PtrSafe Function ShowWindow Lib "user32.dll" ( _
    ByVal hwnd As LongPtr, _
    ByVal nCmdShow As Long) As Long
Private Declare PtrSafe Function FindWindowA Lib "user32.dll" ( _
    ByVal lpClassName As String, _
    ByVal lpWindowName As String) As LongPtr

Private Const GC_CLASSNAMETASKBAR As String = "Shell_TrayWnd"

Private Const SW_HIDE As Long = 0
Private Const SW_SHOW As Long = 5

Public Sub ShowTaskBar()
    Dim lngptrHwnd As LongPtr
    lngptrHwnd = FindWindowA(GC_CLASSNAMETASKBAR, vbNullString)
    Call ShowWindow(lngptrHwnd, SW_SHOW)
End Sub

Public Sub HideTaskBar()
    Dim lngptrHwnd As LongPtr
    lngptrHwnd = FindWindowA(GC_CLASSNAMETASKBAR, vbNullString)
    Call ShowWindow(lngptrHwnd, SW_HIDE)
End Sub

Gruß
Nepumuk

Anzeige
AW: Userform Label & Taskleiste
21.03.2021 10:53:36
Everlost03
Hallo Nepumuk,
ja der Code war mir schon bekannt...führt allerdings irgendwie nur dazu das die Leiste ausgeblendet aber nicht wieder eingeblendet wird. Habe das schon versucht das in ein Auto open und close unterzubringen aber ohne Erfolg.
Hier einmal das Muster
https://www.herber.de/bbs/user/144989.xlsm
MFG
Ever

AW: Userform Label & Taskleiste
21.03.2021 12:02:03
Nepumuk
Hallo Ever,
bei mir klappt das aus/einblenden der Taskleiste so:
Option Explicit

Private Sub Workbook_BeforeClose(Cancel As Boolean)
    Call ShowTaskBar
End Sub

Private Sub Workbook_Open()
    Call HideTaskBar
    UserForm1.Show
End Sub

Dazu musst du aber das Schließen-Makro im Userform so ändern:
Private Sub CommandButton112_Click()
    Dim objWorkbook As Workbook
    Application.EnableEvents = False
    For Each objWorkbook In Application.Workbooks
        If Not objWorkbook Is ThisWorkbook Then _
            objWorkbook.Close SaveChanges:=False
    Next objWorkbook
    ThisWorkbook.Saved = True
    Application.EnableEvents = True
    Application.Quit
End Sub

Den Effekt beim Label-Click bekommst du so hin:
Private Sub Label1_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
    Label1.SpecialEffect = fmSpecialEffectSunken
End Sub

Private Sub Label1_MouseUp(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
    Label1.SpecialEffect = fmSpecialEffectFlat
End Sub

Gruß
Nepumuk

Anzeige
AW: Userform Label & Taskleiste
24.03.2021 21:54:59
Everlost03
Hallo Nepumuk,
sry für die etwas spätte Rückmeldung...viel um die Ohren.
Also für die Taskleiste habe ich ein etwas anderen Befehl genutzt und den jeweils ins workbook sowie UF gesetzt. Für 32bit arbeitet das einwandfrei egal ob über beenden oder "x" beendet wird.. die Taskleiste wird eingeblendet.
Auch Vollbild also das die ausgeblendete Taskleiste mit genutzt wird habe ich hinbekommen.
Dein Mouse up u. Down läuft auch! Danke dir. Mousemove mit 2labeln geht jetzt auch.
Jetzt habe ich allerdings noch eine Baustelle die ich noch nicht lösen konnte:
Die UF passt sich jeder Auflösung an....aber die Controls nicht sprich Commandbuttons und mögliche Images. Gibt es etwas was die Controls ins Verhältnis der aktuellen UF setzt?
Stelle auf wunsch auch gern noch mal den Code für die Taskleiste via Mustermappe rein.
LG Ever

Anzeige
AW: Userform Label & Taskleiste
25.03.2021 08:27:07
Nepumuk
Hallo Ever,
ja, die Zoom-Eigenschaft des Userforms.
Gruß
Nepumuk

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige