将列添加到列表视图控件

【勇芳软件工作室】汉化HomePreviousNext

列仅在报告视图中显示,并且它们可以为每个列表项显示多条信息。您可以使用LVM_INSERTCOLUMN消息将列添加到列表视图控件。列表视图控件中的每个项目除了其项目文本之外,还可以包含任何数量的称为子项目的字符串。将列添加到列表视图控件时,可以指定要在列中显示的子项。

除非列表视图控件具有LVS_NOCOLUMNHEADER窗口样式,否则每列都有一个显示列名称的标题。用户可以单击标题,并使用标题对列进行大小调整。

以下示例将几列添加到列表视图控件。列标题被定义为字符串资源,它们以IDS_FIRSTCOLUMN(在应用程序的头文件中定义)连续编号。列的数量在应用程序的头文件中定义为C_COLUMNS。

// InitListViewColumns - 将列添加到列表视图控件。

//如果成功返回TRUE,否则返回FALSE。

// hwndLV - 列表视图控件的句柄

BOOL WINAPI InitListViewColumns(HWND hwndLV)

{

extern char g_achTemp[256]; //临时缓冲区

LV_COLUMN lvc;

int iCol;

//初始化LV_COLUMN结构。

lvc.mask = LVCF_FMT | LVCF_WIDTH | LVCF_TEXT | LVCF_SUBITEM;

lvc.fmt = LVCFMT_LEFT;

lvc.cx = 100;

lvc.pszText = g_achTemp;

//添加列。

for (iCol = 0; iCol < C_COLUMNS; iCol++) {

lvc.iSubItem = iCol;

LoadString(g_hinst,IDS_FIRSTCOLUMN + iCol,

g_achTemp, sizeof(g_achTemp));

if (ListView_InsertColumn(hwndLV, iCol, &lvc) == -1)

return FALSE;

}

return TRUE;

}