• CGridCtrl在MFC中的使用(一)


      CGridCtrl控件是开源的,可在CodePlex和CodeProject上搜索找到,是VC++中用于显示表格数据的控件。基本功能包括:表格显示,单元格的编辑,单元格颜色设置,鼠标事件的响应,单元格内嵌入图片、CheckBox、ComboBox、Bitmap、Button等。

      CodeProject中的链接http://www.codeproject.com/Articles/8/MFC-Grid-control

      利用拖动控件在对话框中使用CGridCtrl

      使用CGridCtrl需要将源码中的将GridCtrl_src文件夹和NewCellTypes内的所有文件添加到自己的工程当中。

      创建基于对话框的MFC工程,选择Custom Control拖动到对话框上,如下图所示

      

      在控件的属性对话框中设置Class属性为MFCGridCtrl(必须),控件ID设置为IDC_GRID(可自由设定),如下图所示

      接下来利用ClassWizard为控件关联变量,变量类型为CGridCtrl(图中的CGridCtrlEx为CGridCtrl的派生类,是自己用于添加的项目需要的额外功能的类),控件类型为MFCGridCtrl,

      然后就可以像使用普通控件那样使用CGridCtrl了。

      利用拖动控件在对话框中使用CGridCtrl

      在对话框上添加一个PictureBox类型的空间,控件ID设置为IDC_GRID,该控件用于确定CGridCtrl控件在对话框上的显示位置,如图所示。

      

      在对话框类的头文件中增加CGridCtrl的指针类型变量

    1 CGridCtrl* m_pGrid;

      在OnInitDialog()函数中增加如下代码

    1     int captionHeight = ::GetSystemMetrics(SM_CYCAPTION); 
    2     int cxframe = GetSystemMetrics(SM_CXFRAME); 
    3     int cyframe = GetSystemMetrics(SM_CYFRAME);
    4 
    5     CRect rectGridWnd;
    6     rectGridWnd.OffsetRect(-cxframe,-cyframe-captionHeight);
    7     m_pGrid = new CGridCtrl(5,5);
    8     m_pGrid->Create(rectGridWnd,this,IDC_GRID);

       然后就可以利用m_pGrid进行各种操作了。

  • 相关阅读:
    Vue学录 (第三章)
    Vue学录 (第二章)
    Vue 学录 (第一章)
    SpringBoot 学集 (第七章) 数据访问
    Leetcode789 阻碍逃脱者 曼哈顿距离
    Leetcode707 设计链表 双向链表实现
    leetcode 743 网络延迟时间 Dijkstra算法
    Leetcode676 实现魔法字典
    Leetcode443 压缩字符串 双指针原地压缩算法
    Leetcode23 合并K个升序链表
  • 原文地址:https://www.cnblogs.com/canger/p/5877016.html
Copyright © 2020-2023  润新知