当前位置:松语文学 > 其他类型 >VC++_6.0程序设计从入门到精通最新章节 > VC++_6.0程序设计从入门到精通TXT下载
错误举报

第 17 章

  个内容与IDD_DIALOG1 一样的资源。

  枫叶文学网www.fywxw.com

  第4 章 对话框

  ·63·

  图4-3 对话框编辑器界面

  2.修改对话框属xìng

  为Sample4_1 添加新的对话框后,该对话框的属xìng都是由IDE 设置的默认值,因此第二

  步应当修改对话框的属xìng。将鼠标光标移动到对话框编辑器中需要编辑的对话框上,然后单

  击鼠标右键打开弹出式菜单,选择“Properties”属xìng,打开“Dialog Properties”对话框,如

  图4-4 所示。

  图4-4 对话框属xìng编辑对话框

  对如图4-3 所示对话框的属xìng进行如下修改:

  (1)修改对话框ID,在“ID”输入框中输入“IDD_LOGINDIALOG”。

  (2)修改对话框标题,在“Caption”输入框中输入“登录对话框”。

  (3)为了在中文系统下的美观,修改对话框字体。单击“Font”按钮,弹出“Select Dialog

  Font”对话框,在“Font”列表框中选择字体为“宋体”,在“Size”列表框中设置字号为10,

  单击“OK”确认退出“Select Dialog Font”对话框。

  (4)修改完成后,回车确认修改并退出“Dialog Properties”对话框。

  枫叶文学网www.fywxw.com

  Visual C++ 6.0 程序设计从入门到精通

  ·64·

  3.在对话框中添加控件

  依据实例要求,确认和取消按钮已经默认添加好了,只需要添加用户名和密码两个输入

  框,并添加相应的说明。具体步骤如下:

  (1)在对话框中添加一个静态文本框(Static Text)。在如图4-3 所示的客户区右侧浮动

  的Control 工具栏中的“Static Text”控件按钮上单击,然后在对话框资源中按下鼠标左键拖

  动,出现一个矩形框,松开鼠标左键,则在对话框资源中出现了一个“Static Text”控件。

  另外,添加控件还可以利用鼠标将Control 工具栏中的控件直接拖到对话框资源中。单

  击对话框资源中的控件后,控件周围会出现一个虚线框,表示当前选中该控件。在控件中央

  按下鼠标左键不放可以将控件拖动到指定位置,在虚线框上按下鼠标左键不放并拖动,可以

  调整控件的大小。按Delete 键可以删除当前选中的控件。通过这些cāo作将添加的“Static Text”

  控件的位置和大小调整到如图4-5 中标题为“用户名:”的静态文本框控件所示位置和大小。

  图4-5 在登录对话框中添加一个静态文本框

  此时添加的“Static Text”控件,显示“Static”的字样。接着将鼠标移动到该控件上,

  单击鼠标右键,在弹出菜单中选择“Properties”,打开控件的属xìng编辑对话框,修改标题(在

  Caption 输入框中)为“用户名:”,如图4-6 所示。

  图4-6 修改静态文本框的属xìng

  (2)在对话框中添加输入框(Edit Box),添加过程与步骤(1)相同,但应当在Control

  工具栏中选择“Edit Box”控件的图标,将该控件调整到与如图4-7 所示虚线框选中的控件一

  致。

  图4-7 在登录对话框中添加一个输入框

  枫叶文学网www.fywxw.com

  第4 章 对话框

  ·65·

  打开控件属xìng编辑对话框,在ID 输入框中将输入框的ID 改为IDC_LOGINNAME,如

  图4-8 所示。

  图4-8 修改输入框的属xìng

  (3)用步骤(1)的方法添加一个标题为“密码:”的静态文本框。

  (4)用步骤(2)的方法添加一个ID 为IDC_PASSWORD 的输入框作为密码输入框,注

  意修改输入框的属xìng为密码框。

  技巧:(1)在对话框编辑界面下,可以选定一个或通过按住Ctrl 键不放用鼠标左键单击选定多个

  控件,在对话框中复制并粘贴,可以添加与原来控件外观一样的新控件。

  (2)输入框用作输入密码时,需要保证输入的字符不被回显在输入框中以防止密码被窃取,

  这需要设置输入框属xìng为密码输入框。将鼠标移动到输入框控件上,单击鼠标左键,打开

  属xìng编辑对话框,单击“Styles”选项卡,选中“Password”复选框(如图4-9 所示)。选

  中此复选框后,输入框会自动将输入的字符回显为“*”。

  图4-9 设置输入框的密码属xìng

  (5)打开“OK”和“Cancel”按钮的属xìng编辑对话框,在“Caption”输入框中将标题分

  别改为“确认”和“取消”,并调整两个按钮的位置和对话框的大小,得到如图4-10 所示的

  登录对话框。

  图4-10 设置好界面的登录对话框

  (6)设置对话框中各种控件的响应顺序,即运行时按下Tab 键,输入焦点从一个控件切

  换到另一个控件的顺序。

  枫叶文学网www.fywxw.com

  Visual C++ 6.0 程序设计从入门到精通

  ·66·

  在对话框编辑界面中,可以通过选择主菜单“Layout|Tab Order”或者按快捷键Ctrl+D,

  进入tab 顺序的设置界面,此时对话框资源编辑器的客户区如图4-11 所示。

  图4-11 设置登录对话框的响应顺序

  如图4-11 所示,每个控件左上角的数字就是它的响应顺序。标明数字1 的“确认”按钮

  控件表示对话框打开时输入焦点最初的位置。然后按下Tab 键,输入焦点转移到标明数字2

  的“取消”按钮。再按下Tab 键,输入焦点转移到标明数字3 的“用户名:”静态文本框,由

  于静态文本框不接受输入,因此输入焦点自动转移到标明数字4 的输入框。其他数字以此类

  推。

  设置Tab 顺序是通过按所需的顺序依次单击各个控件完成,如进入如图4-11 所示的界面

  后,依次单击“用户名”输入框,“用户名”静态文本框,“密码”输入框,“密码”静态文本

  框,“确认”按钮和“取消”按钮,就可设置成如图4-12 所示的程序。

  最后按ESC 键,就可以确认修改并退出设置界面。

  图4-12 比较合理的登录对话框的tab 顺序

  技巧:调用CWinApp::SetDialogBkColor()可以改变对话框的背景颜色和文本颜色。该函数一般在

  应用程序类的InitInstance 函数中调用,设置应用程序中对话框与消息对话框的默认背景颜

  色和文本颜色。例如:

  BOOL CMyApp::InitInstance()

  {

  // Standard initialization

  ……

  //将对话框背景颜色设置为黄色(第一个参数)

  //将对话框文本颜色设置为蓝色(第二个参数)

  枫叶文学网www.fywxw.com

  第4 章 对话框

  ·67·

  SetDialogBkColor(RGB(255,255,0),RGB(0,0,255));

  //装入标准的INI 文件设置(包括MRU)

  LoadStdProfileSettings();

  ……

  }

  4.1.3 创建对话框类

  创建对话框的第二步是创建对话框类,即创建一个CDialog 类的派生类与新建的对话框

  资源关联。对话框类CDialog 提供了访问控件属xìng,以及响应控件和对话框自身消息的功能。

  1.创建对话框类

  创建与关联的对话框类的派生类的过程如下:

  (1)在IDE 主菜单栏中依次选择菜单“View|ClassWizard”,或者在开发环境的界面中直

  接使用快捷键Ctrl+W,打开“ClassWizard”对话框。同时系统会检测到添加了新的对话框资

  源,并自动打开如图4-13 所示的对话框,提示用户是否为新建的对话框添加一个对话框类。

  (2)在如图4-13 所示的对话框中,选中“Create a new class”单选项,为对话框资源创

  建一个新的类,单击“OK”按钮确认后打开如图4-14 所示的“New Class”对话框。

  图4-13 提示用户为新添加的对话框创建一个对话框类 图4-14 创建新类的对话框

  (3)在“New Class”对话框中,为4.1.2 节中创建的实例Sample4_1 的登录对话框创建

  新的类。

  ? 在“Ncom”输入框中输入“CLoginDialog”,表明新建类的名称为CLoginDialog。

  ? 此时“File ncom”输入框中的内容自动设置为“LoginDialog.cpp”,表明类的源文件为

  LoginDialog.cpp。

  ? 在“Base class”下拉列表框中选择“CDialog”,表明CLoginDialog 类的基类为CDialog。

  ? 在“Dialog ID”下拉列表框中选择IDD_LOGINDIALOG,表明CLoginDialog 关联的

  对话框资源为IDD_LOGINDIALOG。

  ? 单击“OK”按钮后,关闭New Class 对话框,返回ClassWizard 对话框,同时ClassWizard

  枫叶文学网www.fywxw.com

  Visual C++ 6.0 程序设计从入门到精通

  ·68·

  为登录对话框创建了一个新的类CLoginDialog。

  2.为对话框类添加控件成员变量

  在返回的ClassWizard 对话框中单击“Member Variables”选项卡进入如图4-15 所示的编

  辑对话框控件成员变量的界面。这个界面用于设置为控件关联变量,使得在程序中通过这些

  变量可以访问控件的属xìng。

  介绍该界面中的主要内容如下。

  ? Project 下拉列表框:选择需要编辑的工程名。

  ? Class ncom 下拉列表框:选择需要编辑的类名。

  ? Control IDs 列表框:列出对话框的控件及其对应的控件成员变量信息。其中有3 列,

  “Control IDs”列给出对话框的控件ID,“Type”列给出控件变量的类型,“Member”

  列给出控件变量的名称。选定某个控件,还可以编辑该控件对应的变量。

  ? Add Class 按钮:添加新类。

  ? Add Variable 按钮:为选定的控件添加变量。

  ? Delete Variable 按钮:为选定的控件删除原来的变量。

  ? Update Columns 和Bind All 按钮:跟数据库有关,这里不作介绍。

  图4-15 ClassWizard 编辑对话框控件成员变量的界面

  在如图4-15 所示的“Project”下拉列表框中已经默认选择Sample4_1,在“Class ncom”

  下拉列表框中选择CLoginDialog,从Control IDs 列表框中可以看到登录对话框中有4 个控件,

  IDC_LOGINNAME、IDC_PASSWORD、IDCANCEL 和IDOK。需要获得用户输入的用户名

  和密码,因此需要为IDC_LOGINNAME 和IDC_PASSWORD 添加两个变量。步

  松语文学免费小说阅读_www.16sy.com