Εμφάνιση ενός μόνο μηνύματος
  #2  
Παλιά 16-03-13, 14:02
Το avatar του χρήστη Tasos
Tasos Ο χρήστης Tasos δεν είναι συνδεδεμένος
Διαχειριστής
Όνομα: Τάσος Φιλοξενιδης
Έκδοση λογισμικού Office: Ms-Office 365
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική, Γερμανική
 
Εγγραφή: 21-10-2009
Μηνύματα: 2.010
Προεπιλογή

Καλησπέρα!
Σε μια κοινή λειτουργική μονάδα πέρασε τον παρακάτω κώδικα:

Κώδικας:
Option Compare Database
Option Explicit

Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" ( _
        ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long

Private Declare Function SetLayeredWindowAttributes Lib "user32" ( _
        ByVal hwnd As Long, ByVal crKey As Long, ByVal bAlpha As Byte, ByVal dwFlags As Long) As Long

Private Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" ( _
        ByVal hwnd As Long, ByVal nIndex As Long) As Long

Private Const WS_EX_LAYERED = 524288
Private Const GWL_EXSTYLE = -20
Private Const LWA_ALPHA = 2


Public Sub SetFormOpacity(WHandle As Long, sngOpacity As Single)
    Dim lngStyle As Long
    lngStyle = GetWindowLong(WHandle, GWL_EXSTYLE)
    SetWindowLong WHandle, GWL_EXSTYLE, lngStyle Or WS_EX_LAYERED
    SetLayeredWindowAttributes WHandle, 0, sngOpacity, LWA_ALPHA
End Sub
Στις φόρμες που θέλεις να εφαρμόσεις ημιδιαφάνεια πέρασε το παρακάτω:

Κώδικας:
Private Sub Form_Load()
    SetFormOpacity Me.hwnd, 128    ' 50 - 255 ; 128 = 50% Διαφάνεια
End Sub
Καλή συνέχεια!

Τάσος
__________________
Ms-Office Development Team
Ανάπτυξη επαγγελματικών εφαρμογών
Απάντηση με παράθεση