Farben von objekten

MLelite

Mitglied
Hi zusammen
Ich hab in einer ini datei hexwerte für farben abgespeichert, jetzt muss die Farbe als backcolor in das Objekt mgicon reingeladen werden! Im Prinzip soll der Benutzer von einem Feld die Farbe ändern können. nach dem Code wird diese Eingabe in das objekt.backcolor geladen:
inidatei: fontcolor=FFFFFF

Code:
mgIcon.BackColor = "&H00" & GetIniString("app_color", "fontcolor") & "&"
ergebnis:
mgIcon.BackColor = "&H00FFFFFF&"

//Compiler nimmt das nicht an!
//ohne den Gänsefüsschen geht es, nur die krieg ich nicht weg weil das ein Variableinhalt ist?

ergebnis muss so aussehen:
mgIcon.BackColor = &H00FFFFFF&


Wie kann ich jetzt den code schreiben?
 
Chr(34) funktionier auch ist wie ein " nur das es von VB anders angenommen wird oder so .... ;-)

Code:
mgIcon.BackColor = "&H00" & GetIniString("app_color", "fontcolor") & Chr(34) & Chr(34)
Wenn ich dich richtig verstanden habe könnte es so ähnlich gehen ;-)
 
ja könnte gehen wenn der compiler mitspielt kennt zufällig jemand eine Liste in der man dann auch das H nachschauen kann. (Ich glaub mal das auch das H dazu zählt)

edit: google keine liste mit chr()... gefunden
 
Zuletzt bearbeitet:
Wenn du schnell herausfinden willst, welchen ASCII-Wert ein Buchstabe oder ein Zeichen hat, dann kannst du auch einfach die Asc-Funktion verwenden. Die gibt dir die Zahl auch aus und du musst keine Tabelle parat haben.
Dazu eignet sich das Direktfenster, das in der VB-Entwicklungsumgebung mit Strg+G angezeigt werden kann. Da gibst du dann einfach "debug.Print asc("H")" ein, und es wird das Ergebnis der Asc-Funktion für den Buchstaben H ausgegeben.
 
ja danke aber leider geht das nicht (aber ein versuch war es wert)

ich möchte nochmal erklären an was es liegt:
Da ist ein Fenster, das hat die Farbe schwarz, weil im code diese Zeile steht:
Fenster.ForeColor = &H00000000&

das programm wird gestartet....
Nun gibt ein Benutzer in ein Textfeld &H00FFFFFF& ein und drückt auf ok damit die Farbe des Fenster sich ändert!! Der Eingegebene Wert liegt in einer Variable logischerweise.
Jetzt versucht das Programm die Farbe zu ändern mit folgenden code:
Fenster.ForeColor = variable // variable ist "&H00FFFFFF&"
Jetzt meldet der debuger Fenster.forecolor kann den Wert nicht annehmen!

gleiches Problem ist auch wenn ich nur den hexcode FFFFFFF eingebe und das "&H00" mit chr()auswechsel

Ich vermute das es nicht Möglich ist, weil &H00...& nur für den vb compiler gilt.
Da gibt es bestimmt eine Funktion oder andere Möglichkeit die Farbe während der Programmlaufzeit zu ändern?
 
vielen dank für eure Hilfen! Es geht jetzt auch bei mir. Mein Fehler war das & am Ende
fenster.FillColor = "&H" & GetIniString("app", "backcolor")
.... ist so richtig
ahhhhhhhhhhhhhhhhhhhhrrg manchmal könnte man verzweifeln
 
Zurück