作者:乔山办公网日期:
返回目录:excel表格制作
虽然设置了true,但是无法显示出表头,只能自己设置label,然后调整距离来实现。
方法一 使用List Control控件 ,打开属性栏,风格标签页 View下拉框选择Report,给该控件定义一个 CListCtrlEx 类型的变量 比如:
CListCtrlEx m_list;
然后在对话框初始化函数中添加这几e799bee5baa6e58685e5aeb9362句
m_list.InsertColumn(1, "第一列", LVCFMT_LEFT, 120);
m_list.InsertColumn(2, "第二列", LVCFMT_LEFT, 120);
m_list.InsertColumn(3, "第三列", LVCFMT_LEFT, 120);
编译运行下看看 你就明白
第二个方法 你就用一个编辑框控件就行 拉的大大的就行,属性改为多行显示,给它关联一个CString的变量,然后把你要显示的数据 往这个变量里拼就行了 注意每行显示几个 然后换行 中间给点空空就行 ,编译运行下 看看列与列之间相差多少 是否要调整下,然后给编辑框控件的上面 摆几个静态文本框,作为标签就行 按列对应就行;
m_bdata[2048] 这是个结构体数组 举个例子而已
for(int i =0;i<2048;i++)
{
CString data = "";
data.Format("%d\t%f\t%f\t%f",m_bdata[i].index,m_bdata[i].mea,m_bdata[i].real,m_bdata[i].dev);
m_data = m_data + data + "\r\n";
}
最后拼出来的就是 2048行 四列数据
你看看是不是事件绑定有问题,最好百是在ListBox或者ComboBox的change事件中,度
放置你的代码,而不是在click事件中执行代码。
Private Sub ListBox1_Change()
'这里填写你的代码
'可以先用控制台打印一下此问时的值,看看是否正确。
debug.print ListExpenseType.Text
Offset(0, 2).Value = ListExpenseType.Text
End Sub
Private Sub ListBox1_Click()
'最好不要答在Click事件中执行,因为此时Value值可能没有改变过来
End Sub
另外,在窗体列表初始专化时,可以这样属给列表框或组合框赋值:
ListBox.List() = Array("值1", "值2", "值3")
ComboBox.List() = Array("值1", "值2", "值3")
.List= arr
改成这样就可以了