【MFC系列-第14天】MFC核心类库的成员介绍(记事本快捷键)
14.1 对话框快捷键的设置和加载
a) 插入一个新的Accelerator到资源里,把加速键和对应的响应控件(如一个按钮)关联
b) 在对话框头文件中声明
HACCEL m_hAccel;
c) 在对话框的构造函数里初始化m_hAccel
m_hAccel = ::LoadAccelerators(AfxGetInstanceHandle(),MAKEINTRESOURCE(IDR_ACCELERATOR1));
d) 然后重载对话框的PreTranslateMessage函数,在
BOOL CAboutDlg::PreTranslateMessage(MSG* pMsg)
{
if (m_hAccelTable)
{
if (::TranslateAccelerator(m_hWnd, m_hAccelTable, pMsg))
{
return(TRUE);
}
}
return CDialog::PreTranslateMessage(pMsg);
}
14.2 CWnd派生类
a)控件分支:CEdit、CListCtrl、CComboBox、CTreeCtrl、CButton
b)CDialog分支:CColorDialog、CFindReplaceDialog、CFileDialog、CFontDialog
c)条分支:CToolBar、CStatusBar、CRebar
d)框架与视图:CFrameWnd、CMDIFrameWnd和CMDIChildWnd、CEditView、CListView、CHtmlView
14.3 CWnd类的成员
核心成员变量是HWND m_hWnd
:所有成员函数几乎都是围绕这个成员变量在工作;
a) DestroyWindow:摧毁
1、
EndDialog(-1);
2、
CWnd* pWnd = GetDlgItem(IDOK);
pWnd->DestroyWindow();
3、
pWnd->ShowWindow(SW_HIDE);
4、其他进程:
CWnd* pWnd = FindWindow(_T("Notepad"), NULL);
pWnd ->DestroyWindow();
pWnd->SendMessage(WM_CLOSE);
5、Create:创建
CreateEx:带风格创建,比如:下陷风格等6、operator HWND:将对象自动转为句柄(m_hWnd)
if (!m_ok)
{m_ok.Create(_T("Button"), _T("确定"), WS_CHILD | WS_VISIBLE | BS_AUTORADIOBUTTON | WS_TABSTOP, CRect(10, 50, 155, 69), this, 10088);CFont* pFont = GetFont();m_ok.SetFont(pFont);
}
- 7、GetSafeHwnd:(推荐)安全地获取一个对象内的句柄
void CTestWDlg::OnBnClickedGetSafe()
{CWnd* pWnd = GetDlgItem(IDOK);HWND hWnd = pWnd->GetSafeHwnd(); //即使IDOK按钮销毁了,程序也不会崩溃
}
- 8、FromHandle:获取一个与句柄关联的CWnd对象地址,FromHandle与GetSafeHwnd是反函数(如果没有关联将生成临时对象与句柄关联)
void CTestWDlg::OnBnClickedFromHandle()
{// FromHandle与GetSafeHwnd是反函数HWND h = ::GetDlgItem(m_hWnd, IDOK);CWnd* pOK = CWnd::FromHandle(h);pOK->SetWindowText(_T("OK"));
}
【MFC系列-第14天】MFC核心类库的成员介绍(记事本快捷键)相关推荐
- 【MFC系列-第20天】CDC绘图类成员介绍
20.1 三大坐标系:屏幕.客户区和非客户区 20.2 三大派生类: a)CPaintDC(客户区标准绘图),内部封装函数是:BeginPaint和EndPaint b)CClientDC(客户区非标 ...
- 【MFC系列-第13天】Windows系统对话框(对话框记事本逻辑)
13.1 内存泄露问题 真正的内存泄露是有循环性反复申请而不释放内存:是指在软件运行时,比如点一下某按钮就申请一次堆空间,而在下次申请前或者适当的时机及时释放内存: Detected memory l ...
- Java核心类库-IO-File类介绍和路径分割符
Java的IO:类和接口存在于Java.io包中 讲IO操作之前,必须要先讲File类(文件/目录) File类介绍和路径分割符: File类是IO包中唯一表示磁盘文件和磁盘目录的对象的路径. 该类包 ...
- mfc 监控文件操作_商务办公好伴侣 兄弟MFC系列多功能一体机
谈到多功能一体机产品,大家应该对兄弟品牌旗下的MFC系列并不陌生,该系列产品线跨度广,无论是中小型企业或是政府机关.事业单位等用户都有覆盖,凭借着MFC系列一体机高速.高质量.低成本等特点,MFC系列 ...
- VS2010/MFC编程入门之四(MFC应用程序框架分析)
上一讲鸡啄米讲的是VS2010应用程序工程中文件的组成结构,可能大家对工程的运行原理还是很模糊,理不出头绪,毕竟跟C++编程入门系列中的例程差别太大.这一节鸡啄米就为大家分析下MFC应用程序框架的运行 ...
- (转载)VS2010/MFC编程入门之四(MFC应用程序框架分析)
上一讲鸡啄米讲的是VS2010应用程序工程中文件的组成结构,可能大家对工程的运行原理还是很模糊,理不出头绪,毕竟跟C++编程入门系列中的例程差别太大.这一节鸡啄米就为大家分析下MFC应用程序框架的运行 ...
- MFC入门(一)——MFC是一个编程框架
MFC (Microsoft Foundation Class Library)中的各种类结合起来构成了一个应用程序框架,它的目的就是让程序员在此基础上来建立Windows下的应用程序,这是一种相对S ...
- Java核心类库篇2——lang
Java核心类库篇2--lang 1.Object 该类是所有类的父类,每个类都使用它作为超类,没有任何属性 方法声明 功能介绍 Object() 使用无参方式构造对象 boolean equals( ...
- MFC——我的第一个MFC
我的第一个MFC 一."什么是MFC" 二.创建一个MFC 0.编译freeimage 1.在VS2022创建MFC 2.编写代码前3步骤 3.编辑代码 编辑pch.h 编辑doc ...
最新文章
- MySQL中有哪些锁?
- [C++] 井字棋游戏源码
- ActiveMq笔记3-AMQ高可用性理论
- 曾遭周鸿祎全网封杀的 360 猛将 :草根打工到 36 岁身家上亿的逆袭!
- Dubbo面试18问!这些你都会吗?
- javaScript编码
- 虚拟机安装linux系统教程
- 最新系统分析师考试大纲
- 安全模式解除android,手机安全模式怎么解除
- 键盘计算机编程是什么意思,可编程键盘是什么
- 2014年实习生招聘之腾讯实习生招聘面试(一面)—2014/04/01
- 实习期间的一些思考整理(5)2018.4.17~4.18
- 人若不知足,永远不幸福
- 数据挖掘的10大算法
- 两台win10电脑连接同一个wifi怎么共享文件
- 服务器麒麟系统是arm还是x64,麒麟arm环境安装ceph
- 【第一节 Node.js简介】
- 红外热成像的空间分辨率怎么算?
- 行业分析-全球与中国引风机市场现状及未来发展趋势
- 假设R1、R2、R3采用RIP协议交换路由信息,且均已收敛。若R3检测到网络201.1.2.0/25不可达,并向R2通告一次新的距离向量,则R2更新后,其到达该网络的距离是
热门文章
- 休息使用Jersey –包含JAXB,异常处理和客户端程序的完整教程
- Jelastic Java云端平台
- java的Swing里怎么new一条线_java – 在JFrame上绘制一条线
- python具体工作内容_有没有人知道公司里用python工作的内容有什么
- 英语中的开音节和闭音节
- FHS(Filesystem Hierarchy Standard 文件系统层次化标准)
- Linux 命令之 find -- 查找文件和目录/搜索文件和目录
- 系统制成docker镜像_docker 制作自己的镜像
- 【WebRTC---入门篇】(十六)端对端1V1传输基本流程
- 多核 linux 绑定,Linux 操作系统下CPU多核心的绑定