dialog对话框初始化 mfc_「弹出对话框」MFC系列 - 弹出一个模态对话框 - seo实验室...

本文介绍了如何在MFC程序中弹出一个模态对话框,从添加对话框资源开始,详细讲解了修改InitInstance函数、自定义对话框类、设置对话框标题和图标等步骤,帮助读者理解并实现对话框的初始化和控制。
摘要由CSDN通过智能技术生成

弹出对话框

上一节,说到第一个MFC程序,这一节我们从第一个FirstMFC来延伸弹一个对话框,Initinstance函数相当于main函数,那我们就从这里开始。【更多精彩教程,视频教学、源码分享请加入qq群:569268376】

首先添加一个对话框资源:

修改一下对话框的资源ID:IDD_MAIN_DLG,最好改一下资源ID名称,养成好的编程习惯。添加资源就会多生成两个文件:resource.h和HelloMFC.rc文件

在InitInstance函数中修改一下,添加弹出对话框的代码,DoModal就是弹一个模态对话框

#include

#include"resource.h"

classCHellMFCAPP : publicCWinApp

{

public:

virtualBOOLInitInstance()

{

CDialogdlg(IDD_MAIN_DLG);

dlg.DoModal();

returnTRUE;

}

};

CHellMFCApp theApp;

注意要包含头文件:resource.h否则,编译不通过,编译运行效果出来了。

点击对话框模板,右键=》属性,会弹出属性面板:

给对话框添加自己的标题、最小化、最大化系统菜单

如下效果:

但是此时的对话框,你是无法想要实现你的操作的,比如响应一些windows常用消息。如果要实现必须给对话框添加自己CDialog的子类,这个时候才能截获消息自己来处理。

注意:基类要写CDialog

这里要给CMainDlg的父类对象进行构造

因为现在IDD_MAIN_DLG是定义在resource.h中的,所以要包含头文件。修改一下InitInstance函数:

virtualBOOLInitInstance()

{

CMainDlgdlg;

dlg.DoModal();

returnTRUE;

}

重现编译一下,对话框又出来了,这个时候可以在CMainDlg中控制窗口,想干什么就干什么。

OnInitDialog函数是什么呢?他是对话框的初始化函数,在对话框还没有启动的时候响应,这是我们来设置它的窗口标题:

BOOLCMainDlg::OnInitDialog()

{

CDialog::OnInitDialog();

SetWindowText(L"我是帅哥");

returnTRUE; // return TRUE unless you set the focus to acontrol

// 异常: OCX 属性页应返回 FALSE

}

设置对话框的图标,就是左上角图标,首先还得准备一个图标.ico后缀的文件(或者PS一个),拷贝到项目目录下面,习惯再此新建一个文件夹res

这时候再来添加图标资源:

资源有了之后,接下来加载图标资源,在CMainDlg中添加一个成员变量:HICON m_hIcon; 即图标句柄,再到构造函数中加载图标:

CMainDlg::CMainDlg() :CDialog(IDD_MAIN_DLG)

{

m_hIcon = ::LoadIcon(AfxGetInstancehandle(), MAKEINTRESOURCE(IDI_ICON1));

}

再到OnInitDialog中设置图标:

BOOLCMainDlg::OnInitDialog()

{

CDialog::OnInitDialog();

SetWindowText(L"我是帅哥");

更多精彩教程,视频教学、源码分享请加入QQ群:569268376

SetIcon(m_hIcon,TRUE);

SetIcon(m_hIcon,FALSE);

returnTRUE;

}

好了,这就完成了

更多精彩教程,源码分享请加入QQ群:569268376

相关阅读

最近学习下ActiveX的开发,网上找了好多东西,现在把开发过程记录下来以备以后使用。1.新建工程2.一直点击下一步,直到出现一下界面,注

一 layer.alert

效果图:

代码:

//取消提现

function back(id) {

layer.alert('真的要取消吗', {

skin: 'layui-la

Xshell 缺少 mfc110.dll

原创 2016年03月04日

20:51:49

6609

xshell  应用程序无法正常启动0xc000007b    下载 DirectX修

116651人看了这个视频

返回

暂停

重播

播放

x

为您找到与问题匹配度100%的视频

播放列表

2.

3.

4.

5.

6.

7.

8.

9.

今天遇到了个头疼的问题打开个软件始终提示mfc100u.dll丢失,下面就教大家怎么解决这个烦人的问题!1、问题症状打开软件提示mfc100u.

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值