Καλώς ορίσατε στο dotNETZone.gr - Σύνδεση | Εγγραφή | Βοήθεια
σε

 

Αρχική σελίδα Ιστολόγια Συζητήσεις Εκθέσεις Φωτογραφιών Αρχειοθήκες

Toolbar με EnableVisualStyles

Îåêßíçóå áðü ôï ìÝëïò KelMan. Τελευταία δημοσίευση από το μέλος KelMan στις 14-06-2005, 17:24. Υπάρχουν 6 απαντήσεις.
Ταξινόμηση Δημοσιεύσεων: Προηγούμενο Επόμενο
  •  14-06-2005, 13:15 2775

    Toolbar με EnableVisualStyles

    Σήμερα έπεσα πάνω σε ένα περίεργο bug... Η εφαρμογή έδειχνε κανονικά τα toolbar images σε designtime αλλά δεν έδειχνε τίποτα σε runtime! Μου πήρε περί τις 2 ώρες να βρω τι φταίει (άρχισα να δοκιμάζω διάφορα versions των images, με alpha channel, χωρίς alpha channel, 8-bit, 16-bit, 32-bit, 24x24, 32x32, κλπ) αλλά τίποτα...
    Μάλλον βοήθησαν τα πολλά καντήλια που έριξα και βρήκα τη λύση με googling...
    Αν ενεργοποιήσει κανείς το XP visual style με Application.EnableVisualStyles, τότε διάφορα controls (όπως το ToolBar ) παύουν να εμφανίζουν τα bitmaps που τους έχουν ανατεθεί μέσω του ImageList. To workaround είναι να γίνουν enabled τα visual style με τον παλιό τρόπο του manifest... 

    Περισσότερες πληροφορίες:
    http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dv_vstechart/html/vbtchusingwindowsxpvisualstyleswithcontrolsonwindowsforms.asp
    http://windowsforms.net/Forums/ShowPost.aspx?tabIndex=1&tabId=41&PostID=604
    http://community.sgdotnet.org/blogs/triplez/archive/2005/04/06/13331.aspx


     
    Vir prudens non contra ventum mingit
  •  14-06-2005, 15:23 2778 σε απάντηση της 2775

    Re: Toolbar με EnableVisualStyles

    Πάρε ένα copy paste από τη δική μου εφαρμογή, η ρουτίνα αυτή είναι το πρώτο πράγμα που καλεί η εφαμογή:


    Private Sub SetXPVisualStyles()

    'Η EnableVisualStyles χρησιμοποιείται για να δώσει το XP look στην εφαρμογή.

    'Δεν χρειάζεται να καλεστεί άλλη φορά μέσα από την εφαρμογή.

    'Απαραιτήτως μετά από την EnableVisualStyles πρέπει να τρέξει μια DoEvents

    'Αλλιώς η εφαρμογή μπορεί να χτυπήσει οπουδήποτε.

    'http://www.dotnet247.com/247reference/msgs/40/203898.aspx

    'http://www.dotnet247.com/247reference/msgs/45/225330.aspx

    Application.EnableVisualStyles()

    Application.DoEvents()

    End Sub


    Χρήστος Γεωργακόπουλος
  •  14-06-2005, 16:16 2779 σε απάντηση της 2778

    Re: Toolbar με EnableVisualStyles

    Χε χε... Smile Το ίδιο έκανα κι εγώ... Και EnableVisualStyles και DoEvents (όμως μέσα από Sub Main) και παρ'όλα αυτά, τα images στο ToolBar... γιοκ! Η εν λόγω εφαρμογή σου έχει ToolBar με Images?


    Vir prudens non contra ventum mingit
  •  14-06-2005, 16:23 2781 σε απάντηση της 2779

    Re: Toolbar με EnableVisualStyles

    Με images στα buttons, και καρφωτά και από imagelists. Αν χρησιμοποιείς image lists το γυρίζεις στο σωστό format ΠΡΙΝ βάλεις μέσα τις εικόνες; Σε άλλο μηχάνημα μήπως φαίνονται; Μήπως οι εικόνες σου είναι από κάνα παλαβό format; δοκίμασε με κάνα απλό bitmap.


    Χρήστος Γεωργακόπουλος
  •  14-06-2005, 16:33 2782 σε απάντηση της 2781

    Re: Toolbar με EnableVisualStyles

    Format έχω δοκιμάσει GIF και BMP (και σε PNG αλλά μετά διάβασα για την προβληματική υλοποίηση της Microsoft και το εγκατέλειψα), όλες σε μέγεθος 24x24, όλες με το ίδιο βάθος χρώματος. Βασικά, το πρόβλημα ξεκίνησε από άλλο μηχάνημα... Στο PC μου μια χαρά... Μετά το δοκίμασα και σε τρίτο και σε VPC και τελικά μόνο στο δικό μου PC παίζει, οπουδήποτε αλλού... Angry


    Vir prudens non contra ventum mingit
  •  14-06-2005, 17:15 2786 σε απάντηση της 2782

    Re: Toolbar με EnableVisualStyles

    Μήπως βγάζει satelite assemblies που ξεχνάς να τα copiάρεις στα άλλα μηχανήματα; Μήπως είναι localized οι φόρμες, έχεις βάλει τα images μόνο σε συγκεκριμένο culture και τα άλλα μηχανήματα φορτώνουν για κάποιο λόγο σε διαφορετικό culture;

    Πω πω, αν δεν το σκεφτείς αυτό μπορείς να φας πολλές ώρες ψάχνοντας....
    Χρήστος Γεωργακόπουλος
  •  14-06-2005, 17:24 2787 σε απάντηση της 2786

    Re: Toolbar με EnableVisualStyles

    Nope... Δεν συμβαίνει τίποτα από αυτά τα δύο... Να σου πω, επειδή η λύση με το manifest παίζει μια χαρά, σταμάτησα να το ψάχνω γιατί πλέον ο χρόνος αυτός είναι τρομερά αντιπαραγωγικός... Ήδη αισθάνομαι ότι σπατάλησα τσάμπα τόσο χρόνο, για να λύσω προβλήματα που δεν θα έπρεπε κανονικά να υπάρχουν (βλ. http://windowsforms.net/Forums/ShowPost.aspx?tabIndex=1&tabId=41&PostID=604)


    Vir prudens non contra ventum mingit
Προβολή Τροφοδοσίας RSS με μορφή XML
Με χρήση του Community Server (Commercial Edition), από την Telligent Systems