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到底;
2、去除默认的对话框界面控件,空白处右键“Insert ActiveX Control...”,选择Microsoft Hierarchical FlexGrid Control
3、拖动mshflxgd控件为合适大小,其上右键“Add Variable...”
3、在OnInitDialog中输入代码
m_flexGrid.put_Row();
m_flexGrid.put_Col();
m_flexGrid.put_Text(_T("测试"));
编译运行:
msflxgrd.ocx - 方法以Set Get为前缀
mshflxgd.ocx - 方法以put_ get_为前缀
PS: 在测试过程中还发现了一个奇怪的现象,中文字符串水平躺着显示,不知是啥原因,初步断定与所在对话框父窗口的属性设置有关。