给应用程序添加“日积月累”对话框

2016-02-19 18:27 9 1 收藏

关注图老师设计创意栏目可以让大家能更好的了解电脑,知道有关于电脑的更多有趣教程,今天给大家分享给应用程序添加“日积月累”对话框教程,希望对大家能有一点小小的帮助。

【 tulaoshi.com - 编程语言 】

目前几乎所有的商业软件在启动时都会显示一个“日积月累”对话框,该对话框一般一次显示一条关于该软件的使用技巧,用户也可以逐条浏览其中的所有技巧。
  下面是用VisualBasic5.0实现该功能的方法:
  关键是有三个问题要解决:一是技巧信息以何种形式保存;二是如何随机读取;三是如何控制启动是否显示。
  解决第一个问题,有两种思路:一是将技巧信息保存在一个文本文件中,一行保存一条技巧,然后使用VB的文件读写命令进行读取;另一种解决办法是使用VB自带的Access数据库,将技巧信息保存在数据库的一个表中,然后从中读取信息。本文采用第二种方法来保存技巧信息。
  第二个问题比较容易解决,我们可以通过VB的随机数函数产生随机数作为要读取的技巧号,然后用数据库对象的Move方法定位到该技巧上,并用Field属性将之显示出来。
  最后一个问题的解决也有两种思路:一是利用一个单独的文件保存一个标记,每次启动时首先检查该标记,然后根据标记的值决定是否显示“日积月累”对话框;另一个思路就更富技巧性,我们可以利用Win95的系统注册表,在注册表中建立一个应用程序项目,在其中保存是否显示的标记,每次启动时首先检查该标记,当用户单击“检查框按钮”时,也只需简单地修改该标记的值即可,而所有这些操作,都可简单地通过VB中关于系统注册表的几条命令来实现。本文采用第二种办法来实现,大家可以顺便从中学到用VB访问系统注册表的方法。
  1.建立窗体
  在应用程序的工程中添加一个标准窗体,在其中放置一个PictureBox、
  一个CheckBox、两个Label和三个CommandButton,这些控件的相关属性设置
  见下表。
  2.建立技巧数据库
  用VB的“可视化数据管理器”生成一个名为“MyMdb”的Access数据库(如果应用程序本身已经有现成的数据库,则可以直接利用它,名字也不需要变),在数据库中新建一个表,表名为“Tips”,该表只包含一个可变长度的Text型的字段,字段名为Tip,长度可根据具体情况而定,这里设为50。表建好后,在其中输入若干条记录(在Win95目录中有一个Tips.txt,其中有很多技巧信息,可从中挑选一些,自己再另加一些与应用程序有关的操作要诀形成自己的技巧数据库)。具体代码略。
  3.几点说明
  (1)GetSetting和SaveSetting的用法
  这两条命令(函数)是VB与系统注册表交互的关键命令,其中GetSetting从注册表的应用程序项目中返回注册表项设置值,SaveSetting在注册表中建立应用程序项目或保存设置值,其具体用法可查找VB的联机帮助。
  (2)应当在卸载应用程序时将注册表中的信息删除
  由于“日积月累”对话框在注册表中添加了一些内容,因此在卸载应用程序时应当礼貌地将这些信息删除,删除的方法是利用VB提供的另一条关于注册表的命令DeleteSetting。
  (3)在应用程序菜单中可以访问“日积月累”对话框
  除了在应用程序启动时显示“日积月累”对话框外,还应该允许用户通过菜单激活该对话框,方法实在是再简单不过了,只需在菜单中增加一项“日积月累”,使其打开frmTip窗体即可。
  (4)随机整数的产生
  VB中关于随机数的语句有两个,一是Randomize,另一个是Rnd,前者根据系统时间产生随机数种子,后者产生0到1之间的随机小数。为了生成某个范围内的随机整数,可使用以下公式:
  Int((upperbound-lowerbound+1)*Rnd+lowerbound)
  这里,upperbound是随机数范围的上限,而lowerbound则是随机数范围的下限,如本例中使用Int((RecCount*Rnd)+1)取得了从1到记录总数之间的随机整数。
  (5)及时关闭数据库
  使用完数据库后,应当及时使用set命令关闭数据库和记录集,以释放它们所占的内存空间。->

来源:http://www.tulaoshi.com/n/20160219/1617752.html

延伸阅读
标签: Web开发
    1.将下面一段代码插入head与/head之间: script function rusure() {  question = confirm("确实要去进入吗?")  if (question !="0") { window.open("","测试公告窗口","width=340,height=163,toolbar=0,status=0,menubar=0,resize=0"); } } /script     2.在链接标签内加入onclick()语句...
无模式对话框与有模式对话框不同的是在创建后其他窗口都可以继续接收用户输入,因此无模式对话框有些类似一个弹出窗口。创建无模式对话框需要调用 BOOL CDialog::Create( UINT nIDTemplate, CWnd* pParentWnd = NULL );之后还需要调用 BOOL CDialog::ShowWindow( SW_SHOW);进行显示,否则无模式对话框将是不可见的。相关代码如下: void CYo...
(1) 参数 typedef struct { DWORD lStructSize; HWND hwndOwner; HWND hInstance; COLORREF rgbResult; COLORREF * lpCustColors; DWORD Flags; LPARAM lCustData; LPCCHOOKPROC lpfnHook; LPCTSTR lpTemplateName; } CHOOSECOLOR, *LPCHOOSECOLOR; (2) API...
使用有模式对话框时在对话框弹出后调用函数不会立即返回,而是等到对话框销毁后才会返回(请注意在对话框弹出后其他窗口的消息依然会被传递)。所以在使用对话框时其他窗口都不能接收用户输入。创建有模式对话框的方法是调用CDialog::DoModal()。下面的代码演示了这种用法: CYourView::OnOpenDlg() {       ...
标签: PS PS教程
      横轴代表像素本身的两度,竖轴代表新调节的亮度。中间的直线代表目前输入与输出之间的关系。可以单击某个Channels,进行Curves设置,或按Shift键选择两个以上的Channels.     在图像中准备要调节亮度的地方按下鼠标,一个圆出现在Curves对话框中的直线上。拖动这个圆即可调节图...

经验教程

448

收藏

86
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部