【MFC系列-第12天】Windows系统对话框

12.1 INI配置文件

UINT GetProfileInt( LPCTSTR lpszSection, LPCTSTR lpszEntry, int nDefault ); 从应用程序的配置文件(.INI)的一个配置项中获取一个整数

CString GetProfileString(LPCTSTR szSection, LPCTSTR szEntry, LPCTSTR szDefault = NULL ); 从应用程序的配置文件(.INI)的一个配置项中获取一个字符串

BOOL WriteProfileInt(LPCTSTR szSection, LPCTSTR szEntry, int nValue ); 将一个整数写到应用程序的配置文件(.INI)文件的配置项中

BOOL WriteProfileString(LPCTSTR szSect, LPCTSTR szEntry, LPCTSTR lpszValue ); 将一个字符串写到应用程序的配置文件(.INI)文件的配置项中

void SetRegistryKey( LPCTSTR lpszRegistryKey ); 使应用程序的配置保存在注册表中,而不保存于(.INI)文件中

WriteProfileBinary:把二进制数据写入配置文件或注册表(例如:结构体对象的存取)

GetProfileBinary:从配置文件或注册表提取二进制数据(例如:结构体对象的存取)

DoWaitCursor:在一个函数执行时间很长时使用;

CWaitCursor a; //构造时忙,析构时恢复;

BOOL CNotepadApp::InitInstance()
{SetRegistryKey(_T("NotePad"));free((LPTSTR)m_pszProfileName);m_pszProfileName =(LPCTSTR) malloc(256);_tcscpy_s((LPTSTR)m_pszProfileName,128, _T("./notepad.ini"));CNotepadDlg dlg;m_pMainWnd = &dlg;INT_PTR nResponse = dlg.DoModal();return FALSE;
}
void CNotepadDlg::OnDestroy()
{CDialogEx::OnDestroy();CRect rect;//RECT* GetWindowRect(rect);theApp.WriteProfileInt(_T("RECT"), _T("LEFT"), rect.left);theApp.WriteProfileInt(_T("RECT"), _T("RIGHT"), rect.right);theApp.WriteProfileInt(_T("RECT"), _T("TOP"), rect.top);theApp.WriteProfileInt(_T("RECT"), _T("BOTTOM"), rect.bottom);
//	theApp.WriteProfileString(_T("SETTING"), _T("CAPTION"), _T("我的记事本"));
}

12.2 INI配置文件的特点

a)方便保存和加载,比CFile使用方便多了;

b)方便运营人员在程序外配置数据,配置好的数据参与程序启动后的运行;

c)方便数据管理,比如数据可以保存在注册表中;

12.3 CDialog类常用成员函数:

a)DoModal:创建模式对话框

b)Create:创建非模式对话框

c)NextDlgCtrl:

d)PrevDlgCtrl:

e)GotoDlgCtrl:

f)GetDefID SetDefID:

12.4 CDialog的派生类,CDialogEx:里面新增了背景颜色设置和背景图片(居上下左右或平铺)

CCommandDialog派生了以下这些类。
a)CColorDialog: Lets user select colors.

b)CFileDialog: Lets user select a filename to open or to save.

c)CFindReplaceDialog: Lets user initiate a find or replace operation in a text file.

d)CFontDialog: Lets user specify a font.

e)CPrintDialog: Lets user specify information for a print job.

f)CPrintDialogEx Windows 2000 print property sheet.

12.5 COLORREF类型

四个字节变量类型(DWORD),最低位是红,然后是绿和蓝代表RGB颜色。

GetRValue:拆分其中最低字节的红(分量数值)。

GetGValue:拆分其中第二个字节的(绿分量数值)。

GetBValue:拆分其中第三个字节的(蓝分量数值)。

RGB(255,0,0) 反色 青 RGB(0,255,255)
绿 RGB(0,255,0) 发色 紫 RGB(255,0,255)
RGB(0,0,255) 反色 黄 RGB(255,255,0)

粉红色:RGB(255,128,128)
粉紫色:RGB(255,128,255)
深绿色:RGB(0,128,0)

