- 1、本文档共10页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
用VB编写画图程序
11.6.2? 编写一个仿Windows画图程序(1)
本例将实现11.1节中的一个仿Windows的简单的画图软件的任务。
1.新建项目
创建一个项目类型为Visual Basic,模板为Windows应用程序的项目,命名为Ch11_5。
2.界面设计
在窗体上添加:一个MenuStrip菜单控件、一个ToolStrip工具栏控件,一个用作绘图板的PictureBox图片框控件、两个让用户选择颜色和线条宽标志的Lable控件、5个让用户选择线条宽度的button控件,一个Panel控件上、一个ImageList控件和一个作为状态信息栏的StatusStripr。调整窗体上各控件的大小及位置,如图11-18所示。
? 图11-18? 画图程序主界面 3.设置各控件的相关属性
设置各控件的相关属性,如表11-9所示。
表11-9? 画图程序各控件属性设置
?
? 4.代码设计
(1)引入命名空间:
Imports System.Drawing.Drawing2D
(2)在FrmPaint类里定义全局变量和mSelect枚举结构:
Private?g?As?Graphics???????????????????绘图句柄 ?
Private?pstart?As?Point,?pend?As?Point??定义画图的起始点,终点 ?
Private?mChoice?As?Integer??????????????选择图形枚举 ?
Private?mWidth?As?Integer???????????????画笔宽度 ?
Private?mIcon?As?Icon???????????????????????用户选择图标 ?
Private?Enum?mSelect????????????????????????选择图形类别枚举 ?
?????Pencil?????????????????????????????????铅笔 ?
?????Line???????????????????????????????????直线 ?
?????Ellipse????????????????????????????????椭圆 ?
?????FillEllipse????????????????????????????填充椭圆 ?
?????StyleEllipse???????????????????????风格椭圆 ?
?????Rec????????????????????????????????????矩形 ?
?????FillRec????????????????????????????????填充矩形 ?
?????StyleRec???????????????????????????????风格矩形 ?
?????Icon???????????????????????????????????图标 ?
?????Eraser?????????????????????????????????橡皮?
End Enum
(3)在FrmPaint的Load事件中初始化全局变量和Graphics对象:
Private?Sub?FrmPaint_Load(ByVal?sender?As?System.Object,?_ ?
?????ByVal?e?As?System.EventArgs)?Handles?MyBase.Load ?
?
?????g?=?Me.picPaint.CreateGraphics?获取PictureBox的绘图句柄 ?
?????mChoice?=?mSelect.Pencil???????????默认选择选铅笔作为绘图工具 ?
?????mWidth?=?1?????????????????????????????初始化画笔宽度 ?
End?Sub?
(4)定义转换坐标起点和终点的过程Convert_Point()。转换坐标起始点和终点,确保起始点始终在终点的左上方,代码如下:
确保起始点坐标位于左上角 ?
????结束点坐标位于右下角 ?
????Private?Sub?Convert_Point() ?
????????Dim?ptemp?As?Point??????????用于交换的临时点 ?
????????If?pstart.X??pend.X?Then?
????????????If?pstart.Y??pend.Y?Then?
????????????????ptemp.Y?=?pstart.Y ?
????????????????pstart.Y?=?pend.Y ?
????????????????pend.Y?=?ptemp.Y ?
????????????End?If?
?????
您可能关注的文档
最近下载
- 月下独酌(其一).pptx
- 0.1元文档测试下载-不退款.pdf
- 技嘉 主板 Socket 1151 Z390 DESIGNARE 使用手册.pdf
- 第1章 绪论PPT;公共事业管理概论(第三版) 课件 朱仁显 人大社.ppt
- 《高中语文教学中的杜甫诗歌美育实施研究》课题设计论证 .pdf
- 2022年度小学英语新课标试题及答案.docx VIP
- 2022小学英语新课标试题及答案(共三套).docx VIP
- 2024年全国行业职业技能竞赛第三届全国人工智能应用技术技能大赛河北省选拔赛理论题库及答案(1200题)(学生组职工组).docx VIP
- 英语新课标试题.docx VIP
- (高清正版行业标准)ISO_IEC29147-2018.pdf
文档评论(0)