- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第7章 SolidWorks基本概念 7.1 图?形?的?绘?制 【案例7-1】 仿Windows画图程序。 本案例要求模仿Windows画图程序,有菜单栏和工具栏。单击工具栏上的相应按钮选择要画的图形;在画笔颜色处单击色块调出调色板,选择颜色;单击画笔宽度中需要的线条,以决定所画边框的粗细。将鼠标移到绘图区相应的位置按住左键拖到适当位置放开即绘出了相应图形。此案例的运行界面如图7-1所示。 图7-1 仿Windows画图程序主界面 【技能目标】 (1) 熟悉Point/Pointf、Size/Sizef、Rectangle/Rectanglef对象。 (2) 熟悉颜色、画笔、画刷的使用方法。 (3) 熟悉Graphics的各种绘制图形的方法。 (4) 掌握图形的平移变换、旋转变换和比例变换的方法。 【操作要点与步骤】 (1) 建立一个新的Windows应用程序,命名为VBnet7-1。 (2) 在窗体上添加如下控件:一个MainMenu控件设计菜单,一个ToolBar控件设计绘图工具栏,一个PictureBox作为本程序画板,两个Label控件用于让用户选择颜色和画笔宽度标志,五个Button控件用于选择画笔宽度,一个ColorDialog控件作调色板,一个ImageList控件,一个OpenFileDialog控件,一个StatusBar作为状态信息栏。调整窗体上各控件的大小及位置。 (3) 设置各控件的相关属性,属性值设置如表7-1所示。 为ImageList1控件添加图标的方法如下: 单击ImageList1的Images属性右侧的“ ”按钮,弹出如图7-2所示的“Image集合编辑器”对话框,在窗口中单击“添加”按钮为ImageList1添加图标。 没有设置属性的控件其属性均为默认值,在以后的案例中属性说明与此相同。 (4) 为工具栏ToolBar控件添加按钮。单击ToolBar1控件的Buttons属性右侧的“ ”按钮,弹出“ToolBarButton集合编辑器”,在窗口中单击“添加”按钮为ToolBarButton1添加按钮,按钮命名为ToolBarButton1~ToolBarButton10。 图7-2 “Image集合编辑器”对话框 除了ToolBarButton1的Pushed属性为True外,其余按钮的Pushed属性均为False,即程序刚运行时,只有“铅笔工具”的按钮处于按下状态,默认用户选择的是“铅笔工具”。 (5) 以上步骤完成了界面设计及控件属性设置,这时就可进行代码编写了。 ● 在Form1类里定义全局变量和mSelect枚举变量。代码如下: ● ?在Form1的Load事件中初始化全局变量和Graphics对象。代码如下: ● 双击ToolBar1控件,编写ToolBar1的ButtonClick事件代码。 ● 双击lbcolor控件,进入lbcolor的Click事件,选择画笔颜色。代码如下: ● 编写选择画笔宽度的共享事件过程btnpen_Click()的代码。 ● 为?PictrueBox1的MouseDown(鼠标按下)事件编写代码。 在Form1的代码窗口中,在左侧的对象下拉列表框中选择PictureBox1,然后在右侧的事件下拉列表框中选择MouseUp,此时代码编辑器中已经自动生成了PictureBox1_MouseUp的事件码,并把鼠标定位于事件过程内部的第一行。在该过程中编写如下代码: ● 为?PictrueBox1的MouseUp(鼠标释放)事件编写代码。 ● 为?PictrueBox1的MouseMove(鼠标移动)事件编写代码。 【相关知识】 知识点7-1-1 绘图基础知识 图形程序设计需用到相关基础支持类与结构,如常用点(Point)、矩形(Rectangle)、大小(Size)等Structure(结构)来表示范围。 1.Point/Pointf结构 Point/Pointf结构主要用于设置控件在窗体中所在位置的坐标点,即表示一个二维(X,?Y)坐标。二者的差别在于:Point使用整数坐标,而Pointf使用单精度浮点数据类型坐标。 1) 声明方法 Point结构声明方法如下: Dim p As New Point(整数X,整数Y) 例如, Dim p As New Point(10,20) ‘定义一个X坐标是10,Y坐标是20的点 Pointf结构声明与Point相似,即直接指定坐标点X、Y的单精度浮点数值,方法如下: Dim p As New Pointf(单
文档评论(0)