Εμφάνιση ενός μόνο μηνύματος
  #1  
Παλιά 16-03-13, 11:55
liaverg Ο χρήστης liaverg δεν είναι συνδεδεμένος
Όνομα: ΛΙΑ
Έκδοση λογισμικού Office: Ms-Office 2010
Γλώσσα λογισμικού Office: Αγγλική
 
Εγγραφή: 13-03-2013
Μηνύματα: 17
Προεπιλογή Ημιδιαφάνεια στις αναδυόμενες και αποκλειστικές φόρμες

Καλησπέρα

Θα ήθελα να κάνω μια ερώτηση σχετικά με την ικανότητα να ενεργοποιήσεις ενα συμβάν σε αναδυόμενες και/ή αποκλειστικές φόρμες.

Χρησιμοποιώ το παρακάτω για να μπορώ να ρυθμιζω την διαφάνεια μιας φόρμας

Public Sub SetFormOpacity(frm As Form, sngOpacity As Single)
Dim lngStyle As Long
lngStyle = GetWindowLong(frm.hwnd, GWL_EXSTYLE)
SetWindowLong frm.hwnd, GWL_EXSTYLE, lngStyle Or WS_EX_LAYERED
SetLayeredWindowAttributes frm.hwnd, 0, (sngOpacity * 255), LWA_ALPHA
End Sub

Εχω μια φόρμα που λειτουργεί ως query builder και γυριζει καποια αποτελεσματα. Ας πουμε οτι λέγεται Main. Αναλογα με το αν θα πατησει ο χρηστης με διπλό κλικ πανω σε κάποια πεδία ανοίγουν δύο αναδυόμενες και αποκλειστικες φιλτραρισμενες φόρμες (η καθε μια σε διαφορετικό χρόνο).
Θα ήθελα όταν ανοιγουν αυτες οι φορμες να χρησιμοποιω το SetFormOpacity για την Main. Δυστυχως κανένα συμβάν της Main από τα On Lost Focus ή On Deactivate δεν με εξυπηρετεί καθώς δεν δείχνει να ενεργοποιείται. Υποθετω εχω παρεξηγησει την ικανοτητα των αναδυόμενων και/ή αποκλειστικών να χανουν το focus τους...και γενικώς τελώ λιγο υπό σύγχυση με την χρηση τους.

Μήπως υπάρχει κάποια πρόταση για το παραπάνω?
Προς το παρον εχω μια λύση να ανοιγω μια αναδυόμενη ημιδιαφανη άδεια φόρμα πάνω από την main απλά για να τη κρύβω, αλλά την θεωρώ λίγο 'μπακαλίστικη' λύση...

Ευχαριστώ εκ των προτέρων
Λία
Απάντηση με παράθεση