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

 

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

Πρόβλημα με τα εικονίδια στα buttons του toolbar

Îåêßíçóå áðü ôï ìÝëïò Azular. Τελευταία δημοσίευση από το μέλος Azular στις 29-12-2006, 15:54. Υπάρχουν 6 απαντήσεις.
Ταξινόμηση Δημοσιεύσεων: Προηγούμενο Επόμενο
  •  19-12-2006, 00:17 22461

    Crying [:'(] Πρόβλημα με τα εικονίδια στα buttons του toolbar

    Έχω κάποια png αρχεία embedded στην εφαρμογή και τα διαβάζω με τον εξής τρόπο

    Function GetEmbeddedPng(ByVal strName As String) As System.Drawing.Bitmap

    Dim mybitmap As New System.Drawing.Bitmap(System.Reflection.Assembly.GetExecutingAssembly.GetManifestResourceStream((strName)))


    Return mybitmap

    End Function


    Στην συνέχεια στο Load Event της φόρμας  χρησιμοποιώ τον εξής κώδικα για να διαβάσω τα png, τα φορτώσω σε μια Imagelist και αντίστοιχα να θέσω για κάθε κουμπί του toolbar την εικόνα που θέλω από την Imagelist

    Dim myimagelist As New System.Windows.Forms.ImageList

    Dim toolimagelist As New System.Windows.Forms.ImageList

    Dim psize As New System.Drawing.Size


    toolimagelist.Images.Add(GetEmbeddedPng("HATT_EGSA.zoom_in.png"))

    toolimagelist.Images.Add(GetEmbeddedPng("HATT_EGSA.zoom_out.png"))

    toolimagelist.Images.Add(GetEmbeddedPng("HATT_EGSA.zoom_layer.png"))

    toolimagelist.Images.Add(GetEmbeddedPng("HATT_EGSA.zoom_full.png"))

    toolimagelist.Images.Add(GetEmbeddedPng("HATT_EGSA.pan.png"))


    psize.Height = 25

    psize.Width = 25

    toolimagelist.ImageSize = psize


    ToolBar1.ImageList = toolimagelist

    tbtnZoomIn.ImageIndex = 0

    tbtnZoomOut.ImageIndex = 1

    tbtnZoomLayer.ImageIndex = 2

    tbtnFullZoom.ImageIndex = 3

    tbtnPan.ImageIndex = 4




    Ναι μεν τα εικονίδια εμφανίζονται, ωστόσο δεν είναι τόσο καθαρά και ευανάγνωστα όπως είναι όταν τα ίδια εικονίδια τα δώ με ένα εξωτερικό viewer ή τα φορτώσε σε ένα Picturebox.

    ΕΡΩΤΗΣΗ: Τι μπορεί να φταίει;Μήπως σαν αρχάριος κάνω κάτι λάθος;
  •  19-12-2006, 00:52 22463 σε απάντηση της 22461

    Απ: Πρόβλημα με τα εικονίδια στα buttons του toolbar

    Ρίξε μια ματιά εδώ: http://www.dotnetzone.gr/cs/forums/2778/ShowPost.aspx

    Επιπρόσθετα, ένας δεύτερος λόγος που μπορεί να συμβαίνει αυτό είναι όταν δεν υποστηρίζεται alpha blending, οπότε τυχόν σκιές, ημιδιαφανή χρώματα, κλπ εμφανίζονται ως solid: http://www.dotnetzone.gr/cs/forums/17760/ShowPost.aspx


    Vir prudens non contra ventum mingit
  •  19-12-2006, 21:22 22528 σε απάντηση της 22461

    Απ: Πρόβλημα με τα εικονίδια στα buttons του toolbar

    Δοκίμασε στο ImageList σου να αυξήσεις το ColorDepth σε ColorDepth.Depth32Bit γιατί η Default τιμή είναι ColorDepth.Depth8Bit. (toolimagelist.ColorDepth=ColorDepth.Depth32Bit).
  •  20-12-2006, 23:47 22610 σε απάντηση της 22461

    Απ: Πρόβλημα με τα εικονίδια στα buttons του toolbar

    Δοκιμασα και να αυξήσω το colordepth οπως επίσης και

    Application.EnableVisualStyles()

    Application.DoEvents()

    αλλα τιποτα.

    Θα δοκιμασω και την άλλη πρόταση με το alpha blending

  •  22-12-2006, 14:35 22715 σε απάντηση της 22461

    Απ: Πρόβλημα με τα εικονίδια στα buttons του toolbar

    Φίλε,

    για δοκίμασε να αλλαξεις την GetEmbeddedPng και κανε return Type Image αντί Bitmap

    Function GetEmbeddedPng(ByVal strName As String) As System.Drawing.Bitmap
          Dim mybitmap As New System.Drawing.Bitmap(System.Reflection.Assembly.GetExecutingAssembly.GetManifestResourceStream((strName)))
          Return mybitmap
    End Function


    σε



    Function GetEmbeddedPng(ByVal strName As String) As System.Drawing.Image

          Dim mybitmap As New System.Drawing.Image.FromStream(System.Reflection.Assembly.GetExecutingAssembly.GetManifestResourceStream((strName)))
          Return mybitmap

    End Function

    Ίσως φταίει
    το transformation  σε bitmap.

    just a thought!


    "Success is the ability to go from one failure to another with no loss of enthusiasm."
    Winston Churchill

    "Quality means doing it right when no one is looking."
    Henry Ford

  •  26-12-2006, 19:59 22806 σε απάντηση της 22461

    Sad [:(] Απ: Πρόβλημα με τα εικονίδια στα buttons του toolbar

    Λοιπόν έκανα έβαλα το VS2005 και τα εικονίδια φαίνονται μια χαρά βέβαια τα διαβάζω με  άλλον τρόπο (από το My.Resources).Όμως τώρα συνέχισα να αναπτυσω την εφαρμογή μου.Μέχρι τώρα έφτιαχνα exe αρχείο.Τώρα το γύρισα σε dll.Θέλω να το χρησιμοποιήσω σε μια opensource GIS πλατφορμα.Έτσι μέσα από αυτό το dll σηκώνω την φόρμα μου αλλα...εδω ξεκινουν τα αλλά
    Αλλά όταν φορτώνει η φόρμα μέσα από το πρόγραμμα GIS δεν φαίνονται τα images στα  toolbar buttons που έχω ορίσει από μια Imagelist.Παρόλα αυτά μια εικόνα από την ιδια Imagelist την δείχνει κανονικά σε άνα απλό Button (όχι toolbar button).Από την άλλη όταν αλλάζω το startup object και βαζω να ξεκινάει η φόρμα κατευθείαn (και το dll να γίνεται exe) τότε παιζουν ολα κανονικά.Επίσης να τονισω ότι τα images είναι embedded png αρχεία και χρησιμοποιώ VS2005.Έχω EnableVisualStyles (αν και στο dll δεν παιζει ρόλο έτσι δεν είναι;)


    Δεν μπορώ να καταλάβω???

    Στο Load Event της φόρμας έχω τα εξής

    Dim toolimagelist As New System.Windows.Forms.ImageList

    Dim psize As New System.Drawing.Size



    psize.Height = 23

    psize.Width = 23



    toolimagelist.ColorDepth = Windows.Forms.ColorDepth.Depth32Bit

    toolimagelist.ImageSize = psize




    toolimagelist.Images.Add(My.Resources.zoom_in)

    toolimagelist.Images.Add(My.Resources.zoom_out)

    toolimagelist.Images.Add(My.Resources.zoom_layer)

    toolimagelist.Images.Add(My.Resources.zoom_full)

    toolimagelist.Images.Add(My.Resources.pan)

    toolimagelist.Images.Add(My.Resources.add_pg_layer)





    ToolBar1.ImageList = toolimagelist




    tbtnZoomIn.ImageIndex = 0

    tbtnZoomOut.ImageIndex = 1

    tbtnZoomLayer.ImageIndex = 2

    tbtnFullZoom.ImageIndex = 3

    tbtnPan.ImageIndex = 4


    btnLoad.ImageList = toolimagelist

    btnLoad.ImageIndex = 5

  •  29-12-2006, 15:54 22890 σε απάντηση της 22461

    Απ: Πρόβλημα με τα εικονίδια στα buttons του toolbar

    Ρώτησα στο forum του προγράμματος και έμαθα ότι είναι bug του .NET FrameWork 2.0 και όχι του προγράμματος.Δεν ξέρω κατά πόσο ισχύει.Θα δούμε.Ευχαριστώ.
Προβολή Τροφοδοσίας RSS με μορφή XML
Με χρήση του Community Server (Commercial Edition), από την Telligent Systems