Ms access VBA更改矩形的背景色-访问
所以我试图在Access中更改矩形的背景色。我知道您可以轻松地执行此操作Ms access VBA更改矩形的背景色-访问,ms-access,vba,backcolor,Ms Access,Vba,Backcolor,所以我试图在Access中更改矩形的背景色。我知道您可以轻松地执行此操作Box1.BackColor=RGB(0,0,0),但是我希望在文本框中输入一个值,然后在更新文本框后立即显示该颜色值 我原以为下面的方法行得通,但行不通 Textbox1=0,0,0 Dim P1 as String P1 = "RGB(" + Textbox1.text + ")" Box1.Backcolor = P1 如何在运行中更改背景色?您可以拆分文本,通过int运行条目,并将其馈送到RGB: Dim A As
Box1.BackColor=RGB(0,0,0)
,但是我希望在文本框中输入一个值,然后在更新文本框后立即显示该颜色值
我原以为下面的方法行得通,但行不通
Textbox1=0,0,0
Dim P1 as String
P1 = "RGB(" + Textbox1.text + ")"
Box1.Backcolor = P1
如何在运行中更改背景色?您可以
拆分文本,通过int
运行条目,并将其馈送到RGB
:
Dim A As Variant
A = Split(Textbox1.text,",")
Box1.BackColor = RGB(Int(A(0)),Int(A(1)), Int(A(2)))
您可以split
文本,通过int
运行条目并将其馈送到RGB
:
Dim A As Variant
A = Split(Textbox1.text,",")
Box1.BackColor = RGB(Int(A(0)),Int(A(1)), Int(A(2)))
根据您的代码,Eval()应该适合您。该函数计算字符串的值就像计算代码一样。背景色很长,顺便说一句,所以我相应地调整了你的代码
Dim P1 as Long
P1 = eval("RGB(" + Textbox1.text + ")")
Box1.Backcolor = P1
或者您可以抛弃P1并执行以下操作:
Box1.Backcolor = eval("RGB(" + Textbox1.text + ")")
根据您的操作,您可能只想使用内置的颜色对话框,而不是在文本框中输入文本
下面是API声明和可重用函数
Declare Sub wlib_AccColorDialog Lib "msaccess.exe" Alias "#53" (ByVal Hwnd As Long, lngRGB As Long)
Function ChooseColor(nDefColor As Variant) As Long
Dim lngColor As Long
wlib_AccColorDialog Screen.ActiveForm.Hwnd, nDefColor
ChooseColor = nDefColor
End Function
这是对这些函数的框调用;它将传递对话框的默认颜色,以便在对话框打开时选择该颜色
Box1.BackColor = ChooseColor(Me.Box1.BackColor)
根据您的代码,Eval()应该适合您。该函数计算字符串的值就像计算代码一样。背景色很长,顺便说一句,所以我相应地调整了你的代码
Dim P1 as Long
P1 = eval("RGB(" + Textbox1.text + ")")
Box1.Backcolor = P1
或者您可以抛弃P1并执行以下操作:
Box1.Backcolor = eval("RGB(" + Textbox1.text + ")")
根据您的操作,您可能只想使用内置的颜色对话框,而不是在文本框中输入文本
下面是API声明和可重用函数
Declare Sub wlib_AccColorDialog Lib "msaccess.exe" Alias "#53" (ByVal Hwnd As Long, lngRGB As Long)
Function ChooseColor(nDefColor As Variant) As Long
Dim lngColor As Long
wlib_AccColorDialog Screen.ActiveForm.Hwnd, nDefColor
ChooseColor = nDefColor
End Function
这是对这些函数的框调用;它将传递对话框的默认颜色,以便在对话框打开时选择该颜色
Box1.BackColor = ChooseColor(Me.Box1.BackColor)
可能使用val()而不是int来允许任何额外的空格,并在无效的values@AlexK. 这主意不错——虽然我很确定Int
允许空格--Int(“1”)
的计算结果为1。我喜欢这个建议,非常感谢。也许可以使用val()而不是Int来允许任何额外的空格,并在无效的情况下得到0values@AlexK. 这主意不错——虽然我很确定Int
允许空格--Int(“1”)
的计算结果为1。我喜欢这个建议,非常感谢。