C++登录对话框编写步骤.ppt_第1页
C++登录对话框编写步骤.ppt_第2页
C++登录对话框编写步骤.ppt_第3页
C++登录对话框编写步骤.ppt_第4页
C++登录对话框编写步骤.ppt_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、预备知识,C+与VC+ 基于控制台的应用程序(C+) Windows应用程序的开发 MFC应用程序设计,Windows编程特点,1消息驱动机制 基于Windows程序和基于控制台应用程序之间的一个最根本区别,就在于控制台应用程序是通过调用系统的函数来获得用户输入的,而Windows程序则是通过系统发送的消息来处理用户输入的。 在Windows操作环境中,无论是系统产生的动作或是用户运行应用程序产生的动作,都称为事件(Events)产生的消息(Message)。例如,在Windows 桌面(传统风格)上,双击应用程序的快捷图标,系统就会执行该应用程序。在Windows的应用程序中,也是通过接收消

2、息、分发消息、处理消息来和用户进行交互的。这种消息驱动的机制是Windows编程的最大特点。,2图形设备接口(GDI) 在控制台应用程序中,想要在屏幕或打印机上显示或打印一幅图形是一件非常复杂的事件,因为用户必须按照屏幕分辨率模式以及专用绘图函数库调用相应的函数在屏幕上绘图,或根据打印机类型或指令规则向打印机输送数据。而Windows提供了一个抽象的接口,称为图形设备接口(Graphical Device Interface,GDI),使得用户直接利用系统的GDI函数就能方便地实现图形和文本的输出,而不必关心与系统相连的外部设备的类型。,3基于资源的程序设计 Windows应用程序常常包含众多

3、图形元素,例如光标、菜单、工具栏、位图、对话框等。每一个这样的资源都用相应的标识符来区分,而且Windows内部也有预定义的资源,例如在Ex_HelloWin中,LoadIcon和LoadCursor函数将系统内部的IDI_APPLICATION(应用程序图标)和IDC_ARROW(箭头光标)作为创建窗口的窗口图标和鼠标指针。,4动态链接库 动态链接库提供了一些特定结构的函数,能被应用程序在运行过程中装入和连接,且多个程序可以共享同一个动态链接库,这样就可以大大节省内存和磁盘空间。 Windows提供了丰富的应用程序可调用的函数,大多数用于实现其用户界面和在屏幕显示的文本和图形,都是通过动态链

4、接库来实现的。这些动态链接库是一些具有DLL扩展名或者有时是EXE扩展名的文件。,任务1、登录窗口的代码实现,登录窗口的代码实现,1、创建“登录”对话框 2、设置“登录”对话框类和变量 3、编写“登录”对话框代码,第一部分 应 用 实 践,3.1 创建“登录”对话框 3.1.1 生成默认对话框工程 1进入VC+ 安装Microsoft Visual Studio 6.0 后,在开始菜单中单击Microsoft Visual Studio 6.0子菜单下的Microsoft Visual C+ 6.0,即可打开VC+ 6.0编程平台,如图3.2所示。,图3.2 打开VC+ 6.0,3.1.1 生

5、成默认对话框工程,编程平台由图3.3所示的各类交互元素组成,其中菜单包含各种编程设计命令,工具栏包括一些命令的快捷按钮和各种导航按钮、搜索框等,视图显示区(项目工作区窗口)将会在建立工程后显示编程视图,程序文本、界面编辑区是主要的工作场所,进行程序的录入和界面的设计。,图3.3 VC+ 6.0 编程平台,3.1.1 生成默认对话框工程,2建立管理系统工程 选择“文件”“新建”菜单,在弹出的“新建”对话框中选择“工程”(Project)标签,这时显示出一系列的应用程序项目类型;选择MFC AppWizard (exe)的项目类型(该类型用于创建可执行的Windows应用程序即MFC应用程序,不同

6、于控制台方式的“Win32 Console Application”),并在“工程”(Project)中输入项目名XSCJTEST(为与后文叙述一致,请读者在编程时尽量使用本书定义的名称),在“位置”(Location)处选择或输入工程保存的位置,如图3.4所示。,图3.4 MFC AppWizard的“新建”对话框,3.1.1 生成默认对话框工程,单击“确定”按钮,出现如图3.5所示的MFC AppWizard - Step1对话框。,图3.5 “Step 1”对话框,3.1.1 生成默认对话框工程,3选择应用程序类型 系统显示下列单选钮:S单个文档(Single Document)、M多重

