用Visual Basic设计函数与坐标点绘图程序
- 格式:pdf
- 大小:133.87 KB
- 文档页数:4
第19卷第3期 20o2年8月 河 北 省 科 学 院 学 报
Journal of the Hebei Academy of Sciences Vo1.19 No.3
Aug.2002
文章编号:1001—9383(2002)03—0163—03 用Visual Basic设计函数与坐标点绘图程序 臧建民,贾书堂,宋 煜,张肃丽 (河北省科学院激光研究所石家庄050081) { 【摘 要】 针对实际工作中遇到的问题,用Visual Basic语言编写一个程序软件,能有效地提高工 作效率,并给出了一个实例。 【关键词】Visual Basic,绘图 【中圈分类号】TP317.4 【文献标识码】A
Use visual basic to design a drawing programm of funtion and coordinates ZANG Jian—rnin,JIA Shu—tang,SONG Yu,ZHANG Su—li (Institute of Laser,Hebel Academy of Sciences,Shijiazhuang 050081,China) Abstract In order tO solve the problem in practice and raise work efficiency,a software is programmed using visual basic.A sample is discussed in paper Keywords Visual Basic;Drawing
在写论文和整理实验记录等工作中,有很多数据需要以坐标图的方式来表示。不论是Windows附件中 的画图软件,还是Excel和AutoCAD等软件,用来绘制论文和实验报告中的坐标图多感到很不方便,为此。笔 者用VB5.0编写了一个函数与坐标点绘图的程序软件,经过使用证明。基本上能满足写论文和整理实验记录 等工作中制作坐标图的需要。 1 功能介绍 使用Visual Basic的CommandBut— toll、CommonDialog、Frame Label、MS. FlexGrid,OptionBox、PictureBox、Script— Control、TextBox、Timer等控件设计的函 数与坐标点绘图程序界面如图1。 根据论文和实验记录制作坐标图的 实际需要,函数与坐标点绘图程序软件 具有以下功能: (1)坐标轴、刻度自动生成功能;(2) 象限选择功能;(3)比例调整功能;(4)函 数和坐标点绘图功能;(5)线型、线宽、颜 色选择功能;(6)标注文字输入功能;(7) 鼠标做图和重复绘图功能;(8)选定、剪 切、复制、粘贴功能;(9)*.bmp文件的打 开、保存功能;(1O)坐标图的1:1打印功
收稿日期:2001—12—25
” 荫 嘲秘薯鬻.虢 …… : ‰6 ∞: 砬 5o 一+
槲蚪 垃 蝣‘::: ‘o
lU 一滞 '
一: i:i:!ll Y: l ==!l 妻} 一50 .∞ -2o _I口/
:: : :i x 5/OUU i!i:i!i{ f 一 篓~一… 。 ’ =:翔 /一 、 “ I' :1 / ::— —一£! 。 :: : - :-: : :-
麓:强嚣零 鹾 : I= .jt . ..-t‘± : :. t±±l越:l .. :: : .
. 淄_l__ l 囊
※瓤 轻 ※ ※0 } j懈* 圈1 函数与坐标点绘圈程序界面
维普资讯 http://www.cqvip.com 164 河北省科学院学报 2002年第19卷 能。 2软件结构及设计技术 本软件主要由参数选择和录入、图形生成、图形编辑和打印等部分组成。 2.1参数选择和录入的设计原理及程序实现 这一部分的主要功能是完成用户对做图参数的选择和录入。选择和录入时,要求用户对做图对象、象限、 线型、颜色、线宽选择并输入做图比例、做图范围、做图函数、坐标点坐标等参数。选择和录入界面如图1和图 2所示。其中用户对做图对象、象限、线型、颜色、线宽选择是用Frame、Label、OptionBox、控件实现的,做图比 例、做图范围、做图函数、坐标点坐标等参数的输入是用Frame、Label、MSFlexGrid、SeriptControl、TextBox实现 的。 函数做图过程的代码如下: Private Sub Commandl~Click()‘画图 按钮单击后执行的代码
‘假如输入选择为函数输入.坐标系选 择为四象限 lf Option2.Value=True And Option5. Value=True Then Call zuobiao4‘调用 轴和刻度做 图子程序 0 II draw ‘谚用函毁做图子程序 End If End Sub Sub draw2(J‘函数做图子程序 Dim , ,创建变量 图2线型选择界面
Dim ^3 Double。Y As Double X1=CLng(Text2.Text) X2=CLng(Text3.Text) Set Sc=CreateObject(”ScriptControl”) Sc.Language=’’VB, ̄ript’’ Set m=Sc.Modules.Add(”Modulel”)’添加模块。 Call xianxingxuanze‘调用线形选择子程序 Call yanseehuli‘调用颜色选择子程序 CaII xiankuanxuanze‘调用线宽选择子程序 X=X1 t=X1 m.AddCode”Private X…向模块添加代码。 m,AddCode”X=”&X1 m,ExecuteStatement(”X=”&X) ……‘做图范围为一象限和一、二象限时的函数做图代码 If Option5.Value=True Then‘做图范围为四个象限时时函数做图代码 For X=X1 To X2 t=t+1 m,ExecuteStatement(”X=”&X) X=m.Eval(X)
维普资讯 http://www.cqvip.com 第3期 臧建民等:用Visual Basic设计函数与坐标点绘图程序 165 Y=m.Eval(Trim(Text1.Text)) ‘根据做图区域大小设置做图的起点 If X>一55*CSng(Text4.Text)And X<55*CSng(Text4.Text)And Y>一50*CSng(Text5. Text)一And Y<50*CSng(Text5.Text)Then Pictttre1.PSet((60+X/CSng(Text4.Text)),(55一Y/CSng(Text5.Text))),RGB(red,一green, blue) O&aw3 End If Next End If
&aw3: For X=t To X2 m.ExecuteStatement(”x=”&X) X=m.Eval(X) Y=m.Eval(Trim(Text1.Text)) ’在做图区域内绘制函数图形 If X>一55*CSng(Text4.Text)And X<55*CSng(Text4.Text)And Y>一50*CSng(Text5. Text)一And Y<5O*CSng(Text5.Text)Then Pictttre1.Line一((6O+x/CSng(Text4.Text)),(55一Y/CSng(Text5.Text))),RGB(red,一 green,blue) Else:Exit Sub End If Next End Sub 2.2图形生成、图形编辑和打印 本部分用于图形的自动绘制、图形编辑和打印。在用户进行完绘图参数选择和录入后,利用Visual Basic 的PictureBox的Line、Pset、Print方法进行绘图。用户可利用图形编辑菜单中提供的选定、剪切功能和鼠标绘 图、文字输入按钮对绘制的图形进行修改和编辑,直到满意便可将绘制的图形用打印机1:1打印输出。 将图形1:1打印输出是绘图软件的一个重要功能,在本程序中,笔者没有编写专门的图形打印代码,而是 使用CommomDialog、Timer和一个Form直接调用了Form的P6_ntForm方法,代码如下: Private Sub Command7一Click() ‘打印按钮单击后执行的代码 L0ad Form3 Clipboard.Clear Clipboard.SetData Picture1.Image,vbCFBitmap Form3.Picture=Clipboard.GetData End Sub Private Sub Form—Load() ‘窗体加栽后执行的代码 Timer1.Interval=1 End Sub Private Sub Timer1一Timer() ‘Timer时问到后执行的代码 CommonDialog1.Action 5 (下转第169页)
维普资讯 http://www.cqvip.com