0
点赞
收藏
分享

微信扫一扫

超级全面的100个思维导图模板

蚁族的乐土 2023-06-06 阅读 62
mfc

概念

与用户进行交互的窗口,它的顶级父类为CWND,对话框上面可以有各种控件,控件也是继承自CWND

基本控件功能对应的类
静态文本框显示文本,一般不能接收输入信息CStatic
图像控件显示图标、方框、和图元文件CStatic
编辑器编辑正文Cedit
复选框Cbutton
单选框只能选择一项Cbutton
滚动条Cscrollbar

实战

1.新建项目-->对话框,项目名称--->MFCapplication1

2右键Dialog====>选择插入Dialog==>新插入了IDD_DIALOG1,查看它的属性ID,并记住它

3.右键-->添加MFC类--->Cbingodialog---->这样在解决资源方案管理器里就有了这样一个头文件

头文件里面有Cbingodialog这个类

4.资源视图-->MFCapplication1.rc---->Dialog----->IDD_MFCAPPLICATION1_DIALOG--->点击确定按钮

4.添加模态对话框,模态对话框就是最顶部的窗口,必须关闭它才能操作其他窗口

5.在确定按钮里添加模态对话框代码

void CMFCApplication1Dlg::OnBnClickedOk()
{
    CbingoDialog dlg;
    dlg.DoModal();
}

6.生成非模态对话框

首先声明一个全局变量,为什么声明一个全局变量呢,因为showwindow函数不会阻塞在这里,会一直执行下去,当指向到末尾时,dlg如果为局部变量,就会被销毁,这样,这个窗口就会被销毁,得不到我们想要的结果,而模态的DOmodul会阻塞在那里,所以dlg可以设置为局部变量

CbingoDialog dlg;
void CMFCApplication1Dlg::OnBnClickedOk()
{ 
	dlg.ShowWindow(SW_SHOW);
}

运行后,报了一个错误,错误定位在这里

 我们将鼠标移到m_hwnd上面,发现它的值为null,所以我们要在初始化的时候,将它创建

dlg.Create(IDD_DIALOG1, this);

这样就创建了一个非模态对话框 

用法

模态对话框主要是对话框如果会改变本体的属性,就用模态,比如调整主体窗口的颜色、字体样式,因为这时候必须先改变保存才能退出,而非模态一般用作帮助按钮、输出窗口、展示窗口这些

举报

相关推荐

Spring思维导图

jaweb思维导图

思维导图-JVM

Pandas思维导图

思维导图-Spring

lucene思维导图

XMind思维导图

0 条评论