| 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 |  | 
	
		|  | 
	
		|  |