7、文档(Multiple Document)和D基本对话(Dialog based)。 为了建立只有一个“登录”对话框的测试程序,选择“D基本对话”。 保留其他的默认选项,单击“完成”按钮,系统出现一个对话框,显示用户在前面步骤中做出的选择,单击“确定”按钮。系统生成默认的基于对话框的对话框应用程序项目,并且进入VC+工程开发环境。此时默认打开“登录”对话框工程XSCJTEST。,3.1.1 生成默认对话框工程,4工程开发环境 VC+基于对话框的工程开发环境如图3.6所示。,图3.6 基于对话框的工程,3.1.2 添加“登录”对话框,1修改“登录”对话框 保留VC默认生成的对话框资源IDD_XS

8、CJTEST_DIALOG不变。如图3.10所示,右键单击Dialog,选择Insert Dialog,添加一个新的对话框。,图3.10 插入新对话框,3.1.2 添加“登录”对话框,右键单击右边对话框编辑窗口中刚建立的对话框,选择属性,弹出如图3.11所示的窗口。 将对话框标识符改成IDD_LOGIN(在MFC程序中,命名方法要完全遵循C/C+语言的命名规则); 将对话框标题改为“登录学生成绩管理系统”。,图3.11 修改对话框属性,3.1.2 添加“登录”对话框,单击“字体”按钮,通过弹出的字体对话框将对话框内的文本设置成“宋体,9”,以使自己的对话框和Windows操作系统中的对话框保持

9、外观上的一致,完成后对话框如图3.12所示。,图3.12 对话框属性修改后的部分界面,3.1.2 添加“登录”对话框,2为“登录”对话框添加控件 对话框编辑器最初打开时,控件工具栏是随之出现的,利用此工具栏中各个按钮,可以顺利完成控件的添加。图3.13说明了各个图标按钮所对应的控件类型。,图3.13 控件工具栏和各按钮含义,3.1.2 添加“登录”对话框,如图3.14所示,拖放2个静态文本控件、2个图片控件和2个编辑框控件到对话框上,保留系统自动生成的“确定”和“取消”按钮,或者自己重新添加2个新的按钮。,图3.14 在对话框上添加控件,3.1.2 添加“登录”对话框,如图3.15所示,右击V

10、C资源视图中的XSCJTEST Resources,选择import,选择“文件类型”为所有文件,导入一个bmp格式的图片,VC自动将其命名为IDB_BITMAP1,并保存在资源视图的Bitmap分类下。,图3.15 import命令导入图片文件,3.1.2 添加“登录”对话框,设置左上方图片控件的属性,将General选项卡中的Type设为BITMAP,Image设为IDB_BITMAP1,如图3.16(a)所示,之后图片控件将会显示此图片。 对另一个图片控件则拉成细条状,如图3.16(b)设置属性,将General选项卡中的Type设为Frame,并勾选Extended Styles选项卡

11、中的Static Edge项,调整粗细长度作为分隔条。,(a)显示图片的图片控件属性 (b)用做分割条的图片控件,3.1.2 添加“登录”对话框,分别右键单击控件,在弹出的属性对话框中,对2个静态文本控件和2个按钮分别命名,即在Caption一栏分别填入标题“用户名”、“密码”、“确认( / 将“用户名”和“密码”编辑框控件的值分别传给字符串变量c_user和c_password / 这里m_user和 m_password均为Control类型的变量 m_user.GetWindowText(c_user);/ GetWindowText()函数 m_password.GetWindowTe

12、xt(c_password); if (c_user.IsEmpty() | c_password.IsEmpty() / 用IsEmpty函数判断用户名和密码字符串是否为空 MessageBox(用户名或密码不能为空, 用户登录信息); /*MessageBox也是对话框的一种,即消息对话框,与通用对话框相对,可用来提示错误等各种 信息或用于测试目的*/ return; if (c_user=“123” ,3.3 编写“登录”对话框代码,(2)现在运行并不能弹出“登录”窗口,而是弹出建立对话框应用程序时默认生成的主对话框IDD_XSCJTEST_DIALOG,即VC由默认代码初始化这个对话框

13、类。切换到ClassView,双击CXSCJTESTApp下的InitInstance,打开InitInstance函数,这是程序启动的入口。 在文件开头处添加头文件包含代码: #include DlgLogin.h 找到其中的代码: CXSCJTESTDlg dlg; 将主对话框类CXSCJTESTDlg修改为自己定义的对话框类CDlgLogin,其他代码保持默认: CDlgLogin dlg;/ 改为初始化自定义的类CDlgLogin,即可默认弹出“登录”对话框 m_pMainWnd = / 使用DoModal表示实例化模式对话框 if (nResponse = IDOK)/ 判断返回值(程序运行时按下的按钮对应的常量值)

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论