VB中自动提示保存修改后的文件
来源:优易学  2011-4-1 15:01:31   【优易学:中国教育考试门户网】   资料下载   IT书店

 

  图5为单击File1过程:单击文本文件时,在RichTextBox1里显示其内容。

  
  图 5 单击File1过程File1_Click

  图6为RichTextBox1获得焦点过程:此时应做出标记(mark1),并记下该文件的全路径以及文件名,以供保存修改时使用。  


  图 6 文本显示控件获得焦点过程RichTextBox1_GorFocus

  图7为RichTextBox1发生变化的过程:如果刚才发生了获得焦点的事件(Mark1=1),则做出“文件已被修改”的判断(Mark2=1)。  


  图 7 文本显示控件变化过程RichTextBox1_Change

  图8为RichTextBox1失去焦点的过程:如果文本已被修改(Mark2=1),则进行以下3项工作:
  (1)将被修改的旧文件内容转移到RichTextBox2控件内备用;
  (2)将新文件的内容显示在RichTextBox1控件内;
  (3)询问是否保存修改旧文件(Call RTBA_LF00);
  无论是否保存修改,之后都需要将标记清除(Mark1=0,Mark2=0),以便一切从头开始。  


  图 8 文本显示控件失去焦点过程RichTextBox1_LostFocus

  特殊情况下,如果文件改动后直接关闭主窗口,将会造成修改不被保存的情况。此时应加入判断,如果有文件被修改(Mark2=1),则先将修改过的文件临时保存,再询问用户是否需要保存(Call RTBA_LF00),最后再关闭程序。过程代码如图9所示。

  
  图 9 关闭主程序过程Form1_Unload

  4 问题与结论
  为了节省篇幅,突出重点,以上只是简单介绍了程序的基本功能。如果达到实用的程度,还需要加入更多的代码。例如,当窗体有多个可执行控件时(本例只选了一个File1),单击任何一个控件都会引起RichTextBox1控件LostFocus事件的发生。由于失去焦点事件发生在先,因此最后一次点击时,窗体可能不会出现预期的变化,不符合传统的操作习惯。如果要求窗体对最后一次点击做出反应,则应当在RichTextBox1的LostFocus过程中加入更多的代码,判断最后一次点击的是哪一个控件(如C = Me.ActiveControl.Name),并编写代码,引发相应的动作。另外,当使用RichTextBox控件进行保存操作时,如果文件具有只读属性,则保存操作会失败。因此在保存前,应先判断文件的属性,并采取相应的措施,以保证操作的正确。
  保存修改后的文件是许多编辑软件最基本的功能,其过程看似简单,实际上具有一定的难度。初学者通过本例,可以学到一些编程的基本技巧,在实践中加以运用和发挥,达到触类旁通、举一反三的效果。

上一页  [1] [2] 

责任编辑:小草

文章搜索:
 相关文章
热点资讯
资讯快报
热门课程培训