如何让用户在一个窗体或控件上可以随意画直线

如何让用户在一个窗体或控件上可以随意画直线,第1张

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实现代码这里就不写了,祝你成功!

MATLAB GUI中是有直线控件的。

在MATLAB命令行中输入guide,回车,进入GUI的界面。

左边两列为基本的控件单元,分别有:按钮、滑动条、单选按钮、复选框、可编辑文本、静态文本、d出式菜单、列表框、切换按钮、表、坐标区、面板、按钮组、ActiveX控件。网格上方的工具中,常用的按钮有:对齐对象、菜单编辑器、运行图窗。

选择需要的控件,摆放在界面中即可。

双击每个控件,会d出该控件的检查器,里面有很多属性

每一个控件都有唯一的Tag标注用于区别,在创建好控件之后,对应的Tag值就会存入handles句柄的结构体中。Tag的值会与回调函数的函数名相关联。

Handles句柄这个结构体中的属性都是全局变量,用于在不同的回调函数之间实现参数的传递。如handles.edit1代表的就是可编辑文本框1这个对象。

在函数中的局部变量可以通过新建handles结构体的属性,变成全局变量,记得一定要更新这个结构体。

guidata(hObject,handles)。就可以实现在其他所有的函数中调用handles.Threshold这个属性的值。

MATLAB GUI注意事项:

一般情况下,及时删除了控件,也不要随意删掉.m文件中的看似没有用到的代码,这样很容易出错。

这个很简单的

新建一个类继承UserControl 嘿嘿 也就是新建一个用户控件

定义一个线的颜色再定义一个线的高度

private Color lineColor = Color.Black

private int lineHeight = 1

封闭它们

重写onPaint方法

protected override void OnPaint(PaintEventArgs e)

{

base.OnPaint(e)

e.Graphics.DrawLine(new Pen(lineColor), 1, 1, this.Width,lineHeight)

}

这样就OK了 是不是很简单呀

重新生成一下项目 工具箱里是不是有你刚才定义好的控件了

没用过autocad 我想你不会要这条线能拐弯吧 如果不是 那么现在这些功能应该差不多了


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11613274.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-17
下一篇 2023-05-17

发表评论

登录后才能评论

评论列表(0条)

保存