MS-Office-Forum
Google
   

Zurück   MS-Office-Forum > Microsoft Office > Microsoft Excel
Registrieren Forum Hilfe Alle Foren als gelesen markieren

Banner und Co.

Antworten
Ads Der Renner, 11 Entwicklertools für Access, Tipps & Trick und offene Datenbanken zum einzigartigen Preis.
Themen-Optionen Ansicht
Alt 20.10.2010, 12:02   #1
Yamuto
Neuer Benutzer
Neuer Benutzer
Suche VBA - Userform Transparent aber mit Graulichen hintergrund

Hi hier die Lösung eigentlich habe ich es mal als Frage gedacht aber habe es lösen können...

Gruss Yamuto

Code:

Private Declare Function GetKeyState Lib "USER32" (ByVal nVirtKey As Long) As Integer
'Zur Bildschirmauflösungsermittlung
Private Declare Function GetSystemMetrics Lib "USER32" _
      (ByVal nIndex As Long) As Long

Private Declare Function GetActiveWindow Lib "USER32" () As Long

Private Declare Function SetWindowLong Lib "USER32" Alias "SetWindowLongA" _
(ByVal hWnd As Long, _
ByVal lngWinIdx As Long, _
ByVal dwNewLong As Long) As Long

Private Declare Function GetWindowLong Lib "USER32" Alias "GetWindowLongA" _
(ByVal hWnd As Long, _
ByVal lngWinIdx As Long) As Long

Private Declare Function SetLayeredWindowAttributes Lib "USER32" _
(ByVal hWnd As Long, _
ByVal crKey As Integer, _
ByVal bAlpha As Integer, _
ByVal dwFlags As Long) As Long
   
Private Const WS_EX_LAYERED = &H80000
Private Const LWA_ALPHA = &H2
Private Const GWL_EXSTYLE = &HFFEC

Dim hWnd            As Long
Dim Transparancy    As Integer
Dim Running         As Boolean

Private Sub Admin_Click()
    Starter.Hide
    Password.Show
End Sub

Private Sub Anzeigen_Click()
    Starter.Hide
End Sub

Private Sub UserForm_Activate()
    'Userform Größe festlegen
    Dim intHoehe, intBreite
    
    'horizontal
    intHoehe = GetSystemMetrics(0)
    'vertikal
    intBreite = GetSystemMetrics(1)

    Starter.Height = intHoehe  'Anpassung Wesshalb auch immer muste ich diese Werte Mannuell
    Starter.Width = intBreite  'einfügen
    
    
    'Application.ScreenUpdating = False
    
    Admin.Left = intBreite - 100
    
    Call SemiTransparent(80) ' Hier den Transparenswert bestimmen ;)
    
End Sub

Public Sub SemiTransparent(ByVal intLevel As Integer)

Dim lngWinIdx       As Long

    hWnd = GetActiveWindow
    lngWinIdx = GetWindowLong(hWnd, GWL_EXSTYLE)
    SetWindowLong hWnd, GWL_EXSTYLE, lngWinIdx Or WS_EX_LAYERED
    SetLayeredWindowAttributes hWnd, 0, (255 * intLevel) / 100, LWA_ALPHA

End Sub

Geändert von Yamuto (20.10.2010 um 12:18 Uhr).
Yamuto ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Ads
Antworten


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Besucher: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge anzufügen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

vB Code ist An.
Smileys sind An.
[IMG] Code ist An.
HTML-Code ist An.
Gehe zu


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:32 Uhr.


Partner und Co.
Access-Paradies -Alles rund um die Datenbank Microsoft Access -Code -Programme-Tools -Tipps   Kostenlose Tipps & Tricks, Downloads und Programme   www.kulpa-online.com - Tipps - Tricks - Tutorials - Meinungen - Downloads uvm...   vb@rchiv · Willkommen in der Welt der VB Programmierung   Access-Garhammer - Hier finden Sie jede Menge Beispiel-Datenbanken zu Access und mehr ...   mcseboard.de   Die Top Seite für Excel-VBA-Makros uvm.

Powered by: vBulletin Version 3.6.2 (Deutsch)
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.

Copyright ©2000-2010 MS-Office-Forum. Alle Rechte vorbehalten.
Copyright ©Design: Manuela Kulpa ©Rechte: Günther Kramer
Eine Verwendung der Inhalte in anderen Publikationen, auch auszugsweise,
ist ohne ausdrückliche Zustimmung der Autoren nicht gestattet.
Beachten Sie bitte auch unsere Nutzungsbedingungen.