控件在应用程序的应用

翻译|其它|编辑:郝浩|2007-08-20 10:26:36.000|阅读 740 次

概述:

# 界面/图表报表/文档/IDE等千款热门软控件火热销售中 >>

 在窗口中添加控件 

一个成功的应用程序离不开漂亮的界面。本章主要谈谈  Windows  内置的控件在应用程序中的应用,包括如何声明变量并把它们和控件相关联;如何在控件和变量的值之间保持同步;如何使用控件对象  ID  来检索控件对象,从而操纵控件,以及如何把控件作为窗口来处理;还有如何指定应用程序窗口中控件选项卡的顺序,从而控制用户在窗口中切换应用程序的顺序。

Windows  操作系统内置有多种标准控件,包括滑块、目录树和列表控件、进度栏等等,本讲暂时讨论几个常用的控件,如:Static Text(静态文本)Edit Box(编辑框)Command Button(命令按钮)Check Box(复选框)Radio Button(单选按扭)Drop-Down List Box(下拉列表框)。这些控件和其他的控件都可用于  Visual C++应用程序中,可以在  VC  开发环境内  Dialog Painter  编辑器中的控件面板中找到。

在向应用程序增加控件时,应按照要求庙宇其相应的属性,如  ID  及其它可见属性、摆放位置等等。当所有控件的位置及属性设置完毕后,应根据需要设置各控件的选项卡顺序。可先选择一个控件,从菜单中选择  Layout | Tab Order  命令。打开  Tab Order  后,可看到每个控件的旁边有一个数字。这些数字代表在对话框中切换的顺序,您可以按照希望的切换顺序用鼠标单击各数字框,控件将按指定的顺序重新编号,指定标签顺序后,再次选中  Layout | Tab Order,返回布局编辑器。

助记符:助记符是按钮、复选框、菜单等的标题或其他控件标签中带下划线的字符。用户可以同时按下该字符和Alt键,直接切换到相应的控件或触发控件中被单击的事件。要设定助记符,可以在设置标题的值时在用作助记符的字符前加上符号&。在同一个窗口或菜单组中助记符只能使用一次,因此在接触应用程序代码细节问题之前,应检查助记符是否有冲突。可在布局编辑器中选反对话框窗口或一个控件,单击鼠标右键,选中  Check Mnemonics(检查助记符),如果助记符没有冲突,Visual C++会返回一个消息对话框,显示不存在冲突,如果存在冲突,则对话框会指出冲突的字母,并显示自动挑选出包含冲突助记符的控件的选项。

把控件与变量关联

在开始编码之前,除了静态文本和命令按之外,必须给每个控件指定变量,并附加一个值。在为应用程序编写代码时您将和这些变量进行交互。用户输入屏幕控件中的值将赋予这些变量,这些变量将用于应用程序代码中。同时地,应用程序赋予这些变量的任何值都将在用户看到的窗口控件在得到更新。如何声明这些变量并把它们和放入窗口中的控件相关连呢?我们可以用  VC  提供  Class Wizard  工具,在  Class Wizard  中选反  Member Variables(成员变量)选项卡,如下图所示:

选择一个需要与变量相关连的控件的  ID,单击  Add Variable(添加变量)按钮,在  Add Variable  对话框中输入变量名,指定  Category(类别)  Variable type(变量类型),单击  OK  按钮。在输入变量名时,应遵从  MFC  命名约定,遵从该命名约定可使其他程序员读懂您的程序代码;了解该命名约定也使您阅读其他编程人员编制的代码时更容易一些。

把功能与控件相关联

设置完所有控件的位置、属性、选项顺序、变量后,接下来应该怎样把功能与控件相关联呢?如:怎样检索要操作的控件对象,从而操纵控件,怎样在控件和变量的值之间保持同步,以及如何把控件作为窗口来处理等。当要操纵某些控件时,应该先检索该控件对象,在  VC  中我可以用  GetDlgItem()函数来检索控件对象,如  GetDlgItem(IDC_MSG) -> EnableWindow(TRUE);,其参数  IDC_MSG  是控件的  ID  值,指要操作的控件的  ID,控件的操作事件是调用  EnableEindow(),使其可用。第二个调用的函数  EnableWindow  似乎应该用于窗口中,而不是控件中。确实如此;不过它们恰好是  CWnd  类的成员,而  CWnd  类是  CDialog  类的祖先类,CDay2Dlg  (示例程序的对话框类)就是由  CDialog  类继承而来。而在  Windows  中,所有控年本身就是窗口,且完全独立于它们所在的窗口。这样,可以像处理窗口一样处理控件,并在其中调用窗口函数。实际上,所有的控件类都是继承自  CWnd  类,这说明控件类的本质就是窗口。在应用程序中最关键是控件和变量的值保持同步,我们可以用  UpdateData  函数来完成。UpdateData  函数是  Visual C++中处理控年变量的关键函数。由这个函数获得变量值并用这些变量值更新屏幕上的控件。它还从控件那里获得数据,并把用户更改后值赋予变量。这个过程由传递给  UpdateData  函数的参数来控制。如果参数值是  FALSE,变量值将被传递给窗口控件。如果参数值是  TRUE,将用窗口内控件中出现的值更新变量。这样传给该函数的值依赖于需要更新的方向。当代码中一个以上的变量被更新之后,必须调用函  UpdateData,把值为  FALSE  的参数传给它。如果需要查看变量以获取其当前值,由必须在查看变量之前用值  TRUE  调用  UpdateData  函数。当需要向应用程序添加更多的代码时,应把此函数挂起。

总结(个人观点)

任何应用程序都是通过控件和用户输入、输出的交换操作,熟悉控件的各方面编程,是进行复杂编程的基础,除以上介绍控件之外,VC  还提供很多控件供用户使用,在此不能一一详解。本章附带的一示例程序,对本章所讲的内容进行应用,具体函数详解见附带的说明。


标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@evget.com

文章转载自:csdn

为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP