Ανανέωση ιστοσελίδας
ms-office.gr > Forum > Microsoft Access > Access - Ερωτήσεις / Απαντήσεις > [ Φόρμες ] Εφέ Εκκίνησης σε Αρχική Φόρμα

Access - Ερωτήσεις / Απαντήσεις Access + VBA... Εδώ δεν υπάρχουν όρια!

Απάντηση στο θέμα

 

Εργαλεία Θεμάτων Τρόποι εμφάνισης
  #1  
Παλιά 18-10-11, 15:41
Όνομα: ΤΖΙΜΗΣ
Έκδοση λογισμικού Office: Ms-Office 2003, Ms-Office 2016
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 11-02-2011
Περιοχή: Πύργος Ηλείας
Μηνύματα: 227
Προεπιλογή Εφέ Εκκίνησης σε Αρχική Φόρμα

Καλό μεσημέρι σε όλη την κοινότητα.
Το ερώτημα το οποίο θέτω σε όλους τους αγαπητούς φίλους, είναι αν μπορούμε σε μια φόρμα που την έχουμε ορίσει ως αριχκή , να θέσουμε κάποιο εφέ εκκίνησης του τύπου όπως ορίζουμε στο power point κατά την είσοδο μια διαφάνειας.
Φιλικά Τζίμης
Απάντηση με παράθεση
  #2  
Παλιά 18-10-11, 18:47
Το avatar του χρήστη Tasos
Διαχειριστής
Όνομα: Τάσος Φιλοξενιδης
Έκδοση λογισμικού Office: Ms-Office 365
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική, Γερμανική
 
Εγγραφή: 21-10-2009
Μηνύματα: 2.028
Προεπιλογή

Καλησπέρα σε όλους!

Τζίμη η Access, ως εφαρμογή βάσης δεδομένων περιλαμβάνει μόνο βασικές λειτουργίες παραθύρων στις φόρμες της.
Ωστόσο αν σε μια φόρμα δώσουμε την ιδιότητα "Αναδυόμενη" μπορούμε με χρήση της VB σε
συνδυασμό με κάποια API των Windows μπορούμε να έχουμε ικανοποιητικά αποτελέσματα.

Θα δώσω ένα παράδειγμα.

Αρχικά φρόντισε η αρχική φόρμα:
  • Να ξεκινά από κάποια μακροεντολή(AutoExec) ή κώδικα, όχι σαν φόρμα εκκίνησης από τις ρυθμίσεις της εφαρμογής.
  • Να έχει ιδιότητα "Αναδυόμενη"
  • Να ανοίγει σε κατάσταση παραθύρου "Κρυφό". πχ: DoCmd.OpenForm "Form1", acNormal, , , , acHidden
Κατόπιν σε μια κοινή λειτουργίκή μονάδα πέρασε τον παρακάτω κώδικα:

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

Public Enum FadeDirection
    FadeIn = -1
    FadeOut = 0
End Enum

Public Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Public Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" ( _
        ByVal hWnd As Long, ByVal nIndex As Long) As Long

Public Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" ( _
        ByVal hWnd As Long, ByVal nIndex As Long, ByVal wNewWord As Long) As Long

Public Declare Function SetLayeredWindowAttributes Lib "user32" ( _
        ByVal hWnd As Long, ByVal crey As Byte, ByVal bAlpha As Byte, ByVal dwFlags As Long) As Long

Public Const GWL_EXSTYLE = (-20)
Public Const WS_EX_LAYERED = &H80000
Public Const LWA_ALPHA = &H2&

Public Function FadeForm(frmHWND As Long, _
        Optional Direction As FadeDirection = FadeDirection.FadeIn, _
        Optional iDelay As Integer = 5, _
        Optional Fulltranperancy As Boolean)
        
    Dim frmStyle As Long
    Dim i As Integer

    frmStyle = GetWindowLong(frmHWND, GWL_EXSTYLE)
    SetWindowLong frmHWND, GWL_EXSTYLE, frmStyle Or WS_EX_LAYERED
    If Fulltranperancy Then
        SetLayeredWindowAttributes frmHWND, 0, CByte(5), LWA_ALPHA
        Exit Function
    End If
    
    Select Case Direction
    Case FadeDirection.FadeIn
        For i = 5 To 255 Step 20
            DoEvents
            SetLayeredWindowAttributes frmHWND, 0, CByte(i), LWA_ALPHA
            Sleep iDelay
        Next
        SetLayeredWindowAttributes frmHWND, 0, CByte(255), LWA_ALPHA
    Case FadeDirection.FadeOut
        For i = 255 To 1 Step -20
            SetLayeredWindowAttributes frmHWND, 0, CByte(i), LWA_ALPHA
            DoEvents
            Sleep iDelay
        Next
    End Select
    
