如何让用户在一个窗体或控件上可以随意画直线
展开全部
ACCESS窗体主要是用来开发数据库应用系统的,如果你想在窗体上画线条的确不太给力。在VB窗体里划线以坐标为参数使用LINE方法非常方便,但是在OFFICE,ACCESS里的VBA
LINE方法(当然需要使用坐标参数,联机说明有详细介绍)只能应用于报表而不能应用于窗体。
若要在ACCESS窗体里面划线,我建议你使用下列两种办法:
1)如果你VB比较熟练,可用VB设计一个带LINE方法的自定义ActiveX控件,然后再在ACCESS
VBA中引用该控件,之后将你的自定义控件添加到ACCESS窗体里面,你就可以使用那个ActiveX控件的LINE方法在该控件里绘图划线了;
2)使用ACCESS提供的内置直线控件(Line)。
首先在ACCESS窗体里放置若干个Line控件(要用多少个就放置多少个)将Visible属性设置为False,给不同用途的Line控件分别命名为:类型加尾号,例如:X轴标尺1,X轴标尺2,...
斜线1,斜线2.....
直线1,直线2,......等等
以便以后可集中而不必为每一个控件壹壹设置属性以提高效率,其它属性暂时不理。
使用VBA语言设置Line控件的各种属性在窗体里的特定位置画线,例如:
画斜线
with
斜线1
.Top=300
‘单位:缇
相当于一个像素
567缇=1厘米
.LineSlant=False
'
确定线条左斜还是右斜
.Left=200
.width=800
.height=400
.visible=true
end
with
画水平线
with
直线2
.Top=300
.Left=900
.width=350
.height=0
.visible=true
end
with
画垂直线
with
直线3
.Top=300
.Left=900
.width=0
.height=300
.visible=true
end
with
直线的粗细
用BorderWidth属性设置(取值范围0-6,单位为磅)
直线的颜色
用Bordercolor属性设置(例如取
vbBlue,vbGreen,vbRed
等等)
特别提醒一下,除了使用直线控件外,其实你还可以使用其它类型的控件来画图,这要看你的想象力了。
只要你正确设置各种画线控件的绝对和相对位置及各种属性值,充分利用VBA的循环、判断等语句相信你能够在ACCESS窗体里画出各种效果相当不错的图形,如果配合Timer甚至还能绘出动画效果!
具体的VBA实现代码这里就不写了,祝你成功!
LINE方法(当然需要使用坐标参数,联机说明有详细介绍)只能应用于报表而不能应用于窗体。
若要在ACCESS窗体里面划线,我建议你使用下列两种办法:
1)如果你VB比较熟练,可用VB设计一个带LINE方法的自定义ActiveX控件,然后再在ACCESS
VBA中引用该控件,之后将你的自定义控件添加到ACCESS窗体里面,你就可以使用那个ActiveX控件的LINE方法在该控件里绘图划线了;
2)使用ACCESS提供的内置直线控件(Line)。
首先在ACCESS窗体里放置若干个Line控件(要用多少个就放置多少个)将Visible属性设置为False,给不同用途的Line控件分别命名为:类型加尾号,例如:X轴标尺1,X轴标尺2,...
斜线1,斜线2.....
直线1,直线2,......等等
以便以后可集中而不必为每一个控件壹壹设置属性以提高效率,其它属性暂时不理。
使用VBA语言设置Line控件的各种属性在窗体里的特定位置画线,例如:
画斜线
with
斜线1
.Top=300
‘单位:缇
相当于一个像素
567缇=1厘米
.LineSlant=False
'
确定线条左斜还是右斜
.Left=200
.width=800
.height=400
.visible=true
end
with
画水平线
with
直线2
.Top=300
.Left=900
.width=350
.height=0
.visible=true
end
with
画垂直线
with
直线3
.Top=300
.Left=900
.width=0
.height=300
.visible=true
end
with
直线的粗细
用BorderWidth属性设置(取值范围0-6,单位为磅)
直线的颜色
用Bordercolor属性设置(例如取
vbBlue,vbGreen,vbRed
等等)
特别提醒一下,除了使用直线控件外,其实你还可以使用其它类型的控件来画图,这要看你的想象力了。
只要你正确设置各种画线控件的绝对和相对位置及各种属性值,充分利用VBA的循环、判断等语句相信你能够在ACCESS窗体里画出各种效果相当不错的图形,如果配合Timer甚至还能绘出动画效果!
具体的VBA实现代码这里就不写了,祝你成功!
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询