2013-04-17 57 views
0

我正在致力于ListViewwin32api。但是当我用平铺视图设置ListView时。那么子项目不会出现在项目旁边。 我的代码如下:带有平铺视图样式的列表视图,子项目不显示?

ListView_SetView(m_hwndListview,LV_VIEW_TILE); 
//Set tile view info 
SIZE size = { 150, 75 }; 
LVTILEVIEWINFO tileViewInfo = {0}; 

tileViewInfo.cbSize = sizeof(tileViewInfo); 
tileViewInfo.dwFlags = LVTVIF_FIXEDSIZE; 
tileViewInfo.dwMask = LVTVIM_COLUMNS | LVTVIM_TILESIZE; 
tileViewInfo.cLines = 3; 
tileViewInfo.sizeTile = size; 

//Set tile info 
LVTILEINFO lvti = {0}; 
int order[2]; 
order[0]=2; 
order[1]=1; 
lvti.cbSize = sizeof(LVTILEINFO); 
lvti.iItem = 0; 
lvti.cColumns = 2; 
lvti.piColFmt = LVCFMT_LEFT; 
lvti.puColumns = PUINT(order); 

ListView_SetTileInfo(m_hwndListview, &lvti); 
ListView_SetTileViewInfo(m_hwndListview, &tileViewInfo); 

有没有人有想法解决这个问题? 非常感谢!

回答

0

lvti.piColFmt应该是指向列格式值数组的指针,而不是单个值。在你的情况下,它可能是这样的:

int colfmt[2]; 
colfmt[0] = LVCFMT_LEFT; 
colfmt[1] = LVCFMT_LEFT; 
lvti.piColFmt = colfmt; 

希望帮助!