Θα ήθελα κάποιες πληροφορίες όσον αφορά το πως η vb χειρίζεται τα χρώματα...
Σε ένα προγραμματάκι που φτιάχνω έχω δημιουργήσει μια μεταβλητή color και όταν ο χρήστης αλλάζει την τιμή του καθε χρώματος Red, green ή blue η μεταβλητή παίρνει την τιμή:
color = RGB(Val(Red.Text), Val(green.Text), Val(blue.Text))
Το περίεργο είναι οτι όταν κάνω pause το πρόγραμμά και γράφω στο Immediate print color μου βγάζει κατι περίεργα νούμερα. Αρχίκα νόμιζα οτι όλα ήταν οκ και οτι αυτό το νούμερο ήταν η δεκαδική τιμή του χρώματος σε hex. Έλα όμως που έκανα copy paste το νούμερο στο calculator και σαν δεκαεξαδική τιμη του άσπρου (255,255,255) μου έβγαλε 19FFFF αντί για FFFFFF!
Τελικά τι συμβαίνει?
Επίσης έχω ένα τετράγωνο κάπου στη φόρμα που θέλω να παίρνει το χρώμα που έγραψε ο χρήστης στα textboxes αυτά. Έλα όμως που ό,τι μα ό,τι και να γράψω στα κουτάκια αυτό μένει γκρι όπως στην αρχή! Ο κώδικας για το χρώμα του είναι ο εξής:
selcolor.BackColor = RGB(Val(Red.Text), Val(green.Text), Val(blue.Text))
Επίσης έχω sliders για το κάθεενα απο τα 3 συστατικά χρώματα με min 0 και max 255 και έχω ρυθμίσει όταν τροποιποιείται το κείμενο να παίρνει την ανάλογη τιμή με τον κάωδικα (πχ για το κόκκινο):
red_slider.Value = Val(Red.Text)
αλλά το πολύ να παει μέχρι το 30% του μήκους του ο,τι αριθμό και να βάλω!!
Όλα αυτά μέσα σε διαδικασίες του στυλ Private Sub Red_Change().
Η μεταβλητή color είναι global.
Καμια ιδέα για το τι μπορεί να συμβαίνει?
Ευχαριστώ.