微信公众号 
图码生活

每天发布有五花八门的文章,各种有趣的知识等,期待您的订阅与参与
电脑报 1992-2001 十年文章全集
电脑报 1992-2001 十年文章全集
包含从 1992 年 - 2001 年间,两万余篇期刊文章,查询最少输入两个字符
随便看看
读取中
读取中
标题用VC实现“每天提示”对话框
栏目软件世界
作者粟利民 承国贤
发布2000年第10期
  我们经常看到,许多应用软件在刚一启动时,就会显示一个“Tip of the day”对话框,即“每天提示”对话框。在对话框中显示与应用程序使用有关的一些小知识提示,而且每天都会显示一条新的小知识。这些“每天提示”对话框的界面基本上是统一的,下面我们将介绍在VC中通过往工程中添加组件来实现这一功能的方法。
  在Visual C++ 6.0中用MFC AppWizard创建一应用工程,如MyTip。执行菜单命令“Project\Add To Project”,选择“Components and Controls”,在Components and Controls Gallery对话框中选择Visual C++ Components中的“Tip of the day”条目,单击“Insert”按钮,将该组件添加到工程中。
  在工作区的ResourceView标签中打开“Tip of the day”对话框的模板资源,其标识号为IDD_TIP,可以根据需要对其中的文字和布局进行修改。
  定位到构造函数CTipDlg::CTipDlg,代码如下:
  CTipDlg::CTipDlg(CWnd* pParent /*=NULL*/):CDialog(IDD_TIP,pParent)
  { //{{AFX_DATA_INIT(CTipDlg)
  m_bStartup = TRUE;
  //}}AFX_DATA_INIT
  // We need to find out what //the startup and file position parameters are
  // If startup does not exist,we //assume that the Tips on startup is checked //TRUE.
  CWinApp* pApp = AfxGetApp();
  m_bStartup = !pApp->GetProfileInt(szSection,szIntStartup,0);
  UINT iFilePos = pApp->GetProfileInt(szSection,szIntFilePos,0);
  // Now try to open the tips file
  m_pStream = fopen("tips.txt","r");
  if (m_pStream == NULL)
  {m_strTip.LoadString(CG_IDS_FILE_ABSENT);
  return;}
  ......
  从上面的m_pStream = fopen("tips.txt","r"); 语句中可以知道,“Tip of the day”对话框的显示内容保存在文件tips.txt中。不过tips.txt并没有被自动创建。我们选择菜单命令“File\New...”打开New对话框,在Files标签中选中“Text File”条目,输入文件名“tips.txt”,并单击OK按钮。
  在tips.txt文件中,每天的一个小提示占一行,我们便可在tips.txt中逐行输入每一个小提示,格式如下所示,并保存。
  第一个小提示:......
  第二个小提示:......
  第三个小提示:......
  ......
  这样我们就可以进行编译、链接、运行程序。可以看到在程序启动时,会先显示一个“Tip of the day”对话框,其中的小提示则是我们在tips.txt文件中输入的内容。
  以上程序在Visual C++ 6.0中调试通过。