欢迎来到天天文库
浏览记录
ID:27100947
大小:295.51 KB
页数:37页
时间:2018-12-01
《基础控件的增强功能二》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第五章基础控件的增强功能(二)5-1image控件功能:提供程序显示图像,这个图片可以是位图、图标(.bmp.jpg.gif)等文件格式图形。其关键性接口成员:类别名称说明属性picture用于设置装载的图形stretch可伸缩性装载图形可以在属性窗口中设置,也可以在运行时用程序代码加载。用程序代码对image控件装载图片的方法:image名.picture=loadpicture(文件标识符)当装入某张图片到image控件中时,image默认的模式是让图像框的大小随着装入的图像来改变。如果事先将其stretch属性设置为true,那么被装入的图像将按照图像框的大小做等比例的
2、缩放。例:编写一个显示图片程序,能按照用户要求可以将图像调整成跟image框相等大小或者以图像原来大小来显示。(ch05练习1.vbp)5-2picturebox控件功能:picture控件除了可以显示图像之外,还可以用来描绘图形。Picturebox被装入图片时,picturebox的大小并不会随着图象的大小来改变,这样的好处是:除了显示图片,还保留某些空间来绘图。当确实需要将picturebox控件大小调整到和图像大小相同,此时只需要将picturebox中autosize属性设置为true。例:利用picturebox控件显示西瓜图片,并在右侧画上一个矩形和椭园形。(
3、ch05练习2.vbp)例:写一个可供用户画直线、弧、园、椭园及输入文字的程序。(ch05画板.vbp)1)在窗体上放置一个框架,在内放置一个option控件数组。2)再放置一个框架,在内放置一个label控件数组。3)在窗体上放置一个picturebox控件。在窗体通用处定义模块全局变量dimx0,y0assingledimx1,y1assingledimang1,ang2assingledimk,rassingledimswitchasinteger无论选择哪一种画图,都会触发option1_click(indexasinteger)事件在该事件中必须用一个全局变量记
4、住用户选择了哪种画图(用switch)有些画图要求给初始值,则这些初始值在这里给出。Privatesuboption1_click(indexasinteger)switch=indexifswich=3thenpi=3,14159ang1=pi*val(inpuitbox(“输入起始角:”))/180ang2=pi*val(inpuitbox(“输入终止角:”))/180endififswitch=4thenk=val(inputbox(“输入椭园比率:”))endififswitch=5thenpicture1.mousepointer=3endififswitch=6t
5、henpicrure1.clsx0=emptyx1=emptyendifendsub无论选择哪一种画图方式,都是按下鼠标、移动鼠标、放开鼠标。即是一定触发mousedown、mousemove、mouseup事件,在每一个事件中利用switch判断用户选择哪种画图。写下这个画图的代码。在mousedown事件中获得画图的起始点。Privatesubpicture1_mousedown(buttonasinteger,shiftasinteger,xassingle,yassingle)x0=xy0=yifswitch<>5thepicture1.mousepointer=2e
6、ndifendsub在mousemove事件中,根据用户选择画图方式,写下代码:privatesubpicture1_mousemove(buttonasintger,shiftasinteger,xassingle,yassingle)selectcaseswitchcase0写下画直线代码case1写下画矩形代码case2写下画园代码case3写下画弧代码case4写下画椭圆代码endselectendsub在mouseup事件中,根据用户选择画图方式,写下代码:privatesubpicture1_mouseup(buttonasintger,shiftasintege
7、r,xassingle,yassingle)selectcaseswitchcase0写下画直线代码case1写下画矩形代码case2写下画园代码case3写下画弧代码case4写下画椭圆代码case5写下在picturebox中输入文字的代码endselectendsub无论用户单击哪一种颜色,都会触发privtesublabel1_click(indexasinteger),index就是控件数组的下标。Privatesublabel1_click(indexasinteger)selectcase
此文档下载收益归作者所有