『壹』 VB按鈕如何設置顏色和按鈕文字設置顏色
首先command的style要設為1,否則無法改變
然後在backcolor設置顏色
按鈕的字體顏色不能改
如果想改字體顏色,簡單點可以用image做按鈕。
如果一定要,請看:
在工程中添加以下模塊(Mole):
MolemodExtButton.bas
OptionExplicit
'==================================================================
'modExtButton.bas
'
'本模塊可讓你改變命令按鈕的文本顏色。
'使用方法:
'
'-在設計時將文本的Style設為Graphical.
'
'-隨意設定背景色和圖象屬性.
'
'-在Form_Load中調用SetButton:
'SetButtonCommand1.hWnd,vbBlue
'(你可以任意次的調用該過程甚至不必先調用RemoveButton.)
'
'-在Form_Unload中調用RemoveButton:
'RemoveButtonCommand1.hWnd
'
'==================================================================
PrivateTypeRECT
LeftAsLong
TopAsLong
RightAsLong
BottomAsLong
EndType
"user32"_
(ByValhWndAsLong)AsLong
"user32"Alias_
"GetWindowLongA"(ByValhWndAsLong,_
ByValnIndexAsLong)AsLong
"user32"Alias_
"SetWindowLongA"(ByValhWndAsLong,ByValnIndexAsLong,_
ByValdwNewLongAsLong)AsLong
PrivateConstGWL_WNDPROC=(-4)
"user32"Alias"GetPropA"_
(ByValhWndAsLong,ByVallpStringAsString)AsLong
"user32"Alias"SetPropA"_
(ByValhWndAsLong,ByVallpStringAsString,_
ByValhDataAsLong)AsLong
"user32"Alias_
"RemovePropA"(ByValhWndAsLong,_
ByVallpStringAsString)AsLong
"user32"Alias_
"CallWindowProcA"(ByVallpPrevWndFuncAsLong,_
ByValhWndAsLong,ByValMsgAsLong,ByValwParamAsLong,_
ByVallParamAsLong)AsLong
"kernel32"Alias"RtlMoveMemory"_
(DestinationAsAny,SourceAsAny,ByValLengthAsLong)
'Ownerdrawconstants
PrivateConstODT_BUTTON=4
PrivateConstODS_SELECTED=&H1
'Windowmessageswe'reusing
PrivateConstWM_DESTROY=&H2
PrivateConstWM_DRAWITEM=&H2B
PrivateTypeDRAWITEMSTRUCT
CtlTypeAsLong
CtlIDAsLong
itemIDAsLong
itemActionAsLong
itemStateAsLong
hwndItemAsLong
hDCAsLong
rcItemAsRECT
itemDataAsLong
EndType
"user32"Alias_
"GetWindowTextA"(ByValhWndAsLong,ByVallpStringAsString,_
ByValcchAsLong)AsLong
'VariousGDIpainting-relatedfunctions
"user32"Alias"DrawTextA"_
(ByValhDCAsLong,ByVallpStrAsString,ByValnCountAsLong,_
lpRectAsRECT,ByValwFormatAsLong)AsLong
"gdi32"(ByValhDCAsLong,_
ByValcrColorAsLong)AsLong
"gdi32"(ByValhDCAsLong,_
ByValnBkModeAsLong)AsLong
PrivateConstTRANSPARENT=1
PrivateConstDT_CENTER=&H1
PublicEnumTextVAligns
DT_VCENTER=&H4
DT_BOTTOM=&H8
EndEnum
PrivateConstDT_SINGLELINE=&H20
PrivateSubDrawButton(ByValhWndAsLong,ByValhDCAsLong,_
rctAsRECT,ByValnStateAsLong)
DimsAsString
DimvaAsTextVAligns
va=GetProp(hWnd,"VBTVAlign")
'PrepareDCfordrawing
SetBkModehDC,TRANSPARENT
SetTextColorhDC,GetProp(hWnd,"VBTForeColor")
'Prepareatextbuffer
s=String$(255,0)
'Whatshouldweprintonthebutton?
GetWindowTexthWnd,s,255
'Trimoffnulls
s=Left$(s,InStr(s,Chr$(0))-1)
Ifva=DT_BOTTOMThen
'AdjustspeciallyforVB'sCommandButtoncontrol
rct.Bottom=rct.Bottom-4
EndIf
If(nStateAndODS_SELECTED)=ODS_SELECTEDThen
'Buttonisindownstate-offset
'thetext
rct.Left=rct.Left+1
rct.Right=rct.Right+1
rct.Bottom=rct.Bottom+1
rct.Top=rct.Top+1
EndIf
DrawTexthDC,s,Len(s),rct,DT_CENTEROrDT_SINGLELINE_
Orva
EndSub
PublicFunctionExtButtonProc(ByValhWndAsLong,_
ByValwMsgAsLong,ByValwParamAsLong,_
ByVallParamAsLong)AsLong
DimlOldProcAsLong
DimdiAsDRAWITEMSTRUCT
lOldProc=GetProp(hWnd,"ExtBtnProc")
ExtButtonProc=CallWindowProc(lOldProc,hWnd,wMsg,wParam,lParam)
IfwMsg=WM_DRAWITEMThen
CopyMemorydi,ByVallParam,Len(di)
Ifdi.CtlType=ODT_BUTTONThen
IfGetProp(di.hwndItem,"VBTCustom")=1Then
DrawButtondi.hwndItem,di.hDC,di.rcItem,_
di.itemState
EndIf
EndIf
ElseIfwMsg=WM_DESTROYThen
ExtButtonUnSubclasshWnd
EndIf
EndFunction
PublicSubExtButtonSubclass(hWndFormAsLong)
DimlAsLong
l=GetProp(hWndForm,"ExtBtnProc")
Ifl<>0Then
'Alreadysubclassed
ExitSub
EndIf
SetProphWndForm,"ExtBtnProc",_
GetWindowLong(hWndForm,GWL_WNDPROC)
SetWindowLonghWndForm,GWL_WNDPROC,AddressOfExtButtonProc
EndSub
PublicSubExtButtonUnSubclass(hWndFormAsLong)
DimlAsLong
l=GetProp(hWndForm,"ExtBtnProc")
Ifl=0Then
'Isn'tsubclassed
ExitSub
EndIf
SetWindowLonghWndForm,GWL_WNDPROC,l
RemoveProphWndForm,"ExtBtnProc"
EndSub
PublicSubSetButton(ByValhWndAsLong,_
ByVallForeColorAsLong,_
=DT_VCENTER)
DimhWndParentAsLong
hWndParent=GetParent(hWnd)
IfGetProp(hWndParent,"ExtBtnProc")=0Then
ExtButtonSubclasshWndParent
EndIf
SetProphWnd,"VBTCustom",1
SetProphWnd,"VBTForeColor",lForeColor
SetProphWnd,"VBTVAlign",VAlign
EndSub
PublicSubRemoveButton(ByValhWndAsLong)
RemoveProphWnd,"VBTCustom"
RemoveProphWnd,"VBTForeColor"
RemoveProphWnd,"VBTVAlign"
EndSub
'然後回到FORM中:
'添加CommandButton,不必更改它們的名稱,將它們的Style設為Graphical,給第3個按鈕設置一幅圖片。
'CommandButton也可以放置在一個容器如PictureBox或Frame中,模塊會判斷,如果需要的話將CommandButton的容器也子類化。
'在Form中的代碼:
PrivateSubForm_Load()
'Initializeeachbuttoncolor.
SetButtonCommand1.hWnd,vbRed
SetButtonCommand2.hWnd,&H8000&'深綠色
'AssignthisoneaDT_BOTTOMalignmentbecause
SetButtonCommand3.hWnd,vbBlue,DT_BOTTOM'含有圖片,將文本放置在按鈕底部
SetButtonCommand4.hWnd,&H8080&'暗棕黃色
EndSub
PrivateSubForm_Unload(CancelAsInteger)
'手動解除按鈕的子類化
'這並不是必須的
RemoveButtonCommand1.hWnd
RemoveButtonCommand2.hWnd
RemoveButtonCommand3.hWnd
RemoveButtonCommand4.hWnd
EndSub
Form=0To9
SetButtonCmdNum(m).hWnd,vbBlue
Next
Forn=1To4
SetButtonCmdCal(n).hWnd,vbRed
Next
Forl=2To4
SetButtonCmdOth(l).hWnd,vbRed
Next
『貳』 vb編程,自定義變數實現顏色請指教下
其實這個問題特簡單,但是三色需要三個文本框(數組控制項)分別輸入,設置紅色、綠色、藍色,在文本框的Text1_Change事件中設置Text2的顏色就可以了。
PrivateSubForm_Load()
Text2.Text="你好嗎?"
Text2.FontSize=20
Text2.FontBold=True
EndSub
PrivateSubText1_Change(IndexAsInteger)
DimAAAsInteger,BBAsString
AA=Index
IfAA=0ThenBB="紅色"
IfAA=1ThenBB="綠色"
IfAA=2ThenBB="藍色"
IfIsNumeric(Text1(AA).Text)=FalseThen
MsgBox"你輸入的"&BB&"不是數字,各種顏色的值必須是0-255之間的正整數!"
Text1(AA).Text=""
Text1(AA).SetFocus
ExitSub
EndIf
IfVal(Text1(AA).Text)<0OrVal(Text1(AA).Text)>255Then
MsgBox"你輸入的"&BB&"數字不正確,不能小於0,也不能大於255!"
Text1(AA).Text=""
Text1(AA).SetFocus
ExitSub
EndIf
IfVal(Text1(0).Text)>=0AndVal(Text1(0).Text)<=255AndVal(Text1(1).Text)>=0AndVal(Text1(1).Text)<=255AndVal(Text1(2).Text)>=0AndVal(Text1(2).Text)<=255Then
Text2.ForeColor=RGB(Val(Text1(0).Text),Val(Text1(1).Text),Val(Text1(2).Text))
EndIf
EndSub
『叄』 VB中窗體顏色怎麼改變
Private Sub Command1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
form1.backcolor =vbRed
endsub
Private Sub Command1_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
form1.backcolor =vbGreen
endsub
(3)vb怎樣設置顏色擴展閱讀:
VB當中的顏色代碼
vbBlack &H0 黑色
vbRed &HFF 紅色
vbGreen &HFF00 綠色
vbYellow &HFFFF 黃色
vbBlue &HFF0000 蘭色
vbMagenta &HFF00FF 洋紅
vbCyan &HFFFF00 青色
vbWhite &HFFFFFF 白色
vbGrayText &H80000011 變灰的(無效的)文字
vbButtonText &H80000012 撳壓按鈕上文字的顏色
vbInactiveCaptionText &H80000013 非活動標題內文字的顏色
vb3DHighlight &H80000014 三維顯示元素的高亮顏色
vb3DDKShadow &H80000015 三維顯示元素的最暗陰影顏色
vb3DLight &H80000016 低於 vb3Dhighlight 的 三維次高亮顏色
vb3DFace &H8000000F 文字表面的顏色
vb3DShadow &H80000010 文字陰影的顏色
vbInfoText &H80000017 提示窗內文字的顏色
vbInfoBackground &H80000018 提示窗內背景的顏色
『肆』 VB中怎麼改變單擊按鍵的顏色
1、打開Visual Basic 6.0軟體,新建一個標准exe工程;
『伍』 VB代碼顏色設置
excuse
me,VB是編寫簡單程序的軟體,在代碼窗口中設置控制項的屬性、事件,然後調試、保存窗體,生成.exe可執行文件。代碼本身的顏色將不能出現在程序中。
不過,如果你想改變某些控制項的顏色,可在屬性窗口中改,也可代碼窗口中
對象名.forecolor=RGB(0,255,0)
『陸』 VB程序中如何設置字體顏色
我也不想看上面樓主說的意思了。
因我機器沒有vb,只能說說思路了。你已經說了是用richtextbox,具體思路如下:
1,這個控制項分別有有設置顏色,字體的屬性。
2,因為你可能是想每行的字體,顏色都不一樣。這就要對文本框的位進行計算,從0位到行的最後一位進行選中,用屬性設置。
依次計算就可以達到目標。
3,上面的方法是一種非常死板的方法。如果你想好一點,就採取api取行實現。那樣子方法比較復雜。但是對於程序的性能可能相對較好。
『柒』 vb rgb函數設置顏色
比如設置窗體顏色,代碼如下:
Private Sub Command1_Click()
Form1.BackColor = RGB(255, 222, 14)
End Sub
『捌』 vb中顏色設置的代碼是什麼
用顏色常數:
Form1.BackColor = vbRed '紅
Form1.BackColor = vbBlue '藍
Form1.BackColor = vbWhite '白
用QBColor函數:
Form1.BackColor = QBColor(n) 'n的值是0到15
用RGB函數:
Form1.BackColor = RGB(r, g, b) 'r、g、b的值分別是0到255
直接用顏色值:
Form1.BackColor = &HFF& '紅
Form1.BackColor = &HFF00& '綠
Form1.BackColor = &HFF0000 '藍
前兩種方式只能設置16種顏色,後兩種方式可設置16777216色
『玖』 VB6中怎麼修改按鈕的顏色
VB6可通過Style 屬性給按鈕實現顯色功能。
Style 屬性,返回或設置一個值,該值用來指示控制項的顯示類型和行為。在運行時是只讀的。
『拾』 VB中如何設置調整label的字體、大小和顏色
可以參考下面的代碼:
Private Sub Form_Load()
Label1.Font = "楷體" '字體改為楷體
Label1.FontSize = 50 '字體大小
Label1.ForeColor = vbRed '字體顏色改為紅色
Label1.AutoSize = True 'label隨文字內容自動改變大小
End Sub
(10)vb怎樣設置顏色擴展閱讀:
VB參考函數
Date 函數: 返回當前系統日期。
DateAdd 函數: 返回加上了指定的時間間隔的日期。
DateSerial 函數: 返回指定年月日的日期子類型的變體 。
DateValue 函數: 返回日期子類型的變體 。
Day 函數: 返回日期,取值范圍為 1 至 31。
Description 屬性: 返回或者設置說明某個錯誤的字元串。