MFC Grid Control Tutorials

zhangwuji154 2010-05-07 10:48:18
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
...全文
509 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
rete931 2010-07-20
  • 打赏
  • 举报
回复
学习一下,看是怎么回事
zhangwuji154 2010-05-10
  • 打赏
  • 举报
回复
谢谢两位

error C2011: 'CGCMemDC' : 'class' type redefinition
无语了我,我用Ctrl+H替换,把CMemDC全替换成CGCMemDC,竟然又报CGCMemDC也重定义了,我已经clean+rebuild了,没用。
洗洗睡去 2010-05-07
  • 打赏
  • 举报
回复
具体看我的空间
http://cid-cd384314f6911779.spaces.live.com/blog/cns!CD384314F6911779!283.entry?&_c02_vws=1
洗洗睡去 2010-05-07
  • 打赏
  • 举报
回复
楼上解答了 我用了第1种方法 ctrl-h
zgl7903 2010-05-07
  • 打赏
  • 举报
回复
VS9环境中已经包含了CMemDC类
http://msdn.microsoft.com/en-us/library/cc308997(VS.90).aspx

两种解决办法
1 更名memDC.h中的类名如CMyMemDC同时更改GridCtrl.CPP OnPaint中的应用类名为CMyMemDC
2 从项目中排出memDC.h 使用VS9的类 OnPaint中的 CMemDC MemDC(&dc);更改为CMemDC MemDC(dc, this);

16,467

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