大家帮我看看哪里不对,列表视图的列名可以按顺序正常显示.但列表的内容显示的顺序却不对..
这段是列表列名的代码
//列表视图列名
HWND hLCVW = GetDlgItem(hwnd,IDC_LC_VIEW); LVCOLUMN LcoumnOne = {0};
LcoumnOne.mask = LVCF_WIDTH | LVCF_TEXT | LVCF_SUBITEM | LVCF_ORDER;
LcoumnOne.cx = 60;
LcoumnOne.pszText = _T("字段名");
LcoumnOne.iSubItem = 0;
LcoumnOne.iOrder = 0;
SendMessage(hLCVW , LVM_INSERTCOLUMN , 0 , (LPARAM)&LcoumnOne);
LVCOLUMN LcoumnTwo = {0};
LcoumnTwo.mask = LVCF_WIDTH | LVCF_TEXT | LVCF_SUBITEM | LVCF_ORDER;
LcoumnTwo.cx = 50;
LcoumnTwo.pszText = _T("类型");
LcoumnTwo.iSubItem = 1;
LcoumnTwo.iOrder = 1;
SendMessage(hLCVW , LVM_INSERTCOLUMN , 0 , (LPARAM)&LcoumnTwo);
LVCOLUMN LcoumnThree = {0};
LcoumnThree.mask = LVCF_WIDTH | LVCF_TEXT | LVCF_SUBITEM |LVCF_ORDER;
LcoumnThree.cx = 50;
LcoumnThree.pszText = _T("大小");
LcoumnThree.iSubItem = 2;
LcoumnThree.iOrder = 2;
SendMessage(hLCVW , LVM_INSERTCOLUMN , 0 , (LPARAM)&LcoumnThree);
这段是列表视图的代码
//列表视图主列
LVITEM linserOne = {0};
linserOne.mask = LVIF_TEXT;
linserOne.iItem = iLcoumn;
linserOne.pszText = _T("张三");
linserOne.iSubItem = 0;
SendMessage(hLCVW , LVM_INSERTITEM , 0 ,(LPARAM)&linserOne); //列表视图子列
LVITEM linserTwo = {0};
linserTwo.mask = LVIF_TEXT;
linserTwo.iSubItem = 1;
linserTwo.pszText = (LPWSTR)_T("25");
SendMessage(hLCVW , LVM_SETITEMTEXT , iLcoumn ,(LPARAM)&linserTwo); LVITEM linserThree = {0};
linserThree.mask = LVIF_TEXT;
linserThree.iSubItem = 2;
linserThree.pszText = _T("6666666");
SendMessage(hLCVW , LVM_SETITEMTEXT , iLcoumn ,(LPARAM)&linserThree); 如想显示以下结果
Name Age Tel
张三 25 6666666但是调试后却显示
Name Age Tel
6666666 25 张三请问是哪里出错了?????
这段是列表列名的代码
//列表视图列名
HWND hLCVW = GetDlgItem(hwnd,IDC_LC_VIEW); LVCOLUMN LcoumnOne = {0};
LcoumnOne.mask = LVCF_WIDTH | LVCF_TEXT | LVCF_SUBITEM | LVCF_ORDER;
LcoumnOne.cx = 60;
LcoumnOne.pszText = _T("字段名");
LcoumnOne.iSubItem = 0;
LcoumnOne.iOrder = 0;
SendMessage(hLCVW , LVM_INSERTCOLUMN , 0 , (LPARAM)&LcoumnOne);
LVCOLUMN LcoumnTwo = {0};
LcoumnTwo.mask = LVCF_WIDTH | LVCF_TEXT | LVCF_SUBITEM | LVCF_ORDER;
LcoumnTwo.cx = 50;
LcoumnTwo.pszText = _T("类型");
LcoumnTwo.iSubItem = 1;
LcoumnTwo.iOrder = 1;
SendMessage(hLCVW , LVM_INSERTCOLUMN , 0 , (LPARAM)&LcoumnTwo);
LVCOLUMN LcoumnThree = {0};
LcoumnThree.mask = LVCF_WIDTH | LVCF_TEXT | LVCF_SUBITEM |LVCF_ORDER;
LcoumnThree.cx = 50;
LcoumnThree.pszText = _T("大小");
LcoumnThree.iSubItem = 2;
LcoumnThree.iOrder = 2;
SendMessage(hLCVW , LVM_INSERTCOLUMN , 0 , (LPARAM)&LcoumnThree);
这段是列表视图的代码
//列表视图主列
LVITEM linserOne = {0};
linserOne.mask = LVIF_TEXT;
linserOne.iItem = iLcoumn;
linserOne.pszText = _T("张三");
linserOne.iSubItem = 0;
SendMessage(hLCVW , LVM_INSERTITEM , 0 ,(LPARAM)&linserOne); //列表视图子列
LVITEM linserTwo = {0};
linserTwo.mask = LVIF_TEXT;
linserTwo.iSubItem = 1;
linserTwo.pszText = (LPWSTR)_T("25");
SendMessage(hLCVW , LVM_SETITEMTEXT , iLcoumn ,(LPARAM)&linserTwo); LVITEM linserThree = {0};
linserThree.mask = LVIF_TEXT;
linserThree.iSubItem = 2;
linserThree.pszText = _T("6666666");
SendMessage(hLCVW , LVM_SETITEMTEXT , iLcoumn ,(LPARAM)&linserThree); 如想显示以下结果
Name Age Tel
张三 25 6666666但是调试后却显示
Name Age Tel
6666666 25 张三请问是哪里出错了?????
HWND hLCVW = GetDlgItem(hwnd,IDC_LC_VIEW); LVCOLUMN LcoumnOne = {0};
LcoumnOne.mask = LVCF_WIDTH | LVCF_TEXT | LVCF_SUBITEM | LVCF_ORDER;
LcoumnOne.cx = 60;
LcoumnOne.pszText = _T("字段名");
LcoumnOne.iSubItem = 0;
LcoumnOne.iOrder = 0;
SendMessage(hLCVW , LVM_INSERTCOLUMN , 0 , (LPARAM)&LcoumnOne);
LVCOLUMN LcoumnTwo = {0};
LcoumnTwo.mask = LVCF_WIDTH | LVCF_TEXT | LVCF_SUBITEM | LVCF_ORDER;
LcoumnTwo.cx = 50;
LcoumnTwo.pszText = _T("类型");
LcoumnTwo.iSubItem = 1;
LcoumnTwo.iOrder = 1;
SendMessage(hLCVW , LVM_INSERTCOLUMN , 0 , (LPARAM)&LcoumnTwo);
LVCOLUMN LcoumnThree = {0};
LcoumnThree.mask = LVCF_WIDTH | LVCF_TEXT | LVCF_SUBITEM |LVCF_ORDER;
LcoumnThree.cx = 50;
LcoumnThree.pszText = _T("大小");
LcoumnThree.iSubItem = 2;
LcoumnThree.iOrder = 2;
SendMessage(hLCVW , LVM_INSERTCOLUMN , 0 , (LPARAM)&LcoumnThree); LVITEM linserOne = {0};
linserOne.mask = LVIF_TEXT;
linserOne.iItem = 0;
linserOne.pszText = _T("张三");
SendMessage(hLCVW , LVM_INSERTITEM , 0 ,(LPARAM)&linserOne); LVITEM linserTwo = {0};
linserTwo.mask = LVIF_TEXT;
linserTwo.iSubItem = 1;
linserTwo.pszText = (LPWSTR)_T("25");
SendMessage(hLCVW , LVM_SETITEMTEXT , 0 ,(LPARAM)&linserTwo); LVITEM linserThree = {0};
linserThree.mask = LVIF_TEXT;
linserThree.iSubItem = 2;
linserThree.pszText = (LPWSTR)_T("100");
SendMessage(hLCVW , LVM_SETITEMTEXT , 0 ,(LPARAM)&linserThree);