Man känner sig lite dum när man ställer såna här frågor men: Varför måste man vända på färgkoderna? Om jag letar reda på en färgkod med en färgkarta eller det eminenta programet Color Cop så måste jag kasta om denna när jag vill använda den i VB:<code> </code> Färger representeras (väl?) med long. Anledningen till att jag stötte på detta var att jag ändrade färgen (t ex FillColor) direkt i properties menyn för formen, och man vill ju inte nöja sig med dom färger som finns i palletten.<code> </code> Frågan var nog egentligen om det går att skriva koderna direkt i properties på det sätt som man anväder dom t ex i html #xxxxxx, kanske genom andra start och sluttecken än nuvarande &H00xxxxxx& som ju medför att man måste kasta om ordningen. <code> </code> Jo förresten. Jag kollade just - av någon jäkla anledning så blir ordningen omkastad. Tja... om du bara ska skriva in en gång är det väl ingen fara. Kan väl förstås vara jobbigt med många, men då använder du väl inte colorpicker ? HejFråga om färgkoder
T ex Jag mäter upp färgen #EFEFDE här på pellesoft vill jag sen använda den i VB måste jag skriva den &H00DEEFEF& dvs kasta om ordningen från 123456 till 563412 <code> </code>Finns det något smidigare sätt att göra detta på? / RogerSv: Fråga om färgkoder
Jag känner mig lite ringrostig i den tekniska delen av färger, men det känns som att det är fel att skriva in det rakt av på det sättet.
Nåväl, du ville ha ett annat sätt: Du kan använda RGB(Red As Integer, Green As Integer, Blue As Integer) istället (om du inte har några enorma prestandakrav).
Typ:
<code>
frmMain.ForeColor = RGB(20,30,40)
</code>
/Niklas JanssonSv: Fråga om färgkoder
/ RogerSv: Fråga om färgkoder
/Niklas JanssonSv: Fråga om färgkoder
Gammalt känt problem,om du tycker det är värt
besväret kan du använda en funktion enl exempel.
Option Explicit
'#EFEFDE här på pellesoft vill jag sen använda den i
'VB måste jag skriva den &H00DEEFEF& dvs kasta om
Private Function HexConvertToVb(ByVal HexStr As String) As String
Dim tmpStr As String
tmpStr = "&H00" & Right$(HexStr, 2) & _
Mid$(HexStr, 4, 2) & _
Mid$(HexStr, 2, 2) & "&"
HexConvertToVb = tmpStr
End Function
Private Sub Command1_Click()
MsgBox HexConvertToVb("#EFEFDE")
End Sub
mvh
Sven