1.如何用记事本编程
2.亮剑Visual内容简介
如何用记事本编程
跟我学做记事本-编程实例
用VB做一个记事本实在不很复杂,状态我们完全可以通过向导来很方便地做出来。栏美但本文只打算讨论用手动方法制作记事本,化工旨在向VB初学者展示:学VB原来是具源如此容易!
通过阅读、码状美化研究本文并按本文所述进行尝试,态栏量化公式指标源码初学者将学到很多东西,软件如怎样使用RichText控件来打开和保存文件,怎样制作菜单、下载工具栏和状态栏以及如何对其编写代码等。状态
第一章 让我们的栏美记事本马上运行
急于求成是初学者共有的心愿。那好,化工请按如下三个步骤做,具源我们的码状美化愿望立即就可以实现!
步骤一:绘制界面。态栏
新建一个标准EXE工程,软件将其Caption属性改为“超级记事本”,点击Icon属性给它找个合适的Icon图标。单击菜单“工程”-“部件”,在弹出的“部件”对话框里找到Microsoft
RichText Box 6.0和公共对话框Microsoft Common Dialog 6.0并选中它们,单击“确定”按钮。这时左边的工具栏上出现了我们刚才新添的两个控件了。在窗体上绘制RichText
Box和Commn Dialog,其中RichText Box的大小和位置可不用理睬,我们将在代码中处理它,当然,有必要把它的ScrollBar属性设为2-rtfVertical,这样在打开和编辑文件时垂直滚动条才可用。
步骤二:编辑菜单。
按Ctrl+E调出菜单编辑器,我们来做如下几个菜单:
一.文件菜单:
文件(第一层) mnuFile
新建(第二层) mnuNew
打开(第二层) mnuOpen
保存(第二层) mnuSave
- (第二层) mnuFileSep (分隔线)
退出(第二层) mnuExit
二.编辑菜单:
编辑(第一层) mnuEdit
复制(第二层) mnuCopy
剪切(第二层) mnuCut
粘贴(第二层) mnuPaste
- (第二层) mnuEditSep (分隔线)
全选(第二层) mnuSelecAll
三.搜索菜单:
搜索(第一层) mnuSearch
查找(第二层) mnuFind
查找下一个(第二层) mnuFindOn
四.帮助菜单:
帮助(第一层) mnuHelp
使用说明(第二层) mnuUsage
关于(第二层) mnuAbout
(注:各菜单项的快捷键请自行设置)
好了,其它的菜单项以后再根据需要添加。现在进入:
步骤三:编写代码。
'声明查找变量
Dim sFind As String
'声明文件类型
Dim FileType, FiType As String
'初始化程序
Private Sub Form_Load()
'设置程序启动时的大小
Me.Height =
Me.Width =
End Sub
'设置编辑框的位置和大小
Private Sub Form_Resize()
On Error Resume Next '出错处理
RichTextBox1.Top=
RichTextBox1.Left=
RichTextBox1.Height = ScaleHeight-
RichTextBox1.Width = ScaleWidth-
End Sub
'新建文件
Private Sub mnuNew_Click()
RichTextBox1.Text = "" '清空文本框
FileName = "未命名"
Me.Caption = FileName
End Sub
'打开文件
Private Sub mnuOpen_Click()
CommonDialog1.Filter = "文本文档(*.txt)|*.txt|RTF文档(*.rtf)|*.rtf|所有文件(*.*)|*.*"
CommonDialog1.ShowOpen
RichTextBox1.Text = "" '清空文本框
FileName = CommonDialog1.FileName
RichTextBox1.LoadFile FileName
Me.Caption = "超级记事本:" & FileName
End Sub
'保存文件
Private Sub mnuSave_Click()
CommonDialog1.Filter = "文本文档(*.txt)|*.txt|RTF文档(*.rtf)|*.rtf|所有文件(*.*)|*.*"
CommonDialog1.ShowSave
FileType = CommonDialog1.FileTitle
FiType = LCase(Right(FileType, 3))
FileName = CommonDialog1.FileName
Select Case FiType
Case "txt"
RichTextBox1.SaveFile FileName, rtfText
Case "rtf"
RichTextBox1.SaveFile FileName, rtfRTF
Case "*.*"
RichTextBox1.SaveFile FileName
End Select
Me.Caption = "超级记事本:" & FileName
End Sub
'退出
Private Sub mnuExit_Click()
End
End Sub
'复制
Private Sub mnuCopy_Click()
Clipboard.Clear
Clipboard.SetText RichTextBox1.SelText
End Sub
'剪切
Private Sub mnuCut_Click()
Clipboard.Clear
Clipboard.SetText RichTextBox1.SelText
RichTextBox1.SelText = ""
End Sub
'全选
Private Sub mnuSelectAll_Click()
RichTextBox1.SelStart = 0
RichTextBox1.SelLength = Len(RichTextBox1.Text)
End Sub
'粘贴
Private Sub mnuPaste_Click()
RichTextBox1.SelText = Clipboard.GetText
End Sub
'查找
Private Sub mnuFind_Click()
sFind = InputBox("请输入要查找的字、词:",watch源码 "查找内容",
sFind)
RichTextBox1.Find sFind
End Sub
'继续查找
Private Sub mnuFindOn_Click()
RichTextBox1.SelStart = RichTextBox1.SelStart + RichTextBox1.SelLength + 1
RichTextBox1.Find sFind, , Len(RichTextBox1)
End Sub
'使用说明
Private Sub mnuReadme_Click()
On Error GoTo handler
RichTextBox1.LoadFile "Readme.txt", rtfText '请写好Readme.txt文件并存入程序所在文件夹中
Me.Caption = "超级记事本:" & "使用说明"
Exit Sub
handler:
MsgBox "使用说明文档可能已经被移除,请与作者联系。",
vbOKOnly, " 错误信息"
End Sub
'关于
Private Sub mnuAbout_Click()
MsgBox "超级记事本 Ver1.0 版权所有(C) 土人",vbOKOnly,"关于"
End Sub
'设置弹出式菜单(即在编辑框中单击鼠标右键时弹出的动态菜单)
Private Sub RichTextBox1_MouseDown(Button As Integer, Shift As Integer, X As
Single, Y As Single)
If Button = 2 Then
PopupMenu mnuEdit, vbPopupMenuLeftAlign
Else
Exit Sub
End If
End Sub
'防止在切换输入法时字体自变(感谢王必成先生提供此方案)
Private Sub RichTextBox1_KeyUp(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKeySpace Then
RichTextBox1.SelFontName = CommonDialog1.FontName
End If
End Sub
至此,我们的记事本可以编译使用了。点击菜单“文件”-“生成XXX.EXE”,回到桌面运行我们的记事本看看,是不是颇有成就感?
当然,这样的记事本还比较粗糙,我们还需要做些工作,请看下一章。
第二章 美化程序界面
多数字处理软件都有工具栏和状态栏。工具栏和状态栏除了能美化我们的程序使其更具有专业性质外,还给用户带来操作上的便利。现在我们就来做一做这两样东西。
一.工具栏
(一)制作工具栏
单击“工程”-“部件”,选中Microsoft Windows Common Control 6.0并确定。这时,我们要用到的控件就出现在左边的工具栏上了。
要做工具栏,首先需要一个叫ImageList的控件来装载图像。在程序界面上添加它,然后右键单击此控件,左键单击“属性”,弹出“属性页”对话框的“图像”,再单击“插入”就可以一次性装载了(如不满意,以后还可以添加)。可在C:Microsoft
Visual StudioCommonGraphicsBitmapsTlBr_W下选择(这里假设你的VB安装在C盘下)。注意了:在插入时给每一张注明关键字,以便在引用时不至于混乱。如插入“新建”的,我们在“关键字”栏注明“New”。
有了,接下来在程序界面添加工具栏(ToolBar)。添加后工具栏就出现在菜单下面,右键单击它,opao源码选择“属性”,在弹出的“属性页”对话框中的“通用”项作些设置,主要如下两项:
1.“图像列表”:选择ImageList1
2.“样式”:根据喜爱选择1-trbStandard或者2-trbFlat
继续点击“属性页”的“按钮”选项,插入若干按钮。按钮有多种样式,请根据需要设置。这里请一定注意:每一个与用户操作有关的按钮都必须注明关键字、装载,如“新建”按钮,在“关键字”项注明“新建”,在“图像”项键入“New”(即ImageList1中的关键字),需要的话还可以在“工具提示文本”项填入适当的提示语。
(二)编写工具栏的按钮代码
工具栏按钮的代码编辑很简单,可以按照下面的格式去编写:
Private Sub ToolBar1_ButtonClick(ByVal Button As MSComctlLib.Button)
On Error Resume Next '出错处理
Select Case Button.Key '按关键字选择
Case "新建"
mnuNew_Click '等于菜单项“新建”被单击
Case "打开" '等于菜单项“打开”被单击
mnuOpen_Click
'......(继续编写其它按钮的代码)
End Select
End Sub
完成后试运行一下我们的程序,我们发现,有了工具栏之后,程序变得漂亮多了,只是有一个问题:打开一个较长的文档后,编辑框的下拉滚动条向上的箭头不见了。原因是:工具条占用一定的空间。解决方法:将“设置编辑框的位置和大小”中的RichTextBox1.Top
= 和 RichTextBox1.Height = Me.ScaleHeight - 分别改为RichTextBox1.Top =
,RichTextBox1.Height = Me.ScaleHeight - 即可。
二.状态栏
(一)制作状态栏
状态栏的英文名字叫StatusBar,在窗体上添加它后会默认出现在窗体的最下方。用鼠标右键点击它,调出“属性页”对话框,单击“窗格”项,插入一些窗格,可以将各个窗格的“样式”设置为:
0-sbrText 显示文本,需编写代码
1-sbrCaps 显示大小写状态,无需编程
2-sbrNum 显示NumLock键开关状态,无需编程
3-sbrIns 显示Insert键状态,无需编程
4-sbrScr1
5-sbrTime 显示时间,不编程时时间不会随系统时钟变化
6-sbrDate 显示日期,haxui源码无需编程
注意:加进状态栏后需将Form_Resze中的RichTextBox1.Height =
Me.ScaleHeight - 改为RichTextBox1.Height = Me.ScaleHeight - 。
(二)状态栏根据其“样式”属性决定用不用编写代码(如上文所述)。下面举些例子,读者可以认真揣摩,从而达到举一反三的效果。
例一:用户选取了“新建”后,让第一个窗格显示:“目前状态:正在打开文件《……》”。请将下面代码写进“打开”菜单里面:
StatusBar1.Panels(1).Text = "目前状态:正在打开文件"
& "《" &CommonDialog1.FileTitle & "》"
例二:让第三个窗格显示时间并让时间跟随系统时钟变化。
首先,给程序加一个Timer控件,将其Interval属性设为。然后:
在Form_Load过程加入:StatusBar1.Panels(1).Text = Time;然后给Timer控件编写代码:
Private Sub Timer1_Timer()
If StatusBar1.Panels(3).Text <> CStr(Time) Then
StatusBar1.Panels(3).Text = Time
End If
End Sub
例三:当编辑框的文本发生变化时让第一个窗格显示:“正在编辑文档:文件名”。
Private Sub RichTextBox1_Chang()
StatusBar1.Panels(1).Text = "正在编辑文档:" &
CommonDialog1.FileName
End Sub
辛苦了那么久,我们现在已经拥有一个象模象样的记事本了。这个记事本由于用了RichText控件,理论上它能打开和编辑任意大的文档,使用起来的确比Windows自带的记事本方便得多。当然,还有一些其它的功能需要添加和完善,这就靠你慢慢去完成了。
亮剑Visual内容简介
本书通过系统而完整的程序设计案例,详细介绍了使用VISUALC++6.0开发各种应用系统的思路、方法、经验及技巧。案例范围涉及综合测评、点歌管理、超市管理、人事管理、电子词典、公交信息查询、毕业设计管理、辅助教学、家庭理财及试卷生成等系统,HLSDK源码实用性非常强。本书的光盘中附有全部案例的完整代码,读者可以根据需要在这些代码的基础上进行二次开发。同时,本书详细讲解如何使用光盘中的代码。本书以案例教学方式来组织内容,重点明确、结构合理,具有一定的理论性和较强的实用性,可以帮助读者进一步掌握软件工程规范,增加系统开发经验。 本书附赠DVD光盘1张,内容包括超大容量手把手教学视频、电子教案(PPT)、编程参考宝典电子书、源代码。
编辑品鉴
本书特点 锲而不舍,金石可镂。 ——荀子劝学 为什么要写这样一本书 为了帮助众多软件开发人员尽快学习和掌握使用VISUALC++开发应用程序,尽快步入实际的项目开发中,作者根据多年的项目开发经验编写了本书。 本书从实战着手,由浅入深地讲述了实例开发流程和编程技巧,每个实例对系统目标设计、系统需求分析、开发环境和运行环境选择、系统功能分析、各功能模块设计、数据库概念结构设计、逻辑结构设计、系统的实现等各个过程都进行了详细的描述。读者通过对这些实例的学习,将能够掌握数据库系统的开发步骤和方法,开发出具有实用价值的管理信息系统。全书理论联系实际、内容翔实丰富、选题取材新颖、语言通俗易懂,各种技术难点都得到了体现。 本书的特点 1.秉承畅销系列“天学通编程”的细致写法 本书传承了畅销系列“天学通编程”细致的写作手法,本着“让读者少走弯路,尽快上手”的理念,用特别适合初学者着手实践的方式,精选典型案例,讲解了实际项目开发的流程,包括项目的开发背景、需求分析、系统设计等,同时还对各项目开发环境的选择进行了简要介绍。 本书体例如下: 清晰的结构:本书中的所有案例都是按照笔者的实际开发过程一个模块一个模块地进行介绍的,这也是按照实际项目的开发流程进行的,结构清晰,便于实际练习。 贴心的提示:为便于读者阅读,全书穿插着一些技巧和提示,帮助读者理解知识点。 直观的截图:对案例给出必要的结果界面图,帮助读者直观地理解范例代码。 范例代码:截取关键代码段,层次清楚,语句简洁,体现了代码优美的原则,有利于读者养成良好的代码编写习惯。 注释和解析:重要代码几乎行行有注释,代码段后对关键代码行逐一解释,帮助读者掌握相关概念,理解知识点。 代码位置:在书中特别给出了重要代码段在光盘中的位置,便于读者检索和实践。 经作者多年的培训及学员的反馈证明,以上讲解方式是非常适合初学者进阶的学习方式,读者按照这种方式学习,会非常轻松、顺利地掌握本书知识并举一反三。 2.实用超值的DVD光盘 为帮助读者更好地掌握知识和进行实践,本书附赠DVD光盘,内容包括本书内容多媒体视频、基础知识多媒体视频、电子教案(PPT)、编程参考宝典电子书、实例源代码等。 本书内容多媒体视频:配有长达5小时作者亲自配音的手把手教学视频,讲解本书关键知识点和操作步骤。 VC入门视频:本书附赠小时基础知识视频讲解,帮助读者夯实基础,更容易地掌握本书内容。 电子教案(PPT):本书可以作为高校相关课程的教材或课外辅导书,所以笔者特别制作了电子教案(PPT),方便老师教学和学生自学。 编程参考宝典电子书:为方便广大读者学习,特别制作了编程开发参考电子书,供读者查阅和参考。 3.完善的技术支持 本书提供了论坛,读者可以在上面提问和交流。另外,论坛上还有一些小的教程、视频动画和各种技术文章,帮助读者提高开发水平。 本书面向的读者 本书通过项目案例向读者介绍实际项目的开发流程,内容丰富、选题新颖、涵盖面广,主要面向以下几类人员。 VISUALC++的初学者:本书大部分项目涉及的知识点都是VISUALC++中的基础知识。本书有利于初学者尽早熟悉实际项目的开发,为以后的开发做好准备。 程序设计人员:本书实例均是笔者精心选择的,其中包含了笔者多年的开发经验与心得体会。因此对于有一定开发经验的程序设计人员来说,通过学习本书可以进一步加强读者的开发技巧,提高开发水平。 计算机编程爱好者:本书内容全面、层次清晰、图文并茂、实用性强,可作为计算机编程爱好者的自学教材和应用程序开发参考资料。 各类院校计算机专业学生:本书基本理论知识完备,且紧密联系实际开发,案例规模、开发难度适中,非常适合作为计算机专业学生毕业设计的题目。 推荐的学习计划 本书作者在长期的培训和教学实践过程中归纳了最适合初学者入门和实践的学习模式,并参考了多位专家的意见,为读者总结了合理的学习时间分配方式,列表如下。 推荐时间安排 自学目标 1天 第1章开发环境概述 VISUALC++6.0的安装步骤和注意问题。 VISUALC++6.0集成开发环境使用方法和技巧。 如何使用MFCAPPWIZARD创建工程并编译、运行应用程序。 SQLSERVER的安装和配置。 SQLSERVER的开发环境介绍及主要管理工具使用方法。 2天 第2章综合测评系统 ADO访问数据库技术。 基于对话框应用程序数据库连接方法。 列表控件的使用方法。 树形控件的动态构建及与数据表关联数据的方法。 非文档/视图框架打印预览的实现。 3天 第3章超市管理系统 分割视图的实现及数据传递。 扩展窗口的设计及实现方法。 如何提高键盘易用性。 复杂SQL语句的构造方法。 如何实现对备份文件的信息存储。 3天 第4章人事管理系统 利用ADO对象操作数据库方法。 DATETIMEPICKER日期控件和PICTURE控件的使用方法。 TREE控件和LISTCTRL控件配合使用的方法。 SQLSERVER数据库对长二进制数据存取的方法及显示。 对数据库数据进行添加、修改、删除等操作的方法。 3天 第5章点歌管理系统 WINDOWSMEDIAPLAYER控件的使用方法。 音视频文件属性的自动获取。 单选按钮、列表控件的使用方法。 自定义一组按键消息函数实现。 基于对话框应用程序中数据报表的打印输出。 3天 第6章小型电子词典系统 ODBC数据源静态、动态配置方法。 记录集对象的动态创建方法。 数码时钟的设计与实现。 界面美化的动态换肤。 列表控件、树形控件的应用。 3天 第7章公交信息查询系统 MAPOBJECTS控件的使用。 状态栏中信息的显示。 动态的应用程序图标。 公交换乘算法的设计与实现。 地图的放大、缩小、测距、漫游等操作的实现。 3天 第8章毕业设计管理系统 使用ODBC访问数据库的方法。 应用MFCODBC相关类来操作数据库。 多类之间数据的传值。 多界面控件TABCONTROL的应用。 基于列表控件的打印预览的实现。 3天 第9章辅助教学系统 MICROSOFTWEB浏览器控件的使用方法。 SHOCKWAVEFLASHOBJECT控件的使用步骤。 容器VECTOR的使用。 如何把数据库操作模块做成DLL文件。 如何实现对PPT和WORD的控制。 3天 第章家庭理财系统 MICROSOFTCharTCONTROL控件的使用方法。 数据库记录集类的使用。 CSTDIOFILE类读写文件操作。 用户管理界面的设计。 报表打印的实现。 3天 第章试卷生成系统 ADO访问数据库技术。 数据库连接进程的获取。 多视图的创建与交互。 数据库的备份和还原的实现方法。 利用AUTOMATION技术来控制WORD。 编者 年1月