




已阅读5页,还剩3页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Visual Basic程序设计题目:看图工具学生姓名: 学生班级: 1102 指导教师: 提交日期:1. 看图工具介绍(四号字,宋体,加粗) 实现简单的看图2. 程序界面图1 看图工具主界面3. 程序设计3.1 变量说明 定义一个记录文件名及其路径的变量 Dim strFilePath As String 用于设于PictureBox控件背景颜色变量 Dim bkcolor As Color 定义用于处理图片拖动的变量 PictureBox控件相对于其容器左上角的距离 Private m_Leftx As Integer Private m_Lefty As Integer 鼠标当前的位置 Dim m_MousePosX As Integer Dim m_MousePosY As Integer 图像移动的距离 Dim m_DriftX As IntegerDim m_DriftY As Integer3.2 过程说明l 使文件列表框的内容跟着目录列表框的选择而变化 l DirListBox1_SelectedIndexChanged()l 赋初值,记下PictureBox1控件相对其容器左上角的距离l Form1_Load()l 使目录列表框的内容跟着驱动器列表框的选择而变化l DriveListBox1_SelectedIndexChanged()l 使目录列表框的内容跟着驱动器列表框的选择变化而变化l DriveListBox1_TextChanged()l 使文件列表框的内容跟着目录列表框的选择而变化l DirListBox1_SelectedIndexChanged()l 单击文件列表框的某项内容时记下该文件的路径及其名称l FileListBox1_Click()双击文件列表框某个图片,使之在图片框中显示 FileListBox1_DoubleClick()4. 源码说明 使目录列表框的内容跟着驱动器列表框的选择而变化 Private Sub DriveListBox1_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles DriveListBox1.SelectedIndexChanged DirListBox1.Path = DriveListBox1.Drive End Sub 使目录列表框的内容跟着驱动器列表框的选择变化而变化 Private Sub DriveListBox1_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles DriveListBox1.TextChanged DirListBox1.Path = DriveListBox1.Drive End Sub 使文件列表框的内容跟着目录列表框的选择而变化 Private Sub DirListBox1_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles DirListBox1.SelectedIndexChanged FileListBox1.Path = DirListBox1.Path End Sub 使文件列表框的内容跟着目录列表框的选择变化而变化 Private Sub DirListBox1_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles DirListBox1.TextChanged FileListBox1.Path = DirListBox1.Path End Sub 单击文件列表框的某项内容时记下该文件的路径及其名称 Private Sub FileListBox1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles FileListBox1.Click strFilePath = DirListBox1.Path & & FileListBox1.FileName End Sub 双击文件列表框某个图片,使之在图片框中显示 Private Sub FileListBox1_DoubleClick(ByVal sender As Object, ByVal e As System.EventArgs) Handles FileListBox1.DoubleClick Try PictureBox1.Image = Image.FromFile(strFilePath) 在状态栏中显示此图片文件的路径及文件名 filename.Text = strFilePath Catch ex As Exception End TryEnd Sub Private Sub 原图显示ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 原图显示ToolStripMenuItem.Click PictureBox1.SizeMode = PictureBoxSizeMode.Normal End Sub Private Sub 自动缩放图片ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 自动缩放图片ToolStripMenuItem.Click PictureBox1.SizeMode = PictureBoxSizeMode.StretchImage End Sub Private Sub 图片居中ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 图片居中ToolStripMenuItem.Click PictureBox1.SizeMode = PictureBoxSizeMode.CenterImage End Sub Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load 赋初值,记下PictureBox1控件相对其容器左上角的距离 定义处理鼠标按下的事件 当鼠标按下时,将鼠标变成手形,并且记录下当前鼠标的位置 Private Sub PictureBox1_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles PictureBox1.MouseDown Try Me.Cursor = System.Windows.Forms.Cursors.Hand m_MousePosX = e.X m_MousePosY = e.Y Catch ex As Exception End Try End Sub 定义处理鼠标释放的事件 处理鼠标按键释放的事件,根据鼠标按下时保存的鼠标位置,和当前鼠标的位置,计算鼠标移动偏移量,借此调用移动图片的函数,移动图片 Private Sub PictureBox1_MouseUp(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles PictureBox1.MouseUp Try 计算出鼠标的偏移量 m_DriftX = m_MousePosX - e.X m_DriftY = m_MousePosY - e.Y 计算出新的PictureBox1控件相对其容器左上角的距离 m_Leftx = m_Leftx - m_DriftX m_Lefty = m_Lefty - m_DriftY picturemove(sender, e) 当鼠标释放时,将鼠标还原为箭头形状 Me.Cursor = System.Windows.Forms.Cursors.Arrow Catch ex As Exception End Try End Sub 根据偏移量计算出图片位置,重画图片 Private Sub picturemove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Try Dim myBit As New System.Drawing.Bitmap(PictureBox1.Image) Dim myPicGrh As System.Drawing.Graphics = Me.PictureBox1.CreateGraphics 清除整个绘图画面,并已指定的背景颜色填充 myPicGrh.Clear(Me.PictureBox1.BackColor) 在指定的位置使用图像的原始物理大小绘制指定的图像 myPicGrh.DrawImageUnscaled(myBit, m_Leftx, m_Lefty) myBit.Dispose() myPicGrh.Dispose() Catch ex As Exception End Try End Sub Private Sub 自动缩放图片框ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 自动缩放图片框ToolStripMenuItem.Click PictureBox1.SizeMode = PictureBoxSizeMode.AutoSize End Sub 当窗体大小发生变化时保证窗体上的界面元素不乱 Private Sub Form1_Resize(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Resize 使文件列表框的高度等于窗体高度一般,且会靠着底部显示(由于Dock属性设置为Bottom) FileListBox1.Height = Me.Height / 2 使目录列表框的高度等于窗体高度一般再减去驱动器列表框的高度,即让它们紧挨着排列 DirListBox1.Height = Me.Height / 2 - DriveListBox1.Height 使 Panel2控件宽度等于窗体宽度减去 Panel1宽度,为了界面美观再减去了 Panel2.Width = Me.Width - 199 PictureBox1.Width = Panel2.Width PictureBox1.Height = Panel2.Height End Sub Private Sub 退出ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 退出ToolStripMenuItem.Click Me.Close() End Sub Private Sub 背景色ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As Syst
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 年份考试题及答案
- 中外建筑交流知到智慧树答案
- 高级养老护理员考试题及答案
- 高血压用药测试题(带答案)
- 2025短期借款合同印花税减免政策与影响分析
- 2025年度餐饮企业特色食材种植合作合同范本协议范本
- 2025版养老产业合作设立智能化养老社区公司合同
- 2025版微信公众号公众号内容推广效果监测服务合同
- 2025年度建筑幕墙硅酮胶采购与施工监督合同
- 2025年度知识产权许可纠纷违约民事起诉状范本
- GB/T 44977-2024卫星导航定位基准站网终端定位服务安全技术规范
- 物业管理的风险管控
- 人教PEP版五年级上册英语全册教案(6个单元整体教学设计)
- S7-200 SMART应用教程2版习题答案 高职SMART习题答案
- 人教版数学八年级上册《全等三角形》单元测试题附答案
- 2023-2024学年沪科版(2019)高中信息技术必修一3.2《解决温标转换问题-认识程序和程序设计语言》教案
- 专升本计算机教学课件-第一章-计算机基础知识(2023新版大纲)
- DB3502T 090-2022 居家养老紧急事件应急助援规范
- 合作共享协议书
- 投标财务状况承诺书范本
- 2024年全国中学生数学奥林匹克竞赛甘肃赛区预赛试题
评论
0/150
提交评论