VS MFC Dlg
鸡啄米教程
模态Dlg
非模态Dlg
一般属性页:
void CAdditionDlg::OnBnClickedInstructButton()
{// 创建属性表对象 CAddSheet sheet(_T("使用说明")); // 打开模态一般属性页对话框 sheet.DoModal();
}
向导Dlg:
CAddSheet::CAddSheet(UINT nIDCaption, CWnd* pParentWnd, UINT iSelectPage):CPropertySheet(nIDCaption, pParentWnd, iSelectPage)
{ // 添加三个属性页到属性表 AddPage(&m_summandPage); AddPage(&m_addendPage); AddPage(&m_addPage);
} void CAdditionDlg::OnBnClickedInstructButton()
{ // TODO: Add your control notification handler code here // 创建属性表对象 CAddSheet sheet(_T("")); // 设置属性对话框为向导对话框 sheet.SetWizardMode(); // 打开模态向导对话框 sheet.DoModal();
}
消息提示Dlg:
void CAdditionDlg::OnBnClickedAddButton()
{INT_PTR nRes=MessageBox(_T("您确定要进行加法计算吗?"), _T("加法计算器"), MB_OKCANCEL | MB_ICONQUESTION);
}
打开文件Dlg:
void CFileopenDlg::OnBnClickedOpenButton()
{// 设置过滤器 TCHAR szFilter[] = _T("文本文件(*.txt)|*.txt|所有文件(*.*)|*.*||"); // 构造打开文件对话框 CFileDialog fileDlg(TRUE, _T("txt"), NULL, 0, szFilter, this); CString strFilePath; // 显示打开文件对话框 if (IDOK == fileDlg.DoModal()) { // 如果点击了文件对话框上的“打开”按钮,则将选择的文件路径显示到编辑框里 strFilePath = fileDlg.GetPathName(); SetDlgItemText(IDC_OPEN_EDIT, strFilePath); }
}
打开文件Dlg:
void CExample17Dlg::OnBnClickedSaveButton()
{ // 设置过滤器 TCHAR szFilter[] = _T("文本文件(*.txt)|*.txt|Word文件(*.doc)|*.doc|所有文件(*.*)|*.*||"); // 构造保存文件对话框 CFileDialog fileDlg(FALSE, _T("doc"), _T("my"), OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT, szFilter, this); CString strFilePath; // 显示保存文件对话框 if (IDOK == fileDlg.DoModal()) { // 如果点击了文件对话框上的“保存”按钮,则将选择的文件路径显示到编辑框里 strFilePath = fileDlg.GetPathName(); SetDlgItemText(IDC_SAVE_EDIT, strFilePath); }
}
字体Dlg:
void CExample18Dlg::OnBnClickedFontButton()
{CString strFontName; // 字体名称 LOGFONT lf; // LOGFONT变量 // 将lf所有字节清零 memset(&lf, 0, sizeof(LOGFONT)); // 将lf中的元素字体名设为“宋体” _tcscpy_s(lf.lfFaceName, LF_FACESIZE, _T("宋体")); // 构造字体对话框,初始选择字体名为“宋体” CFontDialog fontDlg(&lf); if (IDOK == fontDlg.DoModal()) // 显示字体对话框 { // 如果m_font已经关联了一个字体资源对象,则释放它 if (m_font.m_hObject) { m_font.DeleteObject(); } // 使用选定字体的LOGFONT创建新的字体 m_font.CreateFontIndirect(fontDlg.m_cf.lpLogFont); // 获取编辑框IDC_FONT_EDIT的CWnd指针,并设置其字体 GetDlgItem(IDC_FONT_EDIT)->SetFont(&m_font);
// 如果用户选择了字体对话框的OK按钮,则获取被选择字体的名称并显示到编辑框里 strFontName = fontDlg.m_cf.lpLogFont->lfFaceName; SetDlgItemText(IDC_FONT_EDIT, strFontName); }
}
颜色Dlg:
void CExample19Dlg::OnBnClickedColorButton()
{COLORREF color = RGB(255, 0, 0); // 颜色对话框的初始颜色为红色 CColorDialog colorDlg(color); // 构造颜色对话框,传入初始颜色值 if (IDOK == colorDlg.DoModal()) // 显示颜色对话框,并判断是否点击了“确定” { color = colorDlg.GetColor(); // 获取颜色对话框中选择的颜色值 SetDlgItemInt(IDC_COLOR_EDIT, color); // 在Color编辑框中显示所选颜色值 SetDlgItemInt(IDC_R_EDIT, GetRValue(color)); // 在R编辑框中显示所选颜色的R分量值 SetDlgItemInt(IDC_G_EDIT, GetGValue(color)); // 在G编辑框中显示所选颜色的G分量值 SetDlgItemInt(IDC_B_EDIT, GetBValue(color)); // 在B编辑框中显示所选颜色的B分量值 } }
VS MFC Dlg相关推荐
- php获取打开网页文件名,php取得当前访问url文件名的几种方法
php下获取当前访问的文件名的几种方法. 推荐函数: 一是PHP获取当前页面的网址: dedecms用的也是这个哦. //获得当前的脚本网址 function GetCurUrl() { if(!em ...
- windows中手工调整活动路由表的简单方法
前言 我司有个小程序,用UDP通讯读写设备参数,用来改IP这些出厂参数. 在我所有同事和现场计算机上运行都好使.唯独在我开发本上不好使. 我运维同事让我重装win10, 这哪能听他的-, 这么暴力的主 ...
- MFC中的MainFrame Dlg,App,Doc,View的关系
MFC中的MainFrame Dlg,App,Doc,View的关系 MainFrame: 主框架类 Dlg 是Dialog 的缩写,表示对话框本身 App类就是这个SDI作为"程序&quo ...
- MFC 窗口分割(Dlg 为例)
1. 创建对话框工程 2. 对话框类添加成员变量 CFrameWnd * m_pMyFrame; // 一个框架类对象(指针,也可以静态创建,注意命名!)// 在构造函数中 赋值 NULL// 在On ...
- MFC在dlg当中添加view
MFC在对话框和视图这一块有些泾渭分明,如果一刚开始的项目是对话框,那么如果要点一个按钮,出视图,就比较麻烦了. 具体怎么做呢? 1\新建一个对话框项目. 2\增加一个按钮. 3\再增加一个对话框资源 ...
- MFC中App与Dlg区别
1.我们在创建MFC基于对话框的工程时,最后都有一个选项,如下图所示 2.那么Dlg与App的区别是什么呢? 程序是按顺序执行的,虽然都被封装成了类对象,看起来模块话,其实还是按顺序执行的,APP这个 ...
- 关于MFC模态对话框dlg.DoModal()返回-1的可能原因
关于MFC模态对话框dlg.DoModal()返回-1的可能原因 CDialog::DoModal()函数的原型为:virtual INT_PTR DoModal(); DoModal的返 ...
- 关于MFC中的MS Shell Dlg字体
在VS2008下的MFC项目中,新建一个对话框,其默认字体为MS Shell Dlg.其实这并不是一种特殊的字体,而是一种字体映射,指向当前系统的字体.将对话框字体设置为MS Shell Dlg后,对 ...
- MFC中dlg.DoModal()返回-1
今天新加一个登陆对话框,替换主对话框之后居然显示不出来,经查,MFC中dlg.DoModal()返回-1,后来在网上查到各种原因,对比后发现,我可能在对话框上用了 RICHEDIT 控件,然后添加 A ...
最新文章
- DOM结点的渲染(attach)
- VSCode同步设置
- navicat连接远程mysql
- Lambda 表达式详解~Streams API~Stream常见接口方法
- iOS 静态库和动态库的基本介绍和使用
- error: L6235E: More than one section matches selector - cannot all be FIRST/LAST.
- 无法启用插件,因为它引起了一个致命错误(fatal error)。
- 1007. 素数对猜想 (20)-PAT乙级真题
- 模型堆叠(Stacking)和模型融合的原理与实现以及一个库heamy的介绍
- [NPOI2.0] 使用NPOI读取和导出Excel文件
- junit不启用事务_JUnit禁用启用测试
- org.springframework.beans.factory.UnsatisfiedDepen
- 最好的git命令行基础使用教程 windows
- 3cd修改tftp服务器地址,模式tftp服务器是什么
- 情境认知测量方法的研究
- 图片还原去遮挡_怎么去马赛克 还原图片去掉遮挡软件
- c语言考场排座系统,具才考场座次编排系统
- stm32 iic 从机模式 时钟低电平问题
- 引入winrt头文件时提示there are too many errors for the intellisense engine to function properly
- 【拜占庭将军问题】这一计谋,可以让诸葛丞相兴复汉室