End Function
και στη λειτουργική μονάδα της φόρμας πέρασε το παρακάτω:


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

Private Sub Form_Load()
    FadeForm Me.hWnd, , , True
    Me.Visible = True
    FadeForm Me.hWnd, FadeIn, 35  ' προσαρμόζει τη διάρκεια του εφέ.
End Sub

Private Sub Form_Unload(Cancel As Integer)
    FadeForm Me.hWnd, FadeOut, 35
End Sub
Δοκίμασε το και τα λέμε.

Φιλικά

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

Τελευταία επεξεργασία από το χρήστη Tasos : 19-10-11 στις 23:35.
Απάντηση με παράθεση
  #3  
Παλιά 19-10-11, 01:39
Όνομα: ΤΖΙΜΗΣ
Έκδοση λογισμικού Office: Ms-Office 2003, Ms-Office 2016
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 11-02-2011
Περιοχή: Πύργος Ηλείας
Μηνύματα: 227
Προεπιλογή

Taso ευχαριστώ για την άμεση ανταπόκρισή σου.Κατάφερα τελικά μερικά από αυτά με αποτέλεσμα το εφέ να υλοποιείται σωστά μόνο κατά το κλείσιμο της φόρμας ενώ κατά το άνοιγμα ναι μεν να εμφανίζεται το εφέ, αλλά να μην φαίνεται καλά η φόρμα
Ειδικότερα πρόσθεσα:
1.Η φόρμα να ξεκινά με εντολή Vba : Do.Cmd OpenForm <όνομα φόρμας>
2.Ρύθμισα την ιδιότητα <Αναδυόμενη>
3.Πρόσθεσα τη λειτουργική μονάδα στη βάση με αποτέλεσμα να περάσει τους αντίστοιχους κώδικες
4..Τον κώδικα στη λειτουργική μονάδα της φόρμας τον τοποθέτησα τον μεν πρώτο κατά τη φόρτωση το δε δεύτερο κατά την αποφόρτωση, αλλά μου βγάζει σφάλμα.Αν δεν τους βάλω ανοίγει η φόρμα αλλά δε φαίνεται καλά
5.Να ανοίγει σε κατάσταση παραθύρου <κρυφό> δεν κατάλαβα σε ποιο συμβάν πρέπει να τοποθετήσω τον κώδικα που μου γράφεις ή πρέπει να ρυθμίσω κάποια άλλη ιδιότητα;
Φιλικά Τζίμης
Απάντηση με παράθεση
  #4  
Παλιά 19-10-11, 09:33
Το avatar του χρήστη Tasos
Διαχειριστής
Όνομα: Τάσος Φιλοξενιδης
Έκδοση λογισμικού Office: Ms-Office 365
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική, Γερμανική
 
Εγγραφή: 21-10-2009
Μηνύματα: 2.028
Προεπιλογή

Καλημέρα Δημήτρη!
Όταν ανοίγουμε μια φόρμα, είτε από μακροεντολή είτε από VBA, μπορούμε μεταξύ άλλων
να ρυθμίσουμε την κατάσταση παραθύρου της φόρμας επιλέγοντας το όρισμα κατάσταση παραθύρου (για μακροεντολή) ή WindowMode (για VBA).

Στα ορίσματα αυτά έχουμε 4 επιλογές:
  1. AcDialog (Παράθυρο Διαλόγου)
  2. AcHidden (Κρυφό)
  3. AcIcon (Εικονίδιο)
  4. AcWindowNormal (Κανονικό)
Το παράδειγμα που επισυνάπτω περιέχει την μακροεντολή AutoExec που φροντίζει να ανοίξει
την αρχική φόρμα κατά την εκκίνηση της εφαρμογής (ή αν την εκτελέσει ο χρήστης) χωρίς να την εμφανίζει
χρησιμοποιώντας το όρισμα: κατάσταση παραθύρου = Κρυφό.

Αν την μετατρέψεις σε κώδικα VBA, θα δεις αυτό: DoCmd.OpenForm "Form1", acNormal, , , , acHidden.

