紫影龙的编程日记 —— 界面设计之对话框

今天是我学习VC++开发的第八天,我主要学习的内容是界面设计中的对话框部分。
首先我们来认识一下什么是对话框~

对话框是一种窗口,包含按钮和各种选项,通过它们可以完成特定命令或任务。对话框也是人机交流的一种方式,用户对对话框进行设置,计算机就会执行相应的命令。

模式对话框的创建与使用

#include "MyDlg.h"  //必须包含该对话框类的头文件才可以创建与使用该对话框
void Sample()
{
    CMyDlg  pDlg;   //定义对话框类的对象
    pDlg.DoModal(); //显示模式对话框
}

非模式对话框的创建与使用

#include "MyDlg.h"  //必须包含该对话框类的头文件才可以创建与使用该对话框
void Sample()
{
    CMyDlg * pDlg = new CMyDlg();               //创建对象并调用构造函数 () 可以省略
             pDlg->Create(IDD_DIALOG,this);     //创建非模式对话框
             pDlg->ShowWindow(SW_SHOW);         //显示非模式对话框
}

模式对话框的销毁
模式对话框的销毁很简单,只需要调用父类 (CDialog) 的 OnOK() 或者OnCancel() 方法就可以销毁啦。

void Sample()
{
    CDialog::OnOK(); 
}

非模式对话框的销毁
非模式对话框的销毁就复杂一些了,我们需要先调用父类的 DestoryWindow() 方法销毁非模式对话框,之后使用 delete 关键字释放通过new关键字分配的内存。

void Sample()
{
    pDlg->DestoryWindow(); //销毁非模式对话框
    delete pDlg;           //释放内存 若不释放,则会发生内存泄露
}

我们来实际操练一下吧~
首先,我们对对话框资源点击右键,选择 Insert Dialog 插入一个对话框

这里写图片描述

然后我们对我们新建好的对话框右键,选择 Properties 打开它的属性,将他的 ID 改成 IDC_LOGIN
这里写图片描述

这里写图片描述

然后我们对着这个对话框点击右键,选择 Properties 打开它的属性 (也可以通过快捷键 Alt + 回车 打开)
这里写图片描述

我们将对话框的标题 (Caption) 改成 登陆系统
这里写图片描述

再用同样的方法分别把2个按钮控件的标题改成 登陆和退出
这里写图片描述

然后呢,我们再从控件面板上拖出2个静态文本控件和2个编辑框控件
把2个静态文本控件的标题改成 用户 和 密码
然后把2个编辑框控件的 ID 改成 IDC_USER 和 IDC_PASSWORD

这里写图片描述

这样子我们对话框的大致样子也就出来啦,接下来我们需要为我们的对话框新建一个对话框类
双击我们的对话框,类向导将会询问你,该对话框还没有关联一个对话框类,需要创建一个新的对话框类还是选择一个已有的类关联该对话框
这里写图片描述

我们新建一个 CLogin 类
这里写图片描述

点击确定之后,我们的对话框就和CLogin类关联上啦~

做好登陆对话框之后呢,我们需要在进入主窗体之前先弹出登陆窗口,那么应该怎么做呢?
首先我们把 CLogin 类的头文件复制到主窗体的源文件中
这里写图片描述

然后我们在主窗体的 OnInitDialog() 方法里加上登陆窗口的调用代码
这里写图片描述

这样子就可以在主界面之前弹出我们的登陆界面啦~
编译之后执行。

这里写图片描述

好了,就先到这里吧。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值