首先糾正一下,HFFFFFFFF不是白色,正確的應(yīng)該是HFFFFFF,共三個(gè)字節(jié),每個(gè)字節(jié)分別是紅綠藍(lán)三原色的分量值。如果用HFFFFFFFF(這是四個(gè)字節(jié)),VB6會(huì)報(bào)錯(cuò)的。
創(chuàng)新互聯(lián)專注于企業(yè)營(yíng)銷型網(wǎng)站建設(shè)、網(wǎng)站重做改版、灌云網(wǎng)站定制設(shè)計(jì)、自適應(yīng)品牌網(wǎng)站建設(shè)、H5頁面制作、商城系統(tǒng)網(wǎng)站開發(fā)、集團(tuán)公司官網(wǎng)建設(shè)、成都外貿(mào)網(wǎng)站建設(shè)、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁設(shè)計(jì)等建站業(yè)務(wù),價(jià)格優(yōu)惠性價(jià)比高,為灌云等各大城市提供網(wǎng)站開發(fā)制作服務(wù)。
其次,vbWhite是VB的內(nèi)部常量,它的值就是HFFFFFF(也就是十進(jìn)制的16777215),所以不存在轉(zhuǎn)換的問題。建議盡量使用類似vbWhite、vbRed、vbBlue這樣的常量來表示顏色,因?yàn)樗鼈兒苤庇^,即使不懂編程(但懂點(diǎn)英語)的人也知道它們就是白色、紅色、藍(lán)色的意思。
你可以自己在VB6的立即窗口驗(yàn)證一下我上面所述是否正確:
Print?vbWhite???'顯示結(jié)果為16777215
Print?Hex(vbWhite)???'顯示結(jié)果為FFFFFF
補(bǔ)充說一下,顏色的多種表示方式,其實(shí)它們最終的值都是相等的,并不需要所謂的轉(zhuǎn)換,比如以下是純藍(lán)色的多種表示方式:
vbBlue
RGB(0,?0,?255)
HFF0000
16711680
以上這些表示方式,其實(shí)它們的值都是一樣的,都是等于16711680,你甚至可以拿它們直接來進(jìn)行數(shù)學(xué)運(yùn)算呢!
vbBlue?+?RGB(0,?0,?255)?+?HFF0000?+?16711680?=?66846720
66846720?/?4?=?16711680
如果你是想讓一個(gè)顏色值分解為紅綠藍(lán)三原色分量,可以這樣:
color1?=?vbWhite???'這是白色
red?=?color1?Mod?H100??'這是紅色分量
green?=?color1?\?H100?Mod?H100??'這是綠色分量
blue?=?color1?\?H10000??'這是藍(lán)色分量
public Color col(string colorName)
{
Type colorType = typeof(Color);
PropertyInfo info = colorType.GetProperty(colorName, BindingFlags.Public | BindingFlags.Static);
if (infos == null)
{
//throw Exception
}
return(Color)info.GetValue(null, null);
}
是這個(gè)意思么?輸入“Red”, 返回Color.Red 區(qū)分大小寫
R/G/B值最小是0最大是255屬Byte值類型
Dim cr As Color = 控件.BackColor '獲取控件背景色
Dim alpha As Byte = cr.A '透明度
Dim R As Byte = cr.R 'R值
Dim G As Byte = cr.G 'G值
Dim B As Byte = cr.B 'B值
Dim outAcr As Color = Color.FromArgb(alpha, R, G, B) '創(chuàng)建帶有透明通道的ARGB顏色
Dim outcr As Color = Color.FromArgb(R, G, B) '創(chuàng)建不透明的RGB顏色
Label控件是沒有辦法實(shí)現(xiàn)多種顏色的文字的,只能用RichTextBox來實(shí)現(xiàn),而且你的自定義格式字符串也沒有結(jié)尾的,這樣很不好,至少也要red紅色字/redyellow黃色字/yellow,而且實(shí)現(xiàn)也很麻煩的,下面的代碼我沒有檢測(cè)正確性,有錯(cuò)誤的自己改一改吧
Dim colortag() as string
dim colors() as color
const txt as string="red紅色字/redyellow黃色字/yellow"
private sub Form_Load(object sender,eventargs e)handles mybase.load
colortag(0)="red":Colortag(1)="yellow"
colors(0)=color.red:colors(1)=color.yellow
richtextbox1.text=txt
for i as integer=0 to colortag.lenght-1
dim tag as string="" colortag(i) ""
dim endtag as string="/" colortag(i) ""
dim find as integer=1
do
find=instr(find,txt,tag)+tag.lenght
if(find0)then
dim find1 as integer=instr(find,txt,endtag)
richtextbox1.SelectionStart=find
richtextbox1.selectionlenght=find1-find
richtextbox1.selectioncolor=colors(i)
find=find1
else
exit do
end if
loop
next
end sub
網(wǎng)站名稱:vb.net顏色表示的簡(jiǎn)單介紹
本文網(wǎng)址:http://vcdvsql.cn/article2/doiegoc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供域名注冊(cè)、網(wǎng)站內(nèi)鏈、企業(yè)網(wǎng)站制作、營(yíng)銷型網(wǎng)站建設(shè)、云服務(wù)器、定制網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)