MFC/C++学习系列之简单记录6

MFC/C++学习系列之简单记录6

  • 前言
  • CAboutDlg和CMFCtest1Dlg的区别
  • MSFlexGrid的限制输入
    • 其他方式
  • CWnd
  • CDC
  • 总结

前言

简单的记录一下!


CAboutDlg和CMFCtest1Dlg的区别

在使用添加事件后,出现两者,并且在CAboutDlg中无法使用已经定义的控件,而CMFCtest1Dlg则可以。

其中m_Btn1是已经定义的按钮,查阅.h文件也是定义的变量。

查阅资料,而两者的区别是CAboutDlg是MFC中的对话框类,CMFCtest1Dlg是我们自己定义Dialog的对话框类名。前者用于显示关于应用程序的版本号、开发信息等,后者是开发者对于应用程序的主要对话框功能实现。

其实CAboutDlg也就是这个界面的相关内容。

MSFlexGrid的限制输入

在VC 6.0中使用MSFlexGrid进行单元格的数据输入,但是最近因为任务需要,需要在指定单元格中进行输入,并写入数据保存。

cpp 复制代码
GetDlgItemText(控件名称,Input);      //获取输入框内容
MSFlexGrid的名称.SetText(Input);     //设置单元格内容

通过插入Edit控件输入,然后通过输入的数据再回传到MSFlexGrid控件中,但是MSFlexGrid控件仅会在点击的地方进行。

考虑到这一点,需要限制点击单元格的操作。可以使用GetCol或者GetRow来判断鼠标点击单元格的位置。当点击正确,则进行输入操作。

cpp 复制代码
if(MSFlexGrid的名称.GetCol()==0)//假设这里是第0列
	if(MSFlexGrid的名称.GetRow()==0)//假设这里是第0行
	{
		输入操作;
	}

其他方式

  • 鼠标事件:定义鼠标事件,在事件中设置不可选择的行列进行规避。
  • 设置行列的样式:也就是在表格一开始就设置是编辑或选择。

CWnd

之前使用过CWnd,但是没有详细介绍。提供了一个窗口对象的基本功能,是MFC中所有窗口类和控件类的基类。这个指针可以用来操作和访问窗口的各种属性和方法。

cpp 复制代码
CWnd *pWnd;
pWnd = GetDlgItem( 控件名称 );    //控件指针
pWnd->ShowWindow( SW_SHOW );     //设置控件显示
pWnd->MoveWindow(rc);           //改变大小并移到选中格位置
pWnd->SetWindowText(strValue);  //显示文本

CDC

CDC 是 代表设备上下文(Device Context),可以用于文本、图形和图像的绘制。

cpp 复制代码
//绘制文本
CDC* pDC = GetDC(); // 获取窗口的设备上下文
pDC->TextOut(0, 0, _T("Hello, MFC!")); // 在(0,0)位置绘制文本
ReleaseDC(pDC); // 完成后释放设备上下文

//绘制图形
CDC* pDC = GetDC();
pDC->Rectangle(10, 10, 100, 100); // 绘制一个矩形
ReleaseDC(pDC);

//设置绘图属性
CDC* pDC = GetDC();
CPen pen(PS_SOLID, 2, RGB(255, 255, 0)); // 创建一个颜色的笔
pDC->SelectObject(&pen);
pDC->Ellipse(10, 10, 100, 100); // 绘制一个填充的椭圆
ReleaseDC(pDC);

总结

简单记录一下MFC学习过程中的认识!

相关推荐
鸿芯微控科技3 天前
MFC模拟量信号异常怎么排查?0-5V、4-20mA接线与量程换算
c++·5g·mfc·故障排查·质量流量控制器·4-20ma·模拟量信号
神仙别闹3 天前
基于C++ MFC实现动态分区分配存储管理
开发语言·c++·mfc
鸿芯微控科技5 天前
MFC设定流量达不到怎么办?上游供气能力、压差与管路阻力排查
c++·mfc·质量流量控制器·流量不足排查·压差测试·气体流量控制
兵哥工控5 天前
mfc实现在数值范围内实时改变静态文本控件字体颜色实例
c++·mfc
鸿芯微控科技8 天前
MFC关断后还有流量怎么办?零流量、阀门泄漏、压差与Python分析
c++·python·mfc·质量流量控制器·关断泄漏·零流量测试
鸿芯微控科技9 天前
MFC量程怎么选?最小流量、满量程、调节比与误差计算
c++·python·mfc·流量控制·设备选型·质量流量控制器
TunerT_TQ17 天前
Valhalla 静态工程审阅 #021|华为MindSpore 源码证据驱动评测【大厂开源基础设施特辑】
c++·开源·github·mfc·#大模型开源·#华为开源·#深度学习
蒙奇·D·路飞-17 天前
OpenClaw:开源的《合金弹头》精神续作与终极本地部署指南
c++·开源·mfc
TunerT_TQ18 天前
Valhalla 静态工程审阅 #018|MMCV 源码证据驱动评测【大厂开源基础设施特辑】
c++·开源·mfc·#计算机视觉·#商汤科技·#openmmlab·#静态源码审计
鸿芯微控科技19 天前
MFC质量流量控制器流量不准怎么排查?设定值、反馈值与参考流量对比,附Python代码
c++·python·mfc