使用mshflxgd.ocx控件

时间:2022-05-03 23:55:38

  msflxgrd.ocx - Microsoft FlexGrid Control
  原先使用的是msflxgrd控件,但是使用过程中发现,Cell中的中文字符串在英文系统下显示“??”,查找资料发现该表格控件对Unicode的支持不够好。

  mshflxgd.ocx - Microsoft Hierarchical FlexGrid Control
  于是,换成使用增强版的mshflxgd控件。

  0、下载MSHFLXGD.OCX,并注册;

    Regsvr32 MSHFLXGD.OCX

  1、新建基于对话框的MFC应用程序,工程名为MsGrid,一路Next到底;

使用mshflxgd.ocx控件

  2、去除默认的对话框界面控件,空白处右键“Insert ActiveX Control...”,选择Microsoft Hierarchical FlexGrid Control

使用mshflxgd.ocx控件

  3、拖动mshflxgd控件为合适大小,其上右键“Add Variable...”

   使用mshflxgd.ocx控件

  3、在OnInitDialog中输入代码     

     m_flexGrid.put_Row();
m_flexGrid.put_Col();
m_flexGrid.put_Text(_T("测试"));

  

  编译运行:

  使用mshflxgd.ocx控件

  msflxgrd.ocx -   方法以Set    Get为前缀

  mshflxgd.ocx -  方法以put_   get_为前缀

  PS: 在测试过程中还发现了一个奇怪的现象,中文字符串水平躺着显示,不知是啥原因,初步断定与所在对话框父窗口的属性设置有关。