首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

简单指点一下 CListCtrl中column显示顺序有关问题

2012-01-19 
简单指点一下 CListCtrl中column显示顺序问题初始了一个表头,希望波形、峰值列在前面。但是下面的代码显示时

简单指点一下 CListCtrl中column显示顺序问题
初始了一个表头,希望波形、峰值列在前面。但是下面的代码显示时,这两列在最后,怎么修改?

lvcol.mask   =   LVCF_FMT   |   LVCF_SUBITEM   |   LVCF_TEXT   |   LVCF_WIDTH;
lvcol.fmt   =   LVCFMT_CENTER;

lvcol.pszText   =   "波形时刻 ";
lvcol.iSubItem   =   0;
lvcol.cx   =   70;
m_ListCtrl.InsertColumn(0,   &lvcol);

lvcol.pszText   =   "峰值 ";
lvcol.iSubItem   =   1;
lvcol.cx   =   70;
m_ListCtrl.InsertColumn(1,   &lvcol);

for   (i   =   0;   i   <=21;   i++)
{
lvcol.pszText   =   szHRI;
lvcol.iSubItem   =   i   +   2;
lvcol.cx   =   50;
m_ListCtrl.InsertColumn(i,   &lvcol);
}

LONG   lStyle;     //用report形式显示
lStyle   =   GetWindowLong(m_ListCtrl.m_hWnd,   GWL_STYLE);
lStyle   &=   ~LVS_TYPEMASK;
lStyle   |=   LVS_REPORT;
SetWindowLong(m_ListCtrl.m_hWnd,   GWL_STYLE,   lStyle);

[解决办法]
for (i = 0; i <=21; i++)
{
lvcol.pszText = szHRI;
lvcol.iSubItem = i + 2;
lvcol.cx = 50;
m_ListCtrl.InsertColumn(i, &lvcol);
}
从零开始,不是又把原来定义好的给冲掉了吗?
[解决办法]
楼上说的是,试试下面的行不行

LONG lStyle = m_List1.SendMessage(LVM_GETEXTENDEDLISTVIEWSTYLE);
lStyle |= LVS_EX_FULLROWSELECT | LVS_EX_GRIDLINES | LVS_EX_HEADERDRAGDROP;
m_AlarmList1.SendMessage(LVM_SETEXTENDEDLISTVIEWSTYLE, 0, (LPARAM)lStyle);
LV_COLUMN lvc;
lvc.mask = LVCF_TEXT | LVCF_SUBITEM | LVCF_WIDTH /*| LVCF_FMT*/;

lvcol.fmt = LVCFMT_CENTER;

lvcol.pszText = "波形时刻 ";
lvcol.iSubItem = 0;
lvcol.cx = 70;
......................
...........................

热点排行