Καλή συνέχεια!

Τάσος
Συνημμένα Αρχεία
Τύπος Αρχείου: mdb FadeForm.mdb (272,0 KB, 195 εμφανίσεις)
__________________
Ms-Office Development Team
Ανάπτυξη επαγγελματικών εφαρμογών

Τελευταία επεξεργασία από το χρήστη Tasos : 19-10-11 στις 13:19. Αιτία: Αφαίρεση αναφοράς acc14 από το συνημμένο
Απάντηση με παράθεση
  #5  
Παλιά 19-10-11, 12:21
Όνομα: ΤΖΙΜΗΣ
Έκδοση λογισμικού Office: Ms-Office 2003, Ms-Office 2016
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 11-02-2011
Περιοχή: Πύργος Ηλείας
Μηνύματα: 227
Προεπιλογή

Taso να είσαι καλά.Με το πρδ που μου επισύναψες μου λύθηκαν όλες οι απορίες.
Ευχαριστώ και καλή σου μέρα
Απάντηση με παράθεση
  #6  
Παλιά 20-10-11, 15:31
Όνομα: ΤΖΙΜΗΣ
Έκδοση λογισμικού Office: Ms-Office 2003, Ms-Office 2016
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 11-02-2011
Περιοχή: Πύργος Ηλείας
Μηνύματα: 227
Προεπιλογή

Taso συγχνώμη όπου επαναφέρω το θέμα,αλλά από τη στιγμή που έγινε αναδυόμενη η αρχική φόρμα εκκίνησης. βρίσκεται πάντα σε πρώτο πλάνο με αποτέλεσμα όταν ανοίγω άλλες φόρμες να υπάρχει επικάλυψη.Να επισυμάνω ότι από την αρχική φόρμα ξεκινούν άλλες φόρμες και δεν θέλω να κλείνει εντελώς η αρχική φόρμα αλλά να επανέρχομαι όταν απαιτείται.
Φιλικά Τζίμης
Απάντηση με παράθεση
  #7  
Παλιά 21-10-11, 00:17
Όνομα: ΤΖΙΜΗΣ
Έκδοση λογισμικού Office: Ms-Office 2003, Ms-Office 2016
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 11-02-2011
Περιοχή: Πύργος Ηλείας
Μηνύματα: 227
Προεπιλογή

Τάσο οκ, έκανα όλες τις φόρμες αναδυόμενες και δεν υπάρχει επικάλυψη.
Απάντηση με παράθεση
Απάντηση στο θέμα


Δικαιώματα - Επιλογές
Δε μπορείτε να δημοσιεύσετε νέα μηνύματα
Δε μπορείτε να δημοσιεύσετε απαντήσεις
Δεν μπορείτε να επισυνάψετε αρχεία
Δεν μπορείτε να επεξεργαστείτε τα μηνύματα σας

Ο κώδικας ΒΒ είναι σε λειτουργία
Τα Smilies είναι σε λειτουργία
Ο κώδικας [IMG] είναι σε λειτουργία
Ο κώδικας HTML είναι εκτός λειτουργίας
Trackbacks are εκτός λειτουργίας
Pingbacks are εκτός λειτουργίας
Refbacks are εκτός λειτουργίας


Παρόμοια Θέματα

Θέμα Δημιουργός Forum Απαντήσεις Τελευταίο Μήνυμα
Μεγιστοποίηση φόρμας με απόκρυψη εκκίνησης της access 2010 mousatos Access - Ερωτήσεις / Απαντήσεις 3 18-07-15 20:46
[Συναρτήσεις] Αρχική & τελική ημερομηνία σε συγκεντρωτικό πίνακα xristos Excel - Ερωτήσεις / Απαντήσεις 0 22-11-14 21:23
[Excel07] Φύλλο Εκκίνησης ΤΖΙΜΗΣ Excel - Ερωτήσεις / Απαντήσεις 2 22-11-11 22:23
Ιδιότητες εκκίνησης εφαρμογής comsup Access - Ερωτήσεις / Απαντήσεις 3 09-11-11 13:08
ΚΥΛΙΟΜΕΝΟ ΜΥΝΗΜΑ ΣΕ ΦΟΡΜΑ ΕΚΚΙΝΗΣΗΣ ΤΖΙΜΗΣ Access - Ερωτήσεις / Απαντήσεις 6 25-02-11 15:48


Η ώρα είναι 05:46.