MFC
介绍MFC原理与常用知识点
Allen Roson
C++软件开发工程师
展开
-
MFC#利用ON_WM_CTLCOLOR()消息修改控件背景颜色和文字颜色
如果您觉得本文对您有用,可以收藏一波,方便日后查询;如果您有疑问,可以在文章后面留言,看到后我会尽快回复。本文以CEdit控件为例来说明“如何修改CEdit的背景色和文字颜色”。第1步,在“xxx.cpp”中添加消息映射:BEGIN_MESSAGE_MAP(CUIConfirmVehicle, CBaseView) ON_WM_CTLCOLOR()END_MESSAGE_MAP()第2步,在头文件中声明消息响应函数:afx_msg HBRUSH OnCtlColor..原创 2021-09-16 20:03:45 · 1347 阅读 · 0 评论 -
MFC#CListCtrl 响应Item插入消息
头文件中要加入消息处理函数的声明:afx_msg void OnLvnInsertItem(NMHDR *pNMHDR, LRESULT *pResult);cpp中加入函数的定义,并关联消息://IDC_TAB_DATASTREAM为列表控件的ID,这个根据自己定义的值来写BEGIN_MESSAGE_MAP(CDataStream, CBaseView) ON_NOTIFY(LVN_INSERTITEM, IDC_TAB_DATASTREAM, &CDataStrea原创 2021-08-28 17:31:53 · 199 阅读 · 0 评论 -
MFC#CListCtrl 获取当前屏的第一行和最后一行的行号
CListCtrl m_dataTab;...int firstRow = m_dataTab.GetTopIndex();int lastRow = 0;if (m_dataTab.GetCountPerPage() > m_dataTab.GetItemCount()){ lastRow = m_dataTab.GetItemCount() - 1;}else{ lastRow = m_dataTab.GetTopIndex() + m_dataTab.GetCountPer.原创 2021-08-28 17:20:39 · 546 阅读 · 0 评论 -
查看和设置进程优先级
目录1.查看进程优先级2.设置进程优先级2.1 与进程优先级设置相关的API2.2 优先级等级划分2.3 示例代码2.4 查看优先级设置是否生效1.查看进程优先级打开任务管理器,点击“详细信息”,选中要查看的exe,然后右键点击,在弹出的菜单中可以看到当前进程的优先级。2.设置进程优先级每个进程都有相应的优先级,优先级决定它何时运行和占用 CPU 时间。进程(线程)的优先级越高,那么就可以分占相对多的CPU时间片。最终的优先级共分32级,是从 0 到 3.原创 2021-08-06 17:33:29 · 4398 阅读 · 0 评论 -
微软官方帮助文档的中文网站和英文网站
目录1.英文文网网站2.中文网站3.一般查阅方法(以C++为例)1.英文文网网站https://docs.microsoft.com/en-us/2.中文网站https://docs.microsoft.com/zh-cn/3.一般查阅方法(以C++为例)...原创 2021-08-05 09:43:13 · 1242 阅读 · 0 评论 -
CListCtrl实现合并单元格的效果
#pragma onceclass AutoScanTable : public CListCtrl{public: enum ROWTYPE { AUTOSCAN_ROW_NORMAL = 0, AUTOSCAN_ROW_DTC = 1 };private: unsigned int m_uRowHeight; CRect m_listRect;public: AutoScanTable(); ...原创 2021-08-03 11:23:50 · 1198 阅读 · 0 评论 -
CListCtrl 设置行高、选中行颜色、间隔行颜色(完整代码,亲测有效)
目录1.效果图2.CMyListCtrlEx类(继承自CListCtrl)2.1 CMyListCtrlEx.h2.2 CMyListCtrlEx.cpp3.使用CMyListCtrlEx创建表格1.效果图2.CMyListCtrlEx类(继承自CListCtrl)2.1 CMyListCtrlEx.h#pragma once// CMyListCtrlEx 窗体视图class CMyListCtrlEx : public CListCtrl...原创 2021-08-02 15:59:50 · 2069 阅读 · 0 评论 -
MFC获取当前运行程序(exe)的所在路径
TCHAR path[MAX_PATH];ZeroMemory(path, MAX_PATH);GetModuleFileName(NULL, path, MAX_PATH);//E:\Repository\Public\Debug\MainDisplay.exeCString strPath = path;int pos = strPath.ReverseFind('\\');strPath = strPath.Left(pos);//E:\Repository\Public\D...原创 2021-08-02 09:58:28 · 1847 阅读 · 0 评论 -
MFC CButton
关于MFC的基础按钮控件——CButton,没有多少东西好说的,在我看来就是垃圾,因为它自带的功能实在是太少了,API不少,但我觉得很鸡肋,下面是它的API截图:建议稍微复杂点的界面就不要直接使用此类,自己重写一个,下面给出一些基本的用法代码://头文件添加成员变量CButton m_btn1;CButton m_btn2;CButton m_btn3;CButton m_btn4;CBitmap m_bitmap;//cpp代码BOOL CMFCApplication原创 2021-07-05 17:35:45 · 488 阅读 · 0 评论 -
MFC RadioButton
1、创建关联变量操作RadioButton1.1、绑定Value型变量1.1.1、错误的做法在资源编辑窗口,直接右键点击按钮,添加关联变量,会弹出如下窗口,右边是默认置灰的,左边变量名这里我取的名字是m_Radio1,可能大家看到许多网上的教程有说m_Radio1=0,那第1个单选按钮就应该被选中,于是有的人就这么干了,但是苦思冥想,发现不管m_Radio1的值设置为多少都没有卵...原创 2019-08-06 15:31:14 · 3097 阅读 · 0 评论 -
MFC CSliderCtrl
1、创建和控件绑定的变量CSliderCtrl m_Slider;2、成员函数用法 //设置和获取滑块可移动范围 m_Slider.SetRange(0,100); int iMin = 0; int iMax = 0; m_Slider.GetRange(iMin,iMax); //设置和获取按下左右箭头按钮时时滑块移动的步长(移动的幅度) m_...原创 2019-08-05 17:26:15 · 803 阅读 · 0 评论 -
MFC CListBox
1、给CListBox控件关联变量2、CListBox函数基本用法 //添加项到列表尾部,注意如果m_ListBox的Sort属性为Ture,则添加的项会被自动排序 m_ListBox.AddString(L"Item1"); m_ListBox.AddString(L"Item2"); //获取第0行的文本,并存储到strItem CString strItem;...原创 2019-08-06 20:55:33 · 1476 阅读 · 0 评论 -
MFC CComboBox
1、访问或调用ComboBox通过GetDlgItem函数获取,如CComboBox* pComboBox = (CComboBox*)GetDlgItem(IDC_COMBO1); 创建和控件绑定的变量,详情请查看下一节的内容2、创建和控件绑定的变量创建和CComboBox控件绑定的变量选中组合框控件,右键点击控件并选中菜单“Add Variable”,在如下界面中添加一...原创 2019-08-05 14:49:28 · 1436 阅读 · 0 评论 -
MFC CProgressCtrl
1、创建和控件绑定的变量创建和CProgressCtrl控件绑定的变量,选中进度条控件,右键点击控件并选中菜单“Add Variable”,在如下界面中添加一个和控件绑定的变量,如图所示,我定义的变量为:m_ProgressBarCProgressCtrl m_ProgressBar;2、成员函数用法 //设置进度条的显示值范围 m_ProgressBar.SetRa...原创 2019-08-05 16:08:14 · 1118 阅读 · 0 评论 -
MFC CProgressCtrl设置进度条颜色无效-解决办法
今天在实现一个进度条的控件,发现进度条颜色怎么设置都没有效果,如果去网上各种查询,问如何设置进度条颜色,为什么设置没有效果,答案基本都是下面这个样子的:m_progress.SendMessage(PBM_SETBARCOLOR, 0, RGB(255, 0, 0));//前景色m_progress.SendMessage(PBM_SETBKCOLOR, 0, RGB(0, 255, 0));//背景色m_progress.SetBkColor(RGB(0, 0, 0));//背景色m_pr...原创 2021-07-05 11:09:43 · 1085 阅读 · 4 评论