12.6 CColorDialog:颜色对话框

a)构造函数:CColorDialog dlg(0,0,GetDesktopWindow());让对话框成为独立窗口(不附着于主窗口)

b)CColorDialog dlg(RGB(255,128,128));让对话框弹出时选中一个指定的颜色

12.7 CFontDialog:字体对话框

a)CFontDialog构造函数:根据指定LOGFONT结构体,对话框启动时将按照带入的信息初始化;

b)GetCurrentFont(LPLOGFONT plf):把选中的字体信息输出到指针指向的LOGFONT结构体内;

c)CFont::CreateFontIndirect(const LPLOGFONT plf):把指定的字体信息(名称大小粗体等)生成Font句柄;

d)CFont::GetLogFont(LPLOGFONT plf):从CFont类对象内的句柄解析出字体信息((名称大小斜体等));

e)CWnd::GetFont:获取一个窗口已经设置好的CFont对象(指针);

f)CWnd::SetFont:将含有句柄的CFont对象(指针)设置到一个窗口上;

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/346990.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【BCH码2】BCH码的快速BM迭代译码原理详解及MATLAB实现(不使用MATLAB库函数【全部代码需私信另外付费获取】)

理论基础 订阅《信道编码》专栏,首先查阅各子程序的详解 【有限域生成】本原多项式生成有限域的原理及MATLAB实现 【有限域除法】二元多项式除法电路原理及MATLAB详解 【有限域元素加法和乘法】有限域元素加法和乘法的原理及MATLAB实现 【多元域乘法】多项式乘法电路原理…

【MFC系列-第13天】Windows系统对话框(对话框记事本逻辑)

13.1 内存泄露问题 真正的内存泄露是有循环性反复申请而不释放内存:是指在软件运行时,比如点一下某按钮就申请一次堆空间,而在下次申请前或者适当的时机及时释放内存; Detected memory leaks! Dumping objects -> {225} norm…

js 实现轻量ps_简单轻量的池实现

js 实现轻量ps对象池是包含指定数量的对象的容器。 从池中获取对象时,在将对象放回之前,该对象在池中不可用。 池中的对象具有生命周期:创建,验证,销毁等。池有助于更好地管理可用资源。 有许多使用示例。 特别是在应用…

【MFC系列-第14天】MFC核心类库的成员介绍(记事本快捷键)

14.1 对话框快捷键的设置和加载 a) 插入一个新的Accelerator到资源里,把加速键和对应的响应控件(如一个按钮)关联 b) 在对话框头文件中声明 HACCEL m_hAccel;c) 在对话框的构造函数里初始化m_hAccel m_hAccel ::LoadAccelerators(AfxGetInstanceHandle(),MAKEI…

【MFC系列-第15天】关联变量的概念与用法

15.1 权限管理对话框的信息录入与保存 15.2 控件型关联变量: FromHandle和DeleteTempMap管理成员对象表,前者由HWND获取CWnd*,后者进行删除。 BOOL Attach( HWND hWndNew ); //关联 HWND Detach( ); //解除关联 BOOL SubclassWindow( HWND…

【MFC系列-第16天】企业信息管理软件开发

常见的两种类和类之间相互调用的方法。 16.1 用户权限信息在不同对话框之间共享 ①在CWokerApp类中定义变量: class CWorkerApp : public CWinApp { public:CWorkerApp();SAdmin m_admin;//登录信息 // 重写 public:virtual BOOL InitInstance(); // 实现DECLARE…

java微妙_编码Java时的10个微妙的最佳实践

java微妙这是10条最佳实践的列表,这些最佳实践比您的平均Josh Bloch有效Java规则要微妙得多。 尽管Josh Bloch的列表很容易学习,并且涉及日常情况,但此处的列表包含了涉及API / SPI设计的较不常见的情况,尽管这些情况可能会产生很…

【MFC系列-第17天】企业信息管理软件开发

关注公号【逆向通信猿】更精彩!!! 17.1 数值型关联变量: a)在MFC中有部分控件支持数值型关联变量: 编辑控件、下拉控件、单选按钮、复选框以及日期控件; b)在类向导中为控件建立关联变量时,选…

