Καλησπέρα σε όλους
Τζίμη,
επειδή σε φόρμες εκκίνησης πολλές φορές είναι δεσμευμένο το συμβάν
Timer που θα μας
βοηθούσε να δημιουργήσουμε αυτό το κυλιόμενο κείμενο,
η πρόταση μου είναι να δημιουργηθεί σε WebBrowser Control (
ActiveΧ που υπάρχει πάντα σε όλα τα Windows).
Έστω ότι έχουμε ένα πίνακα με το όνομα
Table1 και τα εξής πεδία:
- msgID (αριθμός, στο παράδειγμα μας η τιμή του είναι 1)
- msg (Υπόμνημα, στο παράδειγμα μας η τιμή του είναι "ms-office.gr - Το κυλιώμενο μήνυμα...")
Αφού εισάγουμε λοιπόν το "WebBrowser Control", στο συμβάν
Load() της φόρμας
βάζουμε τον παρακάτω κώδικα.
Κώδικας:
Option Explicit
Private Sub Form_Load()
Dim htm As String, TheMessage As String, wb As WebBrowser
TheMessage = DLookup("[msg]", "[Table1]", "[msgID] = 1")
htm = "<html><body style=" & Chr(34) & "background-color: buttonface; border-style:none; " & _
"overflow:hidden; margin:0px; font-family:Verdana; font-size:12px; color:buttontext" & Chr(34) & _
"><marquee behavior=""scroll"" direction=""left"" scrollamount=""10"">" & TheMessage & _
"</marquee><body><html>"
Set wb = Me.WebBrowser0.Object
wb.Navigate2 "about:blank"
While wb.ReadyState <> READYSTATE_COMPLETE
DoEvents
Wend
wb.Document.write htm
End Sub
Σημείωση: Η ταχύτητα κύλισης αυξάνεται ανάλογα με την τιμή '
scrollamount'
Όπως ανέφερα και πιο πάνω, η λύση αυτή τη θεωρώ πιο ελαστική αφου τρέχει μια και μοναδική φορά χωρίς να φορτίζει την Access μέσω του συμβάντος
Timer.
Επίσης δέχεται οποιαδήποτε παραμετροποίηση.
Το αποτέλεσμα του κώδικα αυτού μπορείς να το δεις στο συνημμένο παρακάτω
Καλή συνέχεια!
Φιλικά
Τάσος