如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
9.1图形操作基础9.1.1坐标系统9.1.2自定义坐标系[例9-1]本例用窗体内两个命令按钮的单击事件说明用Scale方法改变坐标系统后产生的影响,命令Line(0,0)-(1500,1500)表示从坐标原点到(1500,1500)画一根直线。PrivateSubCommand1_Click()ClsForm1.Scale’采用缺省坐标系Line(0,0)-(1500,1500)EndSubCommandl_Click事件采用缺省坐标系,坐标原点在窗体的左上角,此时,Height=3600,Width=4800,ScaleHeight=3195,ScaleWidth=4680(twip)PrivateSubCommand2_Click()ClsForm1.Scale(0,1500)-(1500,0)’定义用户坐标系Line(0,0)-(1500,1500)EndSubCommand2_Click事件定义用户坐标系,坐标原点在窗体的左下角,X轴的正向向左,Y轴的正向向上,窗体的左上角坐标为(0,1500),右下角坐标为(1500,0)。此时,Height=3600,Width=4800,ScaleHeight=-1500,ScaleWidth=1500(twip)。程序运行后,单击Commandl,结果如图6.1中左图所示,单击Command2,结果如图9-1中右图所示。9.1.3使用VisualBasic颜色9.2图形控件9.2.1Line(画线工具)线条控件的主要属性:1)BorderStyle属性:设置线条的类型。各个属性值代表的线条类型如下:0透明线1实心线2长划线3点线4点划线5点点相间的长划线6内部实线如图9-2是BorderStyle属性设置为不同值时线条的形状。2)BorderWidth属性:设置线条的宽度,即线条的粗细。BorderWidth属性受BorderStyle属性设置的影响,不同BorderStyle属性线条的BorderWidth计算方式不同,如表9-3所示。9.2.2Shape(形状)形状控件的主要属性:1)Shape属性:设置其显示形状。如表9-4所示。[例9-2]本例显示Shape控件的6种形状,如图6.3所示。PrivateSubForm_Activate()DimiAsIntegerPrint"012345"Shape1(0).Shape=0:Shape1(i).FillStyle=2Fori=1To5LoadShape1(i)Shape1(i).Left=Shape1(i-1).Left+750Shape1(i).Shape=iShape1(i).FillStyle=i+2Shape1(i).Visible=TrueNextiEndSub9.2.3图像框(Image)控件Picture属性Picture属性与图像数据有关。为显示一幅图像,需要对Picture属性赋值。可以用LoadPicture方法,也可用其他图像框或图片框的图像数据来赋值。下面是使用LoadPicture的例子:Image1.Picture=LoadPicture(“c:\windows\winupd.ico”)把图像框2的图像赋给图像框1的例子是:Image1.Picture=Image2.Picture把图片框1的图像赋给图像框1的例子是Image1.Picture=Picture1.Picture用图像框控件设计动画程序动画就是一个接一个显示图片的过程。让一系列图片连续显示,利用人视角暂留特性,可以产生动画效果。下面这个程序实现蝴蝶在原地的飞舞。对象程序代码如下:OptionExplicitDimgRotateFlagAsInteger,gCurrentBtfAsIntegerPrivateSubCommand1_Click()IfgRotateFlag=0ThengRotateFlag=1:Command1.Caption="停止(&X)"ElsegRotateFlag=0:Command1.Caption="开始(&S)"EndIfEndSubPrivateSubCommand2_Click()EndEndSubPrivateSubForm_Load()gRotateFlag=0:gCurrentBtf=0EndSubPrivateSubTimer1_Timer()IfgRotateFlag=1ThenImage2.Picture=Image1(gCurrentBtf).Picture:gCurrentBtf=gCurrentBtf+1If(gCurrentBtf=2)ThengCur