GraphQL在Wildfly群上

“ GraphQL是API的查询语言,是用于使用现有数据完成这些查询的运行时。 GraphQL为您的API中的数据提供了一个完整且易于理解的描述,使客户能够准确地询问他们所需的内容,仅此而已,使随着时间的推移更容易开发API并启用强大的开发人…

【MFC系列-第18天】企业信息管理软件开发

关注公号【逆向通信猿】更精彩!!! CWnd类中常用的成员函数 函数名称含义static CWnd* PASCAL GetActiveWindow( )(进程内的)获取活动窗口CWnd* SetActiveWindow( )(进程内的)将一个窗口设置为…

【MFC系列-第19天】初步认识GDI绘图技术

WM_PAINT消息测试 调试输出字符串 OutputDebugSting(_T(“WM_PAINT-OnPaint\n”));1、WM_PAINT:功能和发生时间 2、BeginPaint和EndPaint必须成对使用。 a)BeginPaint返回的DC句柄,是基于关联的窗口客户区坐标系绘图 b)MFC把这两个函数封装为一个类…

javafx 示例_示例介绍:JavaFX 8打印

javafx 示例我有一段时间没有写博客了,我想与其他人分享有关JavaFX的所有信息(我的日常工作和家庭可能是借口)。 对于那些对此博客不熟悉的人 ,我是JavaFX 2 Introduction by Example(JIBE)的作者&#xff…

【MFC系列-第20天】CDC绘图类成员介绍

20.1 三大坐标系:屏幕、客户区和非客户区 20.2 三大派生类: a)CPaintDC(客户区标准绘图),内部封装函数是:BeginPaint和EndPaint b)CClientDC(客户区非标准绘图),内部是:::GetDC和ReleaseDC …

Spring Data JPA教程

在Java类或对象与关系数据库之间管理数据是一项非常繁琐且棘手的任务。 DAO层通常包含许多样板代码,应简化这些样板代码,以减少代码行数并使代码可重复使用。 在本教程中,我们将讨论Spring数据的JPA实现。 1.简介 1.1什么是JPA?…

【MFC系列-第21天】GDI算法实战——过渡色

21.1 Caption过渡色实现 // 方法一 void CCaptionDlg::DrawColorTitle(CRect rect, COLORREF col1, COLORREF col2,CDC* pDC) {int cx rect.Width();int red GetRValue(col2) - GetRValue(col1);int green GetGValue(col2) - GetGValue(col1);int blue GetBValue(col2) -…

在Spring MVC中处理域对象

最近,我惊讶于一个代码库在其所有域实体中都具有公共默认构造函数(即零参数构造函数),并且所有字段都具有getter和setter。 当我深入研究时,我发现域实体之所以如此,主要是因为该团队认为Web / MVC框架需要…

【有限域元素加法和乘法】有限域元素加法和乘法的原理及MATLAB实现

关注公号【逆向通信猿】更精彩!!! 有限域 仍然以 r = 4 r=4 r=4,

使用storm 实时计算_使用Storm进行可扩展的实时状态更新

使用storm 实时计算在本文中,我将说明如何借助Storm框架以可扩展且无锁定的方式在数据库中维护实时事件驱动流程的当前状态。 Storm是基于事件的数据处理引擎。 它的模型依赖于基本原语,例如事件转换,过滤,聚合……,我…

【MFC系列-第22天】GDI算法实战——过渡色

关注公号【逆向通信猿】更精彩!!! 第22天 GDI算法实战 CDC(HDC)绘图类: 五大GDI对象类:CPen,CBrush,CFont,CBitmap,CRgn 22.1 走马灯 设置定时器 SetTimer(1, 20, N…

无服务器:不费吹灰之力!

几年前, 集装箱横扫开发人员,而开发人员的土地就像6级飓风一样 。 码头工人 Rkt 。 其他 。 Docker Swarm 。 K8s 。 OpenShift 。 现在,我们实际上处于震中,但是当我们瞥见地平线时,我们看到另一个人来了&#x…