MFC Grid Control Tutorials

zhangwuji154 zhangwuji154 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
MFC Grid Control,我用是2.26版
我自己写了一个教程

把GridCtrl_src拷到工程目录中,如果需要在Grid中显示一些CheckBox什么的,可以把NewCellTypes也拷过去,这些按理应该是用户自己写的,所以没包含在所给的源文件中,而是在demo中找到的,还可以写NewCellTypes中没有的控件,如button。

在工程对话框中拖入一个custom control,右键,“添加变量”,平常的控件会给出“控件类型”、“变量类型”等,但custom control没有给出。想给出“控件类型”,这个点custom control右键属性,在Class里填MFCGridCtrl。而“变量类型”始终没有找到,最终的解决办法是
在"GridCtrlTestDlg.h"文件中加入#include "GridCtrl_src/GridCtrl.h"
然后给主对话框类添加成员变量CGridCtrl m_Grid;
再在"GridCtrlTestDlg.cpp"的void CGridCtrlTestDlg::DoDataExchange(CDataExchange* pDX)
函数中添加 DDX_Control(pDX, IDC_GRID, m_Grid); // associate the grid window with a C++ object
这样,右键custom control,添加变量就显示出来已经添加的变量和变量类型了。

如果是派生自某个控件的类,还可以用SubclassDlgItem

如果是自己创建的一个控件,可以用这种方法绑定
1)声明类变量例如:CCustomCtrl m_ctrl;
2)在OninitDialog里:m_ctrl.Addtach(GetDlgItem(IDC_YOUR_CUSTOM));


请高手指点,哪步错了,导致报这个错?
error C2011: 'CMemDC' : 'class' type redefinition
...全文
评论 5
收藏 已收藏
分享
返回顶部
zhangwuji154
VC/MFC 16,550 成员 421,606 内容