VB课程设文本阅读器设计报告.doc_第1页
VB课程设文本阅读器设计报告.doc_第2页
VB课程设文本阅读器设计报告.doc_第3页
VB课程设文本阅读器设计报告.doc_第4页
VB课程设文本阅读器设计报告.doc_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

文本阅读器设计报告学院 材料学院 班级 材料074 学号 072023 姓名 宁延明 成绩 一、设计思路1.要达到的目的1能够打开任意一个文本文件并逐行显示文件内容。2可以调整自动滚屏的速度(用小键盘上的“”和“”键)。3支持显示特性的设置(字体诸属性及文字前景色彩)。4可以随时停止滚动和继续滚动(通过单击鼠标或者按空格键)。5在文本滚动时诸按钮自动隐去,暂停或停止滚动时按钮出现以便进行设置。6内容全部显出后自动停止滚动。7支持显示的背景设置,可以设置成任意色彩(见题图)。8支持手工翻页(建议用PageUp上翻,PageDown下翻,Home到最开始,End到最后)2.关键问题的解决程序界面设计:根据所给的界面设计。代码的编写:主要是利用文件的SHOWOPEN属性打开文件,而后利用通用对话框进行字体和背景的设置,再利用TIMER事件的一些属性实现文本的自动滚动与停止。CommandX_Click()打开文件,下载动态标签,更改字体和背景等命令Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)设计快捷键,包括:空格键(键码32),上、下翻页键(33和34)小键盘加号和减号键(107、109),还有Home和End键(vbKeyHome、vbKeyEnd)。Label1_Click(Index As Integer)处理暂停和恢复滚动(用鼠标单击控制走停,作用同空格键)。Timer1_Timer()定时器事件,让标签按一定的速度自动滚屏,标签caption属性的赋给和变换。二、模块之间的调用关系,或程序流程图 调用调用调用调用完成要求通用对话框 Timer事件 字体、背景设置Enabled属性等三、部分程序关键源代码及注释 Dim m As Integer, k As Integer Dim lines As Integer Dim txt() As String 声明各个变量Private Sub Command1_Click()创建动态数组 Dim i As Integer, m As Integer m = (Form1.Height) (Label1(0).Height) + 1 Label1(0).Width = Form1.Width For i = 1 To m Load Label1(i) Label1(i).Visible = True Label1(i).Top = Label1(0).Top + i * Label1(0).Height Next i Dim lines As Integer, h As IntegerCommonDialog1.Filter = text(*.txt)|*.txt|pictures|(*.bmp)|(*.bmp) CommonDialog1.ShowOpeninfile = CommonDialog1.FileNamelines = 0 文件行数总计Open infile For Input As #1 打开文件。infile 变量中存放的是文本文件的名字Do While Not EOF(1) ReDim Preserve txt(lines + 1) As String 开辟空间以存放新一行内容 lines = lines + 1 Line Input #1, txt(lines) 读入一行并放入数组LoopClose #1 Timer1.Enabled = True For i = 0 To m 将初始内容赋给标签 Label1(i).Caption = txt(i) NextEnd SubPrivate Sub Command2_Click()CommonDialog1.Flags = cdlCFBoth Or cdlCFEffectsCommonDialog1.ShowFontFor i = 0 To mLabel1(i).FontName = CommonDialog1.FontName 更改字体属性Label1(i).FontBold = CommonDialog1.FontBoldLabel1(i).FontItalic = CommonDialog1.FontItalicLabel1(i).FontSize = CommonDialog1.FontSizeLabel1(i).FontStrikethru = CommonDialog1.FontStrikethruLabel1(i).FontUnderline = CommonDialog1.FontUnderlineLabel1(i).ForeColor = CommonDialog1.Color NextEnd SubPrivate Sub Command3_Click()CommonDialog1.ShowColor For i = 0 To m Label1(i).BackColor = CommonDialog1.Color 更改背景颜色 NextEnd SubPrivate Sub Command4_Click() EndEnd SubPrivate Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)m = (Form1.Height) (Label1(0).Height) + 1If KeyCode = 107 Then 按加速 If Timer1.Interval 1000 Then Timer1.Interval = Timer1.Interval - 50 Else Timer1.Interval = 300 End If End If If KeyCode = 109 Then 按 减速 If Timer1.Interval m Then Label1(i) = txt(k - m - i + 1) End If Next End IfEnd SubPrivate Sub Label1_Click(Index As Integer) 鼠标控制按钮可见性Static j As Integerj = j + 1Select Case j Mod 2 Case 1Timer1.Enabled = FalseCommand1.Visible = True Command2.Visible = True Command3.Visible = True Command4.Visible = TrueCase 0Timer1.Enabled = True Command1.Visible = False Command2.Visible = False Command3.Visible = False Command4.Visible = FalseEnd SelectEnd SubPrivate Sub Timer1_Timer()Dim i As Integer 实现标签的滚动、把内容赋给标签Static n As Integern = n + 1k = nm = (Form1.Height) (Label1(0).Height) + 1For i = 0 To mLabel1(i).Top = Label1(i).Top - 600If Label1(i).Top 0 ThenLabel1(i).Top = m * Label1(i).HeightLabel1(i).Caption = txt(n + 11)End IfTimer1.Enabled = TrueCommand1.Visible = FalseCommand2.Visible = FalseCommand3.Visible = FalseCommand4.Visible = FalseNextEnd Sub四、设计方案的完善及目前存在的问题1设计方案要完善的地方(1)给程序增加鼠标直拖功能(2)支持文本显示时自动播放音乐功能(3)支持文本显示时背景图片的平铺显示功能(4)其他一些创新要求2. 目前存在的问题(1)文本可能出现下标越界(2)快捷键设计得不是很完善,有待改进(3)没有创新要求五、本次设计的收获及心得体会这次课程设计使我对课程有了更深一步了解,通过这次实践我学到了不少课本上没有得知识,把我们所学的理论运用到实际问题当中,更符合新世纪对高校生的要求。在这次实践当中,我体会到从事科研的不容易和乐趣,有利于培养

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论