Ergebnis 1 bis 8 von 8
  1. #1
    Anfänger
    Registriert seit
    17.01.2008
    Beiträge
    17

    Standard [VB6-Source] Transparente Fenster

    Weiß nicht ob es das hier schon gibt aber ich Persönlich finde es immer ganz nett wenn ein Programm ein bischen Transparent ist.
    Hier ein bespiel:



    Eigentlich ist diese Nette Funktion ziemlich einfach zu realiesieren, als erstes müsst ihr ein Modul anlegen, in den kommt dann dieser Code

    Code:
    Option Explicit
    
    Declare Function GetWindowLong Lib "user32.dll" _
                     Alias "GetWindowLongA" ( _
                     ByVal hWnd As Long, _
                     ByVal nIndex As Long) As Long
                     
    Declare Function SetWindowLong Lib "user32.dll" _
                     Alias "SetWindowLongA" ( _
                     ByVal hWnd As Long, _
                     ByVal nIndex As Long, _
                     ByVal dwNewLong As Long) As Long
                     
    Declare Function SetLayeredWindowAttributes Lib "user32.dll" ( _
                     ByVal hWnd As Long, _
                     ByVal crKey As Long, _
                     ByVal bAlpha As Byte, _
                     ByVal dwFlags As Long) As Long
    
    Public Const GWL_EXSTYLE = (-20)
    Public Const WS_EX_LAYERED = &H80000
    
    'Macht nur eine Farbe transparent
    'Public Const LWA_COLORKEY = &H1
    
    'Macht das ganze Fenster transparent
    Public Const LWA_ALPHA = &H2
    
    Public Sub Mache_Transparent(hWnd As Long, Rate As Byte)
        '### funktioniert nur unter Windows 2000 oder XP!!!
        '### macht das Fenster, dessen hWnd übergeben wurde, transparent
        '### Rate: 254 = normal 0 = ganz transparent (also unsichtbar)
        '### 190 ist z.B. ein guter Wert
        
        Dim WinInfo As Long
        
        WinInfo = GetWindowLong(hWnd, GWL_EXSTYLE)
        
        If Rate < 255 Then
            WinInfo = WinInfo Or WS_EX_LAYERED
            SetWindowLong hWnd, GWL_EXSTYLE, WinInfo
            SetLayeredWindowAttributes hWnd, 0, Rate, LWA_ALPHA
        Else
            'Wenn als Rate 255 angegeben wird,
            'so wird der Ausgangszustand wiederhergestellt
            WinInfo = WinInfo Xor WS_EX_LAYERED
            SetWindowLong hWnd, GWL_EXSTYLE, WinInfo
        End If
    End Sub
    So und damit ihr den dann in eurer Form aktivieren könnt muss noch der Code

    Code:
    Private Sub Form_Load()
    Call Mache_Transparent(Me.hWnd, 190) ' Macht das fenster Transperent, 190 ist ein guter wert
    End Sub
    einfügen.

    Wahlweise könnt ihr das natürlich auch auf zwei Button legen wobei ihr immer bedenken müsste das 0 = durchsichtig und 254 = normal ist

    Hier ist das ganze sonst auch nochmal als vb6 projekt für die die z.B. nicht wissen wie man ein Modul erstellt

    Hoffe euch gefällts, und bitte nicht rumjamern das der Code nicht von mir ist, er ist NICHT von mir habe ihn über google gefunden und dachte das ich ihn mit euch teile

    Grüße

  2. #2

    Standard

    Cool THX... habe schon wie ein Plöder danach gesucht!

    gruß,
    mo1c

    Added after 88 hours 11 minutes:

    Der zeigt mir auf einmal das an:

    "hWnd" ist kein Member von "thandorpack.Form1".

    Aber davor ging es noch... Kann mir jemand weiter Helfen?


  3. #3
    W32.Lovgate
    Registriert seit
    04.11.2007
    Beiträge
    365

    Standard

    bin bissl zu dämlich dafür
    gibts jemanden der mir das
    schnell über teamviewer oder
    icq erklären könnte?!

  4. #4
    Stanley Jobson
    Registriert seit
    03.10.2007
    Beiträge
    655

    Standard

    Das müsste dir vlt helfen
    http://archiv.vb-x.org/viewtopic.php?t=2552

    Hier mein BM Link
    [6/0]

  5. #5

    Standard

    Also das scheint ja für VB6 zu sein... habe mal nach einer Lösung für VB .NET gesucht und sihe da es ist ja tatsächlich nur eine Zeile.

    Ich versuche seit Wochen rum und dabei ist es nur eine plöde kleiner Zeile...


    Me.Opacity = 0.5


  6. #6
    (╯°□°)╯︵ ┻━┻ Avatar von BadboyGER
    Registriert seit
    27.05.2007
    Beiträge
    709

    Standard

    @ mo1c :

    Was hat jetzt dieser Beitrag gebracht ? Poste nicht solche dummen Beiträge.

    1. Ist das hier nicht die richtige Sction
    2. Wenn du seit Wochen für eine Lösung suchst die nur eine Zeile ist und auch in der MSDN-Library ist ist das echt arm.

    MfG.
    BadboyGER


    [B] Meine Seele
    [S] Große Liebe

  7. #7
    Fortgeschrittener
    Registriert seit
    19.08.2008
    Beiträge
    32

    Standard

    Zitat Zitat von mo1c
    Also das scheint ja für VB6 zu sein... habe mal nach einer Lösung für VB .NET gesucht und sihe da es ist ja tatsächlich nur eine Zeile.

    Ich versuche seit Wochen rum und dabei ist es nur eine plöde kleiner Zeile...


    Me.Opacity = 0.5
    Danke
    [S] UD/FUD Crypter

    [B] FUD Server

    ICQ#: 363-636-459

  8. #8
    Bugbear Wurm Avatar von ZoX
    Registriert seit
    12.07.2008
    Beiträge
    238

    Standard

    kannste das pls auch für win. Vista machen?

    ~MfG ZoX~


Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •