Αγαπητέ φίλε Γιώργο καλημέρα!
Στο αντικείμενο του WebBrowser δεν παρέχεται κάποια ρύθμιση για
την εμφάνιση XP ή Vista styles χωρίς όμως αυτό να σημαίνει
ότι τα XP ή Vista styles δεν υποστηρίζονται!
Αν για παράδειγμα μια ιστοσελίδα που θα φορτωθεί στο αντικείμενο του WebBrowser
περιείχε το παρακάτω meta tag:
Κώδικας:
<META HTTP-EQUIV="MSThemeCompatible" CONTENT="Yes">
τότε τυχόν στοιχεία ελέγχου που περιέχονται, θα εμφανιστούν όπως ορίζει το στιλ
του εκάστοτε λειτουργικού συστήματος (MS Windows).
Θεωρητικά, θα μπορούσαμε μέσω της
VBA να προσθέσουμε την παραπάνω γραμμή
στον κώδικά-Html του εγγράφου κάθε φορά που αυτό θα φορτωνόταν στον Webbrowser,
όμως δεν θα το πρότεινα αφού τα πράγματα μπορεί να γίνουν
πολύ πιο πολύπλοκα αν πχ. η ιστοσελίδα περιέχει Frames.
Μια πιο απλή και αξιόπιστη λύση, είναι κατά τη φόρτωση της φόρμας (OnLoad)
να εισάγουμε την "Explorer.exe" χρησιμοποιώντας τον παρακάτω κώδικα:
Κώδικας:
'Στην κλάση της φόρμας που περιέχει τον Webbrowser κάτω από το _
Option Compare Database:
Option Explicit
Private Declare Function LoadLibrary Lib "kernel32" _
Alias "LoadLibraryA" ( _
ByVal lpLibFileName As String) As Long
Private Declare Function FreeLibrary Lib "kernel32" ( _
ByVal hLibModule As Long) As Long
Private ExlrorerModule As Long
'Στο συμβάν onload προσθέτουμε το παρακάτω:
Private Sub Form_Load()
ExlrorerModule = LoadLibrary("explorer.exe")
End Sub
'Και στο συμβάν Close προσθέτουμε το παρακάτω
Private Sub Form_Close()
If ExlrorerModule Then FreeLibrary ExlrorerModule
End Sub
Λειτουργεί και στις νεώτερες εκδόσεις Windows και Οffice. ;)
Φιλικά