(vb课程设计)图片浏览器修改
计算机程序设计语言(VB)课程设计实验报告的撰写要求
计算机程序设计语言(VB)课程设计实验报告的撰写要求总体要求:文字通顺,条理清楚,结构合理,格式规范。
☆一套完整的课程设计说明书主要包括:A.封面;B.;C.目录;C.正文;D.参考文献;E.致谢;F.附录等。
课程设计说明书一律左侧装订,装订顺序为:封面→课程设计任务书→目录→正文→参考文献→致谢→附录。
☆正文参考格式:一、设计目的二、系统分析三、系统设计四、系统实现五、系统测试六、总结七、参考文献八、致谢九、附录☆具体要求:1.排版要求页面设置:上下页边距为2.54,左右页边距为2.6;字符间距:标准;页面大小:A4;页码:每页下端居中,全部采用阿拉伯数字排序,如1,2,……,99,100,……等,页码两边不加修饰符,页码编号从正文开始;页眉、页码:页眉为“江苏科技大学南徐学院课程设计”,宋体,五号,居中排列;页码居页面底端居中。
页眉页码均从目录后开始设置。
附录中图纸、原文复印件等可不设置。
2.内容应有目录、中文摘要、关键词、正文、参考文献、致谢、附录;3.“目录”两字用小二号宋体加粗且居中,字与字之间空两个汉字宽,空两行为目录内容,目录内容字体用小4号宋体,页码放在行末,目录内容和页码之间用虚线连接,采用两端对齐。
目录根据正文内容自动生成。
4.中文摘要:主要说明本次课程设计(实习)的目的、内容、方法和主要结果,力求语言精炼准确,字数控制在200字以内。
格式如下(□为一个汉字宽):□□【摘□要】:(小4号宋体加粗)××××(小4号宋体)5.关键词:关键词是表述说明书(报告)中主要内容信息的单词或术语,关键词数量一般为3-6个,每个关键词之间用逗号隔开。
格式如下:□□【关键词】:(小4号宋体加粗)×××,××,×××(小4号宋体)6.正文:一级标题(1.1):四号黑体、20磅行距、段前18磅、段后12磅、左对齐;二级标题(1.1.1):13磅黑体、20磅行距、段前后12磅、左对齐;三级标题(1.1.1.1):小四号黑体、20磅行距、段前后6磅、左对齐;正文部分:宋体,小四,20磅行距、两端对齐、首行缩进2字符。
VB教案(13)图片框(PictureBox)
VB教案(13)图片框(PictureBox)(十三)图片框(PictureBox)用于在运行中执行画图的方法,故占用资源较多。
也可显示图形和写入文本,用途比较灵活。
一.图片框的属性:1.N ame属性:2.P icture属性:在设计时通过属性窗口加载指定的图片文件。
加载后会产生一个.FRX的文件存放图片。
3.A utoRedraw属性:设为True时:自动重绘有效。
图形和文本存在内存中,图片框重现或移动时,图形和文本会自动刷新。
设为False时:重绘功能无效。
图形和文本仅输出到屏幕上,并未存入内存,图片框移动或重现时,不能刷新。
4.A utoSize属性:设为True时:图片框会自动调整大小来适应图片文件的尺寸。
当然图片大小超出窗体大小时,也会被裁剪掉右边和底部的超出部分。
设为False时:图片框大小保持不变,图片的超出部分会被从右边和下边裁剪掉。
5.C urrent X和Current Y属性:决定当前的绘图位置坐标,或返回当前位置的坐标值。
6.F illColor属性:决定闭合图形中填充图案的颜色。
7.F illStyle属性:决定闭合图形中填充图案的类型。
0:实心图形。
颜色由FillColor属性决定。
1:(缺省)透明。
2:水平线。
3:垂直线。
4:向上对角线。
5:向下对角线。
6:十字交叉线。
7:对角交叉线。
8.B ackColor和ForeColor属性:9.B orderColor属性:决定边框的颜色。
10.FontTransparent属性:设为True时:文字的周围是透明的。
(当文字和图形重叠时仅感觉文字写在图形上)设为False时:文字的周围不透明。
(当文字和图形重叠时文字以一方块区叠在图形上)11.Align属性:决定图片框在窗体上的大小显示方式和显示的位置。
0:可以在设计时或在程序中确定图片框的大小和位置。
1:图片框显示在窗体顶部。
2:图片框显示在窗体底部。
3:图片框显示在窗体的左边。
vb课程设计
VB课程设计1. 引言VB(Visual Basic)是一种面向对象的编程语言,由微软公司开发。
它结合了基本的编程概念和直观的图形用户界面,使得编写应用程序变得简单和直观。
本文将介绍VB课程设计的相关内容,包括设计目标、设计过程和实施步骤等。
2. 设计目标VB课程设计的主要目标是培养学生的编程能力和解决问题的能力。
通过设计一个实际应用程序,学生可以学习如何使用VB语言进行程序设计,并了解软件开发过程中的各个环节。
3. 设计过程VB课程设计的设计过程包括以下几个步骤:3.1 确定需求在开始设计之前,首先需要明确应用程序的需求。
这包括确定应用程序的功能、用户界面和交互方式等。
如果我们要设计一个学生成绩管理系统,需求可能包括添加学生信息、查询成绩和生成报表等功能。
3.2 设计界面在确定需求后,接下来需要设计应用程序的用户界面。
这包括确定窗体布局、控件位置和样式等。
通过使用VB提供的可视化设计器,可以方便地创建用户界面,并进行调整和修改。
3.3 编写代码界面设计完成后,就可以开始编写代码了。
VB使用基于事件的编程模型,通过响应用户的操作来触发相应的事件处理程序。
在编写代码时,需要考虑到各种可能的情况,并进行适当的错误处理。
3.4 测试和调试在编写完代码后,需要对应用程序进行测试和调试。
这包括对各个功能进行测试,检查是否存在错误和异常情况,并进行适当的修复和优化。
3.5 文档撰写在完成测试和调试后,需要撰写相应的文档。
文档内容包括应用程序的功能介绍、使用说明和技术实现等。
这有助于其他人了解和使用该应用程序。
4. 实施步骤VB课程设计的实施步骤如下:4.1 学习VB语言基础在开始设计之前,学生需要学习VB语言的基础知识。
这包括语法、数据类型、控制结构、函数和对象等。
通过学习这些知识,学生可以掌握VB语言的基本用法。
4.2 学习VB开发环境除了学习VB语言外,学生还需要熟悉VB开发环境。
这包括VB集成开发环境(IDE)的使用、项目管理和调试工具等。
VB公开课教案
VB制作图片浏览器
教学目标
1.知识目标:掌握VB控件——驱动器列表DriveListBox、目录列表DirListBox、文件列表FileListBox;窗体的Resize事件;窗体间的信息传递;
2.能力、情感目标:
通过完成图片浏览器的制作,培养学生的分析问题能力、应用VB解决问题能力和程序调试能力。
引出今天的题目:制作我的图片浏览器(DIY)
二.新课
展示课堂总任务
观察
思考
用查找工具找出本地硬盘的所有图片文件(*.BMP;*.JPG;*.GIF)。
用教学用例(图片浏览器)浏览、查看图片文件。
展示总任务:用VB制作一个自己的图片浏览器。
(停止广播)
让学生通过查找图片文件掌握文件通配符的使用。(复习巩固)
软件不出错
功能完整
功能强大
代码清晰易读
答题思路清晰
20分
10分
10分
30分
10分
10分
10分
给出教学案例,分析程序功能
演示教师事先完成的示例
任务分析
思考
回答提问
完成最简单的图片浏览器:
(给定盘符路径文件名,打开该图片文件进行浏览)
观察控件:
驱动器列表DriveListBox
目录列表DirListBox
文件列表FileListBox
思考:
如何利用三控件去打开任意一个文件?
如何在文件列表中只显示图片文件?
回答
(窗体的关联技术)
(广播)
讲解关键技术:
浏览图片
问题:如何在窗体中浏览图片?
如何实现动态显示不同图片?
Image1 = LoadPicture3;文件名
VB 软件图标修改
VB程序图标用的是两个软件:
IconWorkshop:一款图标编辑软件,不管什么格式图片,只要能打开,就能转成ico图标.
ResHacker:替换VB生成的应用程序的图标.
_____________________________________
方法:
一、先到网上下载N个图标,随便PNG格式还是ico格式。
二、用IconWorkshop打开一个图标,点上方工具栏的“编辑”,“来自此图像的Windows图标项目”,然后弹出一个窗口让你选择图标的大小和颜色位数。
(这里你要注意:如果想直接通过窗体的Icon属性添加图标,图标只能选择16色的,最大选择32*32尺寸),为了节省图标大小,请不要选太多。
三、你选择生成16色32*32的图标,然后确定,然后保存图标到桌面上直接给VB使用了。
四、生成应用程序,下一步然后我们再给应用程序替换为分辨率更高的图标。
五、用ResHacker打开我们之前生成的,改过窗体图标的VB程序。
找到图标组,右键替换资源,选择一个用IconWorkshop生成的分辨率更高颜色更好的图标,资源名称打进去1,然后直接确定。
再保存一下。
一个应用程序完成了,图标随便怎么改。
教你用VB编程来打开任意浏览器网页!
教你用VB编程来打开任意浏览器网页!
大家有没有想过,利用VB编程来打开自
己要浏览的网站呢?
今天专门抽时间写一下如何实现这个功能,
指导大家学会怎样用VB编程来打开任何一个
网页。
首先,我们需要创建一个“标准EXE”工程, 进入窗体界面后,点击菜单栏中的工程--部件,在弹出的对话框中向下拖动,选择并添加“Windows Internet controls”这个部件,如下图,让VB获得对Webbrowser控件的支持。
接下来我们在新建工程的窗体上,添加文本框、命令按钮、Webbrowser1等控件。
然后我们在命令按钮的单击事件写以下代码:
•
•
•
Private Sub Command1_Click() WebBrowser1.Navigate Text1 '文本框中输入要打卡的网址End Sub
代码截图:
这时候运行程序,在文本框中输入我们想要打开的网址后,只需点击命令按钮,我们想要打开的网页就出现了!
就是这么神奇,正在学VB的你赶快实际运行一下吧~。
在VBA中处理图像和图片文件的操作方法
在VBA中处理图像和图片文件的操作方法VBA(Visual Basic for Applications)是一种用于自动化和自定义Microsoft Office应用程序的编程语言。
在VBA中,我们可以使用各种方法来处理图像和图片文件,包括插入、删除、修改、保存等操作。
本文将介绍几种在VBA中处理图像和图片文件的常用方法。
1. 插入图像和图片文件在VBA中,我们可以使用`Shapes.AddPicture`方法来插入图像和图片文件。
该方法有几个参数,包括文件路径、链接、保存到工作表还是图表等。
以下是一个示例代码:```vbaSub InsertPicture()Dim ws As WorksheetSet ws = ThisWorkbook.Sheets("Sheet1")Dim pic As ObjectSet pic = ws.Shapes.AddPicture("C:\path\to\image.jpg", False, True, 100, 100, -1, -1)' 参数说明:文件路径,链接,保存到工作表,左距,上距,宽度,高度' 调整图像大小pic.LockAspectRatio = msoFalsepic.Width = 200pic.Height = 200' 可以通过pic对象的其他属性进行更多操作,比如旋转、裁剪等End Sub```上面的代码会在名为"Sheet1"的工作表中插入一张图片。
2. 删除图像和图片文件要删除VBA中的图像或图片文件,我们可以使用`Shapes.Delete`方法。
以下是一个示例代码:```vbaSub DeletePicture()Dim ws As WorksheetSet ws = ThisWorkbook.Sheets("Sheet1")Dim pic As ShapeFor Each pic In ws.ShapesIf pic.Type = msoPicture Thenpic.DeleteEnd IfNext picEnd Sub```上面的代码会删除名为"Sheet1"的工作表中的所有图片。
vbIEli浏览器
VB课程设计报告书2007-07-29 14:01:24| 分类:学术交流区| 标签:|字号大中小订阅课程设计报告书(I E浏览器)班级:机械0601-4班学号:20060627姓名:景琦指导教师:李静石家庄铁道学院2007年7月23日题目:IE浏览器内容摘要:一个简单的IE浏览器,功能简单实用,比较容易被用户所使用,此报告详细的介绍了此浏览器的编辑思想和方法,并给出了相关的源代码,便于读者参考。
该浏览器突破传统浏览器功能繁多复杂的特点,所设功能简单实用,操作起来方便。
索引关键词:浏览器编辑界面代码目录1. 题目要求-----------------------------------------------------------12.设计思想------------------------------------------------------ 23. 系统完成功能及框图---------------------------------------24.界面设计------------------------------------------------------35. 核心算法及说明--------------------------------------------66.结论----------------------------------------------------------- 97. 参考资料-----------------------------------------------------98.后记-----------------------------------------------------------99. 附录-----------------------------------------------------------10第一章:题目要求1.1:要求达到的功能图框1.2:主界面参考1.3:要求l ▲地址栏保存最近访问的 10 条记录l▲工具栏包含:前进、后退、停止、刷新按钮及完成相应的功能l▲完成菜单中要求的功能。
VB实验15 文件操作
实验15-3
目的和要求 预备知识
上一页
下一页
退 出
【要求】 (1)程序运行时,将C:\Course.txt文件打 开,并显示第一条记录的内容。 (2)处理好4个命令按钮之间的有效性。 (3)4个命令按钮和 5个文本框都使用控件数 组。
第15页 Visual Basic程序设计实验指导
实验12-4
目的和要求 预备知识
上一页
下一页
退 出
【实验步骤】 (1)界面设计 请参照图 15-4 所示的界面设计窗体。 Text1 设置为 多行文本框,并设置显示水平滚动条和垂直滚动条。两个 命令按钮使用控件数组。 事先建立文件 C:\data.txt ,文件内容可参照图 154所示输入。 (2)添加程序代码 (3)运行工程并保存文件 运行程序,单击“加密”和“解密”按钮,观察运行 结果,最后将窗体文件保存为 F15-4.frm ,工程文件保存 为P15-4.vbp。
上一页
下一页
退 出
【实验步骤】 (1)界面设计 请参照图15-3所示的界面设计窗体。 (2)添加程序代码 ① 在标准模块中添加代码: ② 在窗体中添加代码: (3)运行工程并保存文件 运行程序,观察运行结果,最后将窗体文件保 存为F15-3.frm,标准模块文件保存为M15-3.bas, 工程文件保存为P15-3.vbp。
第12页 Visual Basic程序设计实验指导
实验15-2
目的和要求 预备知识
上一页
下一页
退 出
【实验步骤】 (1)界面设计 请参照图15-2所示的界面设计窗体。 (2)完善程序代码 (3)运行工程并保存文件 运行程序,观察运行结果,最后将窗体文件保 存为F15-2.frm,工程文件保存为 P15-2.vbp。
VB实验报告1-9
实验一:设计简单的VB 应用程序一、实验目的1.掌握Visual Basic 启动和退出的方法。
2.熟悉Visual Basic 的集成开发环境。
3.掌握Visual Basic 程序设计的基本步骤,了解VB 程序的编写、保存和编译的方法过程。
4.初步了解几个常用基本控件控件(标签、命令按钮和文本框)的使用方法。
二、实验类型综合三、实验时间:2013-3-8四、实验任务1、启动Visual Basic ,然后创建一个“标准 EXE ”工程(保存在D 盘以自己学号命名的文件夹中,文件名和窗体名均为SJT ),并了解Visual Basic 集成开发环境下各组成部分及其作用。
2、编一程序,计算任意输入的正整数的平方根。
3、编写一个应用程序,界面如图1-1所示。
窗体中文字“VB 应用程序!”为一标签控件,单击标题为“放大”的命令按钮,则“VB 应用程序!”的字号放大一号,单击“缩小”按钮则反之;同时,窗体中还有4个含某种指向图案的按钮,若单击某个按钮,则使“VB 应用程序!”向该按钮所指向的方向移动50Twip 。
(提示:四种指向的图案可以在Visual Basic 安装目录中的“…graphics\icon\Arrows ”子目录中找到,名称分别为arw07dn.ico 、arw07lt.ico 、arw07rt.ico 和arw07up.ico )五、实验要求 写出实验报告,内容是:1、第1小题的操作步骤2、第2、3题1).程序的界面设计。
2).程序主要代码。
3).运行结果(输入与输出)。
4).实验总结。
(写上你自己的总结。
可以从以下几个方面来总结:你在编程过程中花时多少?时间是怎么分配的?多少时间在思考问题?遇到了哪些难题?你是怎么克服的?你对你的程序的评价?你的收获有哪些?)图1-1 实验1-2程序运行实验二:数据的输入和输出一、实验目的1.掌握常量和变量、表达式的基本概念和正确书写格式。
2.掌握基本语句(Print语句、赋值语句、Dim语句等)的使用;3、掌握常用函数的正确使用方法;4、掌握数据的动态输入InputBox和信息提示MsgBox的基本使用方法。
VB6.0程序设计教案_7.1
7.1 制作图片浏览器一、复习1、滚动条的常用属性和常用事件;2、计时器控件的常用属性和常用事件。
二、本节重点1、掌握驱动器列表框控件(DriveListBox)的常用属性和事件;2、掌握目录列表框控件(DirListBox)的常用属性和事件;3、掌握文件列表框控件(FileListBox)的常用属性和事件。
导入:用Visual Basic开发应用程序时,经常需要访问或显示有关驱动器、文件夹及文件的信息。
本节课我们来通过制作小程序,学习如何利用文件控件和相关语句来实现文件访问和管理。
三、内容学习文件系统控件包括驱动器列表框控件(DriveListBox)、目录列表框控件(Dir ListBox)和文件列表框控件(DriveListBox),表中"所属控件"一栏中Drive表示驱动器列表框控件, Dir表示目录列表框控件, File表示文件列表框控件,文件系统控件常用属性如下:1、驱动器列表框控件驱动器列表框控件,通常只显示当前驱动器名称,单击向下箭头,就会下拉出当前系统拥有的所有磁盘驱动器,供用户选择。
驱动器列表框控件的常用属性如下:1)Drive:返回或设置运行时选择的驱动器。
该属性设计时不可用。
Drive 属性的默认值为当前驱动器。
使用格式:对象.Drive [= <字符串表达式>]例如:Drive1.drive=“D:”2)List(运行态属性):包含有效的驱动连接列表。
3)ListCount(运行态属性)::连接的驱动器个数。
4)ListIndex(运行态属性):表示在运行时创建该控件时的当前驱动器的索引。
驱动器列表框控件的常用事件如下:Change事件,该事件当改变所选择的驱动器时,即选择一个新的驱动器或通过代码改变Drive属性的设置时发生。
Private Sub Drive1_Change()Dir1.Path = Drive1.DriveEnd Sub2、目录列表框控件目录列表框控件在运行时显示目录和路径,这个控件可以用于显示分层的目录列表。
让picture窗口里文字倾斜任意角度显示VB代码
让picture窗口里文字倾斜任意角度显示VB代码功能:让picture窗口里文字倾斜任意角度显示,特别是在做图表的时候,为了让图表更直观,经常需要运用到此功能。
VB界面如下:按照以上窗口和工程设置界面即可。
具体VB代码如下:1.工程窗体主程序如下:Private Declare Function SelectObject Lib "gdi32" (ByVal hDC As Long, ByVal hObject As Long) As LongPrivate fnt As CLogFontPrivate Sub Form_Load()Set fnt = New CLogFontSet fnt.LogFont = Picture1.FontSet Me.Icon = NothingEnd SubPrivate Sub Command1_Click()Picture1.ClsEnd SubPrivate Sub Command2_Click()Dim hFont As LongDim a As Singlefnt.Rotation = aWith Picture1hFont = SelectObject(.hDC, fnt.Handle)Picture1.Print "Degrees: " & fnt.Rotation Call SelectObject(.hDC, hFont)End WithEnd SubPrivate Sub Command3_Click()Dim cenxu As String '输出程序Dim hFont As LongDim a As SingleWith Picture1hFont = SelectObject(.hDC, fnt.Handle) cenxu = cenxu & vbCrLf & "成都成就梦想"Picture1.Print cenxuCall SelectObject(.hDC, hFont)End WithEnd Sub2.内模块VB代码如下:Option Explicit' Logical FontPrivate Const LF_FACESIZE = 32Private Const LF_FULLFACESIZE = 64Private Const CLIP_DEFAULT_PRECIS = 0 Private Const CLIP_CHARACTER_PRECIS = 1 Private Const CLIP_STROKE_PRECIS = 2 Private Const CLIP_MASK = &HFPrivate Const CLIP_LH_ANGLES = 16Private Const CLIP_TT_ALWAYS = 32Private Const CLIP_EMBEDDED = 128Private Const DEFAULT_QUALITY = 0Private Const DRAFT_QUALITY = 1Private Const PROOF_QUALITY = 2Private Const DEFAULT_PITCH = 0Private Const FIXED_PITCH = 1Private Const VARIABLE_PITCH = 2Private Const ANSI_CHARSET = 0Private Const DEFAULT_CHARSET = 1Private Const SYMBOL_CHARSET = 2Private Const SHIFTJIS_CHARSET = 128Private Const HANGEUL_CHARSET = 129Private Const CHINESEBIG5_CHARSET = 136Private Const OEM_CHARSET = 255' Font Families'Private Const FF_DONTCARE = 0 ' Don't care or don't know.Private Const FF_ROMAN = 16 ' Variable stroke width, serifed.' Times Roman, Century Schoolbook, etc.Private Const FF_SWISS = 32 ' Variable stroke width, sans-serifed.' Helvetica, Swiss, etc.Private Const FF_MODERN = 48 ' Constant stroke width, serifed or sans-serifed.' Pica, Elite, Courier, etc.Private Const FF_SCRIPT = 64 ' Cursive, etc. Private Const FF_DECORATIVE = 80 ' Old English, etc.' Font WeightsPrivate Const FW_DONTCARE = 0Private Const FW_THIN = 100Private Const FW_EXTRALIGHT = 200Private Const FW_LIGHT = 300Private Const FW_NORMAL = 400Private Const FW_MEDIUM = 500Private Const FW_SEMIBOLD = 600Private Const FW_BOLD = 700Private Const FW_EXTRABOLD = 800Private Const FW_HEAVY = 900Private Const FW_ULTRALIGHT = FW_EXTRALIGHT Private Const FW_REGULAR = FW_NORMAL Private Const FW_DEMIBOLD = FW_SEMIBOLD Private Const FW_ULTRABOLD = FW_EXTRABOLD Private Const FW_BLACK = FW_HEAVYPrivate Const OUT_DEFAULT_PRECIS = 0 Private Const OUT_STRING_PRECIS = 1Private Const OUT_CHARACTER_PRECIS = 2 Private Const OUT_STROKE_PRECIS = 3Private Const OUT_TT_PRECIS = 4Private Const OUT_DEVICE_PRECIS = 5Private Const OUT_RASTER_PRECIS = 6Private Const OUT_TT_ONLY_PRECIS = 7 Private Const OUT_OUTLINE_PRECIS = 8Private Type LogFontlfHeight As LonglfWidth As LonglfEscapement As LonglfOrientation As LonglfWeight As LonglfItalic As BytelfUnderline As BytelfStrikeOut As BytelfCharSet As BytelfOutPrecision As BytelfClipPrecision As BytelfQuality As BytelfPitchAndFamily As BytelfFaceName As String * LF_FACESIZEEnd TypePrivate Declare Function CreateFontIndirect Lib "gdi32" Alias "CreateFontIndirectA" (lpLogFont As LogFont) As Long Private Declare Function DeleteObject Lib "gdi32" (ByVal hObject As Long) As LongPrivate Declare Function GetDeviceCaps Lib "gdi32" (ByVal hDC As Long, ByVal nIndex As Long) As LongPrivate Const LOGPIXELSY = 90 ' Logical pixels/inch in YPrivate Declare Function GetDesktopWindow Lib "user32" () As LongPrivate Declare Function GetDC Lib "user32" (ByVal hWnd As Long) As LongPrivate Declare Function ReleaseDC Lib "user32" (ByVal hWnd As Long, ByVal hDC As Long) As LongPrivate m_Font As StdFontPrivate m_hFont As LongPrivate m_Rotation As SinglePrivate Sub Class_Terminate()'' Clean-up created objects'If m_hFont ThenCall DeleteObject(m_hFont)Set m_Font = NothingEnd IfEnd SubPublic Property Set LogFont(ByVal NewFont As Font) If m_hFont ThenCall DeleteObject(m_hFont)m_hFont = 0End IfIf NewFont Is Nothing ThenSet m_Font = NothingElse'' Stash a copy of the passed object,' to avoid a new reference to it.'Set m_Font = New StdFontWith m_Font.Bold = NewFont.Bold.Charset = NewFont.Charset.Italic = NewFont.Italic.Name = .Size = NewFont.Size.Strikethrough = NewFont.Strikethrough .Underline = NewFont.Underline.Weight = NewFont.WeightEnd Withm_hFont = CreateLogFontEnd IfEnd PropertyPublic Property Get LogFont() As FontSet LogFont = m_FontEnd PropertyPublic Property Let Rotation(ByVal a As Single) m_Rotation = 75m_hFont = CreateLogFontEnd PropertyPublic Property Get Rotation() As SingleRotation = m_RotationEnd PropertyPublic Property Get Handle() As LongHandle = m_hFontEnd PropertyPrivate Function CreateLogFont() As LongDim lf As LogFontDim hWnd As LongDim hDC As LonghWnd = GetDesktopWindowhDC = GetDC(hWnd)With lf'' All but two properties are very straight-forward, ' even with rotation, and map directly.'.lfHeight = -(m_Font.Size * GetDeviceCaps(hDC, LOGPIXELSY)) / 72.lfWidth = 0.lfEscapement = m_Rotation * 10.lfOrientation = .lfEscapement.lfWeight = m_Font.Weight.lfItalic = m_Font.Italic.lfUnderline = m_Font.Underline.lfStrikeOut = m_Font.Strikethrough.lfClipPrecision = CLIP_DEFAULT_PRECIS.lfQuality = PROOF_QUALITY.lfPitchAndFamily = DEFAULT_PITCH Or FF_DONTCARE .lfFaceName = m_ & vbNullChar'' OEM fonts can't rotate, and we must force' substitution with something ANSI.'.lfCharSet = m_Font.CharsetIf .lfCharSet = OEM_CHARSET ThenIf (m_Rotation Mod 360) <> 0 Then.lfCharSet = ANSI_CHARSETEnd IfEnd If'' Only TrueType fonts can rotate, so we must' specify TT-only if angle is not zero.'If (m_Rotation Mod 360) <> 0 Then.lfOutPrecision = OUT_TT_ONLY_PRECISElse.lfOutPrecision = OUT_DEFAULT_PRECISEnd IfEnd WithCreateLogFont = CreateFontIndirect(lf)Call ReleaseDC(hWnd, hDC)End Function运行VB代码即可如下图:字体倾斜的角度可以在内模块代码下图处根据需要任意跟定更改即可:实际运用中可以在picture中指定特定的坐标位置输出需要内容即可:(例如下图)这样在实际运用中的图形结果如下:这就是让文字倾斜任意角度的实际运用结果。
利用VB设计浏览器
利用VB设计浏览器使用VB5附带的WebBrowser控件,可以非常简单地设计出一个实用的浏览器。
首先,加载“Microsoft Internet Controls”和“Microsoft Windows Controls”控件。
然后,设计好界面。
在Web浏览器里定义URL现在,已经建立了浏览器里所需的一些控件,怎么让用户导航呢?我们可使用WebBrowser控件的Navigate方法。
接下来看一看这种方法。
例如:Web浏览器首次加载时,可以通过这种方法去导航Microsoft Web页(注意在Intenet Explorroe可定义带或不带“HTTP://”):private sub form_load()webbrowser1.navigate″″…end sub当然也可以使用户能够导航新的URL,这通常使用组合框Combo1。
首先通过显示当前的URL来启动Combo1工作将其加载到组合框的下拉列表中:private sub form_load()webbrow ser1.navigate″″combo1.text=″″combo1.AddItedm combo1.textend sub用户可以从组合框下拉列表里选择过去的URLS ,当通过这种方法选择了一个URL时,相应的Click事件就产生了,用这种方法能够导航最新选择的URL:private sub combo1_load()webbrowser1.navigate combo1.textend sub另外,用户可以在组合框里定义一个新的URL 并按Enter键,正如他们能够在商业浏览器里所作的一样。
当按下Enter键时,就可以直接从Keypress事件处理器中简单地调用Combo1—Click事件处理器导航到这个新的URL:private sub combo1_keypress(keyascii as integer)if keyascii=vbkeyreturn thencombo1—clickend ifend sub最后,当下载过程结束时,WebBrowse控件激活了Downloadcomplet事件,此时就能够在浏览器的标题栏内显示当前的URL,正如任一商业浏览器一样。
自动更换桌面vb课程设计
自动更换桌面vb课程设计一、课程目标知识目标:1. 学生能理解VB(Visual Basic)程序设计的基本概念,掌握自动更换桌面背景的编程原理。
2. 学生能掌握VB中控件的使用,如按钮、定时器等,并运用到实际编程中。
3. 学生了解计算机系统文件及注册表的相关知识,以便实现桌面背景的更换。
技能目标:1. 学生能运用VB编写简单的程序,实现自动更换桌面背景的功能。
2. 学生通过实际操作,培养解决问题的能力和编程实践能力。
3. 学生学会查阅资料,提高自主学习能力和团队协作能力。
情感态度价值观目标:1. 学生培养对计算机编程的兴趣,激发创新意识和探索精神。
2. 学生在编程实践中,培养耐心、细致的良好习惯,提高自信心和成就感。
3. 学生认识到编程在生活中的应用,增强信息技术为生活服务的意识。
本课程针对初高中年级学生,结合学科特点,注重实践操作和理论知识相结合。
在教学过程中,关注学生的个体差异,充分调动学生的主观能动性,使学生在实践中掌握知识,提高技能,培养情感态度价值观。
通过本课程的学习,为学生后续计算机编程课程打下坚实基础。
二、教学内容1. VB程序设计基础:变量、常量、数据类型、运算符、控制结构(顺序、选择、循环)。
2. VB界面设计:窗体、控件(按钮、定时器)、事件处理。
3. 系统文件及注册表操作:读取和写入系统文件、修改注册表。
4. 自动更换桌面背景原理:系统API调用、定时器事件实现自动更换。
5. 实践项目:编写自动更换桌面背景的程序。
教学内容按照以下进度安排:第一课时:介绍VB程序设计基础,包括变量、数据类型、运算符等。
第二课时:讲解VB界面设计,控件使用,事件处理。
第三课时:讲解系统文件及注册表操作,为自动更换桌面背景打下基础。
第四课时:分析自动更换桌面背景的原理,学习系统API调用。
第五课时:分组实践,编写自动更换桌面背景的程序。
本教学内容与教材相关章节紧密关联,注重理论与实践相结合,旨在帮助学生系统地掌握VB编程知识,培养实际操作能力。
VB图片浏览代码
Option ExplicitDim filepath As String, filename As StringDim i As IntegerDim picname As StringDim a As IntegerDim ex As StringDim fs As New FileSystemObjectDim aa As IntegerPrivate Sub cmdnext_Click(Index As Integer)If Fil.ListIndex < Fil.ListCount - 1 ThenFil.ListIndex = Fil.ListIndex + 1ElseFil.ListIndex = 0End IfEnd SubPrivate Sub cmdopen_Click(Index As Integer)Call filcountIf a <> 0 Thentmrplay.Enabled = TrueElseMsgBox "此文件夹内没有支持的图片文件,不能用幻灯片演示!", 48, "错误" Exit SubEnd IfEnd SubPrivate Sub cmdplay_Click(Index As Integer)Call filcountIf a <> 0 Thentmrplay.Enabled = TrueElseMsgBox "此文件夹内没有支持的图片文件,不能用幻灯片演示!", 48, "错误" Exit SubEnd IfEnd SubPrivate Sub cmdprv_Click(Index As Integer)If Fil.ListIndex > 0 ThenFil.ListIndex = Fil.ListIndex - 1ElseFil.ListIndex = Fil.ListCount - 1End IfEnd SubPrivate Sub cmdquit_Click(Index As Integer)EndEnd SubPrivate Sub Command1_Click(Index As Integer)tmrplay.Enabled = FalseEnd SubPrivate Sub Dir_Change()Fil.Path = Dir.PathEnd SubPrivate Sub drv_Change()Dir.Path = drv.DriveEnd SubPrivate Sub Fil_Click()Dim ex As StringDim fs As New FileSystemObjectpicname = Fil.Path & "\" & Fil.filenameex = fs.GetExtensionName(Fil.filename)If (ex = "bmp") Or (ex = "jpg") Or (ex = "gif") Thenimgplay.Picture = LoadPicture(picname)Else' MsgBox "图片格式不正确!请重新选择", 48, "错误"Exit SubEnd Ifaa = Fil.ListIndexEnd SubPrivate Sub Form_Load()tmrplay.Enabled = FalseEnd SubPrivate Sub imgplay_Click()dlg.InitDir = Fil.Pathdlg.Filter = "所有图片文件(*.jpg,*.bmp,*.gif)|*.jpg;*.bmp;*.gif|jpeg文件(*.jpg)|*.jpg|bmp文件(*.bmp)|*.bmp|gif文件(*.gif)|*.gif"dlg.ShowOpenIf dlg.filename <> "" ThenFil.Refreshfilename = dlg.filenameFor i = Len(filename) To 1 Step -1If Mid$(filename, i, 1) = "\" ThenIf i = 3 Thenfilepath = Mid$(filename, 1, i)Elsefilepath = Mid$(filename, 1, i - 1)End IfExit ForEnd IfNext idrv.Drive = filepathDir.Path = filepathFil.Path = filepathimgplay.Picture = LoadPicture(filename)End IfEnd SubPrivate Sub filcount()Fil.ListIndex = 0For i = 0 To Fil.ListCount - 1picname = Fil.Path & "\" & Fil.filenameex = fs.GetExtensionName(Fil.filename)ex = LCase$(ex)If (ex = "bmp") Or (ex = "jpg") Or (ex = "gif") Then a = a + 1 Next iEnd SubPrivate Sub tmrplay_Timer()If Fil.ListIndex < Fil.ListCount - 1 ThenFil.ListIndex = Fil.ListIndex + 1ElseFil.ListIndex = 0End IfEnd Sub。
vb填空题1
杭州师范大学《计算机技术基础》(VB程序设计)填空题(请把正确的选项填入试题前的空格中)第01套:第1题:【程序说明】下列程序显示所有3个数码各不相同的3位数,并统计有多少个这样的三位数。
Private Sub Form_Click()Dim n As Integer, a As Integer, b As Integer, c As IntegerDim x As IntegerFor a =----1----For b = 0 To 9For c = 1 To 9If a<>b And b<>c And a<>c Thenx =----2----n = n + 1----3----If n mod 15 = 0 Then PrintEnd IfNext c,b,aPrint "总共有这样的三位数"; n; "个"End Sub正确答案:0 to 9正确答案:1+10*(b+10*c)正确答案:print x;第2题:【程序说明】窗体是密码检验程序。
程序运行时,用户在文本框输入密码,单击确定按钮对密码进行检验。
密码正确后,标签label2显示“密码正确”;若密码不正确,标签显示“密码错误”,若密码输入错误达3次,将自动退出程序。
Private Sub Command1_Click() '确定按钮Static n As Integer----1----mypwd As String = "123456" '预设密码为自定义常量n = n + 1Label2.Visible = TrueIf ----2---- ThenLabel2.Caption = "密码正确"ElseIf n < 3 ThenLabel2.Caption = "密码错误!"Text1.Text = ""Else----3----End IfEnd IfEnd Sub正确答案:CONST正确答案:Text1.text=mypwd或mypwd=text1.text正确答案:End第3题:【程序说明】在组合框中选择形状后,窗体中控件Shape1的形状和边框线作相应变化。
《VB面向对象的程序设计》校本课程设计
《VB面向对象的程序设计》校本课程设计一、校本课程:VB面向对象的程序设计教学材料:创编课程类型:讲授型、实验探究型、活动交流型。
授课时间:一学年。
授课对象:高一年级中程序设计的爱好者。
二、校本课程的具体内容:知识与技能:认识VB对象的属性与方法,理解事件、事件过程和事件驱动的概念,了解VB的可视化编程。
过程与方法:熟悉VB界面,制作简单的程序界面,能够通过属性窗口更改对象属性,认识事件和事件过程的概念并制作出一个小程序。
情感态度与价值观:通过实践演示并由学生自己动手操作编辑简单实用小程序,引发学生学习计算机程序的兴趣,从而形成积极主动学习使用计算机解决问题的习惯。
校本课程目录:第一课:我的第一个VB程序第二课编写程序代码第三课:认识各国国旗第四课:做个简单的文本编辑器第五课:“你猜对了吗?”----分支结构的程序设计第六课:让飞机飞起来----循环结构的程序设计第七课:编译软件三、校本课程实施方法和形式:实施方法:教案讲授,学生讨论分析综合实践。
实施形式:教师设计、组织主持,学生设计、集体实践四、校本课程教学评价:部分学生评价:VB程序设计是一个比较抽象的概念,不易理解,但在老师的举一反三的例证和深入浅出的讲解之下,能最大层度的激发我们的兴趣,调动我们学习参与的积极性。
在整个课程中,我们不但能了解了VB的一些最基本的功能,也能简单的编辑一些实用的小程序。
我想,这也为我们以后进一步的学习打下良好的基础。
教师教学自我评价:本校本课程是VB面向对象的程序部分,根据我校学生的自身特点,在教材自身的知识基础上加入了一些常规对话框的制作,如自然数相加自然数的制作,文本框的设计等等,充实了教材的内容,满足了学生的求知欲和好奇心,学生基本能全程参与,积极动手。
经过一学年的学习,学生基本能了解的程序设计的对象的概念,设计并制作一些简单的实用的对象,如仿制操作系统中的文本框,制作文件的保存对话框等等,基本达到了开设这门课的目的。
VB关于webbrowser相关操作大全
VB关于(guānyú)webbrowser相关操作大全VB关于(guānyú)webbrowser相关操作大全VB关于webbrowser相关操作(cāozuò)大全1、防止新窗口里头打开(dǎ kāi)网页代码(dài mǎ)1:Private SubWebBrowser1_NewWindow2(ppDisp As Object, Cancel As Boolean)Dim frm As Form1Set frm = New Form1frm.Visible = TrueSet ppDisp = frm.WebBrowser1.objectEnd Sub代码(dài mǎ)2:有这段代码,有许多网页会出错,经常提示脚本错误,可以(kěyǐ)用silent属性为True来屏蔽,不过也有些不足!!!Private SubWebBrowser1_NewWindow2(ppDisp As Object, Cancel As Boolean)Cancel = TrueWebBrowser1.Navigate2WebBrowser1.Document.activeElement.href End Sub代码(dài mǎ)3:Private SubWebBrowser1_NewWindow2(ppDisp As Object, Cancel As Boolean)On Error Resume NextDim frmWB As Form1Set frmWB = New Form1frmWB.WebBrowser1.RegisterAsBrowser = TrueSet ppDisp = frmWB.WebBrowser1.object frmWB.Visible = TruefrmWB.Top = Form1.TopfrmWB.Left = Form1.LeftfrmWB.Width = Form1.WidthfrmWB.Height = Form1.HeightEnd Sub功能(gōngnéng)差不多,任选一个。
《VB程序设计》教学方法改革的探索与实践
17 8
t ef ga. g ) 学生用动态方法做完后 , u \ nunj ” , r e P 感觉动
态加载更加灵活、 实用 。这时 , 我又让学生把做完的
整合的过程。比如 , 学完文件控件后 , 就让学生做一
程序保存在 U 回家后在 自己的机子上能否运行。 盘, 第二天上课时 , 同学们都反映程序运行不出来 , 出现
来确定我们在文本框中输入 的条件是否为真做出判
断, 如果为 真就 登录到 我们所 需要 的另 一个界 面 , 否
就头大、 茫然 , 觉得不好学 、 学不会。咎其原 因, 虽然
说是方 方面 面的 , 教学 内容安 排是 否适 当 、 学方 但 教 法是否 得 当是 重 要 原 因。笔 者 在 多 年 的 V B教 学 中, 进行 了长 时间 的思考 , 并根 据高 职高专 办学 的性 质和学 生 的特点 , V 对 B程 序设 计 教 学 方法 从 以下
先要详细的介绍各个控件 , 只有知道每个控件各 自
人满意的效果 , 如果能设计 出一系列问题 , 让学生在
实践和解决问题的过程中 自己去探究 和体验 , 情况 将完全是另一个样子 。比如 ,B中图片在图像框控 V 件中的加载 , 有静态和动态加载两种 方式。静态是 在设计模式下 , p t e 在 iu 属性下添加 图片。如果单 cr 击窗体让另一幅图片出现 , 该怎么办?则静态加载 就 不能 实现 , 要使 用 动 态加 载 。若 添 加 的是 E盘 需 下V B程序\iue p t 文件下 的  ̄ ga. cr nun j P文件 , 编写
我们一 定要有 相关 的实例 来让 学生 在感 性上 得到认
识。比如 在介绍 I ……E S F L E选 择控制语 句 的时
基于VB的分阶段教学法
科
文化 教育 li j
基于 V B的分 阶段教学 法
宋 春 雨
( 尔滨 要 : i a Bsc Vs l ai是一种使用方便 、 u 功能强大的应 用程序开发环境 。从分阶段 的角度入手讨论 了V B的教学方法, 即将 V B的教学过程分为 三个阶段 , 法学习阶段 、 语 界面学习阶段和综合应用阶段 , 其中每 个教学阶段都 有其相应的教 学特 点和教学方法。实践证明, 阶段教学法在 VB的 分 教 学过程 中 到了一定的积极作 用。 起 关键词 : ; vB 阶段 ; 教学 ; 方法; 举例
引言 对 问题进行实际分析 ,然后结合具体实验环境 不失时机地推 出本次课的授课 内容之— — 图 Mi ootV sa ai ., c sf i l B s 60 简称 V 它 提 进行实际验证 , 自 r u c B, 并 行得 出结论的学 习过程。 例 片浏览器的制作 。接下来教师就可以分析图片 供 了开发 Mc s t nos 用程 序 的最迅 如在讲授一行多句和一句多行的知识 时,教师 浏览器是 由驱 动器列表控件 ( r c iB x 、 ioo dw 应 r f Wi D i Ls o ) 目 v t 速、最简捷 的方法。不论是 M co f Wi o s 可 以在 一段普 通程 序代码 的基础上 提 出设 想 录 列 表 控 件 ( i s ) 文 件 列 表 控 件 i s t n w r o d D t 、 B 应用程序的资深专业 开发人员还是初学者 , B “ V 能不能将几个 短小易读的程序行写在 一行 当 (i L t x 和图像框控件 ( ae等控 件构成 F ei B ) l so I g) m 都为其提供 了整套的工具 ,以方便 开发应用程 中, 达到增加屏幕显示内容的 目的? 能不能将一 的, 而每一个控件又包含若干个属性、 事件和方 序。在 V B中 ,Vsa 指 的是开发 图形用户界 行很长的程序分成几行来写 ,达到不用滚动屏 法 , “i l u” 这些属性 、 事件和方 法对设计图片浏览器是 面( u) GI 的方法 。不需编写大量代码去描述界 幕就能读 到一行很长的完整程序 的目的? 。 ” 当 非常重要 的,比如驱动器列表控件 的 D ie r 属 v 面元素 的外观和位置 , 而只要把预先建立的对 教师提 出这简单而实用的问题 时,好奇心就 会 性和 C ag 事件 , hn e 文件列表控件的 C c 事件 、 lk i 象添加到屏幕上相应位置 即可。“ai 指的是 驱使同学们尝试各种方法去思考 、 B c s ” 实验。 当同学 P t 属性和 P t r 属性, a h ae tn 图像框控件 的 P t e iu cr B SC语言,是一种在计算机技术发展历史上 们实验 时,教师可以在 一旁提 出指导性意见或 属性 、 rt 屙 陛等等。最后 , AI Seh tc 教师再把分别介 应用得 最为广泛 的语言 。专业人员可以用 V~ 鼓励同学们之间进行问题的讨论 。 i 这样 , 不论结 绍的各个控件组合起来 ,用事件的形式建立起 s d B s 实现 其它任何 Wi o s t ac u i n w 编程 语言的 果是不是 同学们真的解决 了问题 ,同学们对 问 它们之 间的联系 , d 从而形成了—个简便实用 的 功能 ,而初学 者只要掌握几个关键词就可以建 题 的印象是深刻的。当教师肯定了同学 的结论 图片浏览器程序。 立 实 用 的应 用 程序 。Vsa Bs 不 仅仅 是 或 揭开正确结论的面纱 时,同学们对结论 的认 i l ai u c 3综合应用阶段 V u lB i 编程 语言 , i a B i 编程系统 识是刻骨难忘的。 s s ia ac Vs l a c u s 这一阶段一般 是在修完 Vsa ai i lB s u c知识 和 V A 都 使 用 这 一 语 言 。 Vs l B i B ia ac u s 如果 Vsa B i 不是作为入门语 言来学 体 系后进行 的。在这一 阶段中 ,同学 们对 v— il ac u s i S ̄ t g E io ( B cit是广 泛使 用 的脚 本 习的, e ph dt n V S r ) i p 那我们就可以采用对照式、 联想式 的教学 sa ai u B c的知识 已经有了—个初步 的、 l s 泛泛 的 语言 , 它是 Vsa B s 语言 的子集 。这样 , i l ac u i 在 方法来处理一行多句和一句多行 的问题 。 例如 , 了解 , 但一般情况下 由于缺乏具体的实践 , 所以 学习 V ulB i s s i a a c中得到 的经验可应用 到所有 假设 同学 们在学习 Vs ai 之前学 习 了 c 所掌握知识之 间的系统性 、 i a Bs u l c 关联 性 、 固性 、 牢 灵 这些领域 中。 从开发个人或小组使用的小工具 , 语言 ,那么教 师就可 以提 出问题 :在 C语言 活性等方面还 比较欠缺。这就需要教师运用 自 “ 到大型企业应用系统 ,甚至通过 I e e 的遍 中, nmt t 每个语句 结束 的标志是分号 ( ) 可以将多 己的组织能力 , ;, 创设一个具有一定代表性 、 综合 及全球分布式应 用程序 ,都 可在 Vsa B i 行语句写在一行 中, i l ac u s 每句都以分号 ( ) ;作为语句 性 、 实践性 、 实用性的实 例来促使 同学们对知识 提供的工具中各取所需 。 i a B s 有三种版 的标志。而在 V Vsl ai u c B中由于每个语句后 面没有语 进行系统 性地梳理 , 对技能进行实质性地提 高。 本, 即学习版、 专业版和企业版 , 可以满 足不同 句结束 的标志 ,能不能也将多行语句写在一行 比如 ,教师在 比较系统地讲 授完 Vsa B i i l ac u s 的开发需要。 { 当中呢?在 C语言 中, 要将一行 长的语句写成 后 , 提出 :Widw “ no s中的记事本是 司空 见惯 的、 正因为 V 有上述 的特点 ,目 B 前很多高校 多行时可 以用 ” ‘ 、来实现 , V ‘ 那 B当中又 如何 实 操作熟练 的应用程序 , 但它是 M c s t i o f公司提 r o 的计算机专业 和非计算机专业都开设 了 V B作 现呢? 。 ” 当同学们经过了知识回顾并积极思考 供给的 ,能不 能运用所学 的 V B知识 自己制作 为必修课或选修 课,全国计算机 等级考试也将 问题后 , 教师可以很 自然的公 布答案 , 此时并 不 个功能 和记事本类似甚至超过记事本 的属 于 V B增设为相应的考试科 目。不 过 , V 在 B的教 需要学生进行具体的实验验证 ,同学 们 自 然就 自己的应用程序呢? , ” 在同学们思考的时候 , 教 学过程 中 , B的上述 特点却变 成 了教 学的难 会接受并牢记这个 V V B中的基本知识点 。 师 可以帮助同学 理顺思路 “ 际上记事本 的制 实 点 。可视化的操作改变了以往面 向过程的编程 2 界 面 学 习 阶段 作 主要包括如下内容: 菜单的制作 、 通用对话框 方式 , 这种面向对象的操 作同时要面对多个 窗 界面学习阶段主要是指同学对窗体 、 件 控件 C m o Da g 控 o m n i o 的应用 、 l b a 对 象的使 l Ci or p d 体、 控件, 多个属性 、 事件和方法 , 要不停地在 工 和一些其它对象进行学 习的阶段 。在这 一阶段 用 、关于“ ” 对话框的制作 、 帮助文件的制作及调 具栏、 菜单 、 窗体以及属性、 事件 、 方法中来 回切 中,同学 们可以感性直观地认 识各个对象的特 用 、 文件内容的读写等方面的知识 。 。 ”这样 同学 换, 操作起来十分复杂; 同时面 向对象的概念 比 征和用法。但如果不运用适 当的教学方法也会 们从宏观 角度对 制作记事本有 了初步 的了解 , 较抽象 , 传统的教学方法已经不能满足新时期 、 达到事倍 功半 的效果 。由于 Vsa B i i l a c是面 接下来教师再从每部分 内容人手结合 W n o s u s idw 新内容的教学需要。 向对 象 的 Widw 快 速应用 程序集 成开 发环 下记事本程序的相应功能帮助 同学进行问题的 no s 分 阶 段 教 学 法 境 , Wid w 操作系统是广大微 机用户最熟 分析和实验 , 而 no s 这样 同学们最终是能够通过 自己 经过几年的 V B教学实践 ,本人逐渐总结 悉的操作系统 ,所以如果我们能结合 W no s 的努力来 完成编 制记事本程序 的任务的 ,同时 i w d 出了一套分阶段教学法 ,即根据 V B自身的特 和 Vsa B s i l ai u c的特点来进 行教学 ,就会起到 也实现了综合训练 的目的。 在这个阶段我们可以采用“ 案 总之 ,分 阶段教学 法是一种 可行 �
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
图片浏览器设计报告学院土木工程学院班级土木工程C076 学号074837 姓名郭少华成绩一、设计思路1.要达到的目的①培养学生综合利用VB语言进行程序设计的能力,主要是利用VB的标准控件进行设计。
②能够打开常见类型的图片,自动进行缩放,适应PictureBox的大小。
③在FileListBox中只列出图片文件。
④使用StatusBar 控件状态条显示图片文件相关信息,包括图片尺寸(单位:象素)、文件大小和日期等。
⑤使用HscrollBar控件对图片进行缩放。
⑤可以轮流显示FileListBox中列出图片文件。
⑥当图片放大超过窗口大小后,可以提供鼠标移动图片显示。
2.关键问题的解决①使用Loadpicture方法在图片框里加载符合格式要求的图片。
②使用FileListBox方法来显示图片。
③使用PaintPicture方法和改变滚动条的Value属性,使图片能够缩放。
④使用Timer事件更改FileListBox的ListCount属性,使图片能自动浏览。
⑤使用MouseMove事件,在图片过大时,通过鼠标移动使图片显示。
二、模块之间的调用关系,或程序流程图picture模块hscrollbar模块pictureload三、部分程序关键源代码及注释Private Sub Form_Load()Drive1.Drive = App.PathDir1.Path = App.Path 'App 是当前的应用程序对象File1.Pattern = "*.bmp;*.jpg;*.ico;*.wmf" '在FileListBox中只列出图片文件。
Picture1.AutoSize = TruePicture2.AutoSize = True '设定自动缩放,适应PictureBox的大小。
= 2000= sbrCenter= 1800= sbrCenter= 2400= sbrCenter= 3000= sbrCenter '设定StatusBar的数量和属性End SubPrivate Sub Drive1_Change()On Error Resume NextDir1.RefreshDir1.Path = Drive1.DriveIf Err.Number = 68 ThenErr.ClearMsgBox "先将光盘插入!", , "提示"Exit SubEnd If '设定错误提示End SubPrivate Sub Dir1_Change()File1.Path = Dir1.PathEnd SubPrivate Sub File1_Click()If Right(File1.Path, 1) <> "\" Thentempstring = File1.Path & "\" & File1.FileName '非根目录时,路径中的最后加上一个反斜杠"\"Elsetempstring = File1.Path & "\" & File1.FileNameEnd If '装入选定的文件。
Picture1.Enabled = TruePicture2.Picture = LoadPicture(tempstring)Picture1.PaintPicture Picture2.Picture _, 0, 0, Picture1.Width, Picture1.Height, _0, 0, Picture2.Width, Picture2.Height '设定图片的初始状态。
Picture2.Visible = Falsemysize = FileLen(Dir1.Path & "\" & File1.FileName)Picture2.ScaleMode = 3StatusBar1.Panels(1) = "图片尺寸:" & _Picture2.ScaleWidth & "×" & Picture2.ScaleHeightStatusBar1.Panels(2) = "文件大小:" & _Int(mysize / 1024 * 10 + 0.5) / 10 & "KB"StatusBar1.Panels(3) = "修改日期:" & "2008-6-11 " & "08:32"= "制作人:郭少华2008年6月" '设定图片信息的提取End SubPrivate Sub Command1_Click()If Command1.Caption = "自动浏览" ThenTimer1.Enabled = TrueCommand1.Caption = "手动浏览"ElseTimer1.Enabled = FalseCommand1.Caption = "自动浏览"End If '设定自动浏览End SubPrivate Sub Command2_Click()Unload MeEnd SubPrivate Sub Timer1_Timer()X = File1.ListIndexX = X + 1If X < File1.ListCount ThenFile1.Selected(X) = TrueCall File1_ClickElseFile1.ListIndex = 0End If '设定timer事件来自动浏览图片End SubPrivate Sub Form_QueryUnload(Cancel As Integer, _UnloadMode As Integer)Title = MsgBox("确定要退出?", vbYesNoCancel, "提示")If Title <> 6 ThenCancel = TrueEnd IfIf Title = 6 ThenMsgBox "谢谢使用,欢迎再次使用。
", , "图片浏览器"End IfEnd SubPrivate Sub HScroll1_Change()Picture1.ClsMax = 200Min = 1 '设定滚动条的最大、最小值。
Value = 200smallchang = 1largechang = 1 '设定Value值的改变量。
Picture1.PaintPicture Picture2.Picture, 0, 0, _Picture1.Width * HScroll1.Value / 100, _Picture1.Height * HScroll1.Value / 100, 0, 0, _Picture2.Width, Picture2.Height '使用滚动条缩放图片End SubPrivate Sub Picture1_MouseDown(Button As Integer, _Shift As Integer, X As Single, Y As Single)X1 = XY1 = YEnd SubPrivate Sub Picture1_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single) X2 = XY2 = YX3 = X3 + X2 - X1Y3 = Y3 + Y2 - Y1Picture1.Picture = LoadPicture(tempstring)Picture1.ClsIf HScroll1.Value <> 100 Then '使用鼠标移动图片Picture1.PaintPicture Picture2.Picture, X3, Y3, _Picture1.Width * HScroll1.Value / 100, _Picture1.Height * HScroll1.Value / 100 '使用PaintPicture方法ElsePicture1.PaintPicture Picture2.Picture, X3, Y3, _Picture1.Width, Picture1.HeightEnd IfEnd SubPrivate Sub munfileopen_Click() '菜单栏"打开"CommonDialog1.ShowOpenPicture2.Picture = LoadPicture(CommonDialog1.FileName)Picture1.ClsPicture1.PaintPicture Picture2.Picture, 0, 0, _Picture1.Width, Picture1.Height, 0, 0, _Picture2.Width, Picture2.HeightPicture2.Visible = FalseCommonDialog1.Filter= pictures|(*.bmp)|*.bmp|pictures|(*.jpg)|*.jpg|pictures|(*.gif)|*.gif|pictures|(*.ico)|*.ico"'设定载入文件的格式munbigger.Enabled = Truemunsmaller.Enabled = Truemunback.Enabled = Truemysize = FileLen(CommonDialog1.FileName)Picture2.ScaleMode = 3StatusBar1.Panels(1) = "图片尺寸:" & _Picture2.ScaleWidth & "×" & Picture2.ScaleHeightStatusBar1.Panels(2) = "文件大小:" & _Int(mysize / 1024 * 10 + 0.5) / 10 & "KB"StatusBar1.Panels(3) = "修改日期:" & "2008-06-11 " & "08:32"= "制作人:郭少华2008年6月" '设定图片信息的提取End SubPrivate Sub munfileexit_Click() '菜单栏"关闭"Unload MeEnd SubPrivate Sub munbigger_Click() '菜单栏"放大"Picture1.ClsPicture2.Width = Picture2.Width * 0.8Picture2.Height = Picture2.Height * 0.8Picture1.PaintPicture Picture2.Picture, 0, 0, _Picture1.Width, Picture1.Height, 0, 0, _Picture2.Width, Picture2.HeightEnd SubPrivate Sub munsmaller_Click() '菜单栏"缩小"Picture1.ClsPicture2.Width = Picture2.Width * 1.5Picture2.Height = Picture2.Height * 1.5Picture1.PaintPicture Picture2.Picture, 0, 0, _Picture1.Width, Picture1.Height, 0, 0, _Picture2.Width, Picture2.HeightEnd SubPrivate Sub munback_Click() '菜单栏"还原"Picture2.Picture = LoadPicture(Dir1.Path & "\" & File1.FileName)Picture1.PaintPicture Picture2.Picture, 0, 0, _Picture1.Width, Picture1.Height, 0, 0, _Picture2.Width, Picture2.HeightPicture2.Visible = FalseEnd Sub四、设计方案的完善及目前存在的问题1.设计方案要完善的地方①菜单栏的“打开”功能和鼠标拖动图片功能还应待完善。