Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
Dominik
Anmeldungsdatum: 22.12.2004 Beiträge: 172
|
Verfasst am: 08.04.2005, 13:07 Titel: (VB.NET):Integer zu System.Drawing.Color |
|
|
Hallo,
ich weiß, dass diese Frage normal in ein VB-Forum gehört, aber da VB im entfernten auch was mit QB zu tun hat meine Frage:
Wie konvertiere ich ein RGB-Farbausdruck im LongInteger-Format in eine System.Drawing.Color? Bei VB.NET03 ist es anscheinend nicht möglich einfach folgendes zu schreiben:
dim a as Long
a=255
Label1.ForeColor = a
Er schreibt mir dann einen Fehler anstatt die Fordergrundfarbe des Labels auf rot zu setzen.
Danke im Vorraus
Dominik |
|
Nach oben |
|
|
Sebastian Administrator
Anmeldungsdatum: 10.09.2004 Beiträge: 5969 Wohnort: Deutschland
|
|
Nach oben |
|
|
Stephan
Anmeldungsdatum: 05.10.2004 Beiträge: 358 Wohnort: Hessen - 20km Nördlich von Frankfurt am Main
|
Verfasst am: 08.04.2005, 19:32 Titel: |
|
|
Unter VB6 Funktioniert das mit dem Befehl CLNG() , probier mal, ob der unter VB.Net auch geht.
Also...
Code: |
dim a as Long
a=255
Label1.ForeColor = CLNG(a)
|
Du könntest es (falls oben das nicht geht) über RGB probieren..
Code: |
dim r as integer , g as integer , b as integer
r=255 : g=0 : b=0
Label1.ForeColor = RGB(r,g,b)
|
_________________ 'Wir schätzen die Zeit erst, wenn uns nicht mehr viel davon geblieben ist.'
Leo Tolstoi |
|
Nach oben |
|
|
Dominik
Anmeldungsdatum: 22.12.2004 Beiträge: 172
|
Verfasst am: 09.04.2005, 14:02 Titel: |
|
|
Hallo,
wenn ich versuche irgendeinen Integer,Long oder String dem Label als Vordergrundfarbe zuzuweisen schreibt er mir immer folgendes:
Der Wert des Typs "Integer"/"String"/"Long" kann nicht zu System.Drawing.Color konvertiert werden.
Dies schreibt er mir auch, wenn ich es ohne eine Variable versuch:
Label1.ForeColor = "&HF0000"
oder
Label1.ForeColor = &HF0000
Über die RGB-Funktion funktioniert es auch nicht, da RGB einen Integer-Wert zurückgibt.
Ich habe eine Möglichkeit gefunden um eine Farbe mit Hilfe der Funktion FROMARGB(Red,Green,Blue) zuzuweisen:
Label.ForeColor = FromArgb(255,0,0) (rot)
Jedoch hab ich nur den RGB-Wert gegeben und weiß nicht was der Rot/Grün/Blau-Anteil ist. Gibt es eine Möglichkeit diese jeweils zu extrahieren?
Gruß
Dominik |
|
Nach oben |
|
|
helium
Anmeldungsdatum: 10.09.2004 Beiträge: 397 Wohnort: Leverkusen
|
Verfasst am: 09.04.2005, 17:34 Titel: |
|
|
Ja. ('foo' ist ein meinen Beispielen die Variable des Typs Long, die die Farbe enthölt)
foo mod 256 => blau
foo \ 256 mod 256 => grün
foo \ (256 * 256) => rot
Ansonsten sollte folgendes gehen:
Label1.ForeColor = Color.FromArgb (foo)
In einem anderne Text habe ich folgendes gefunden (falls Color.FromArgb nicht funktionieren sollte)
Label1.ForeColor = System.Drawing.ColorTranslator.FromOle(foo) _________________ Bevor Sie aufhören sich körperlich zu betätigen sollten Sie ihren Doktor befragen. Körperliche Inaktivität ist abnormal und gefährlich für Ihre Gesundheit. |
|
Nach oben |
|
|
|