LVCOLUMNA 结构 (commctrl.h)

包含有关报表视图中的列的信息。 此结构用于创建和操作列。 此结构取代了 LV_COLUMN 结构。

语法

typedef struct tagLVCOLUMNA {
  UINT  mask;
  int   fmt;
  int   cx;
  LPSTR pszText;
  int   cchTextMax;
  int   iSubItem;
  int   iImage;
  int   iOrder;
  int   cxMin;
  int   cxDefault;
  int   cxIdeal;
} LVCOLUMNA, *LPLVCOLUMNA;

成员

mask

类型: UINT

指定哪些成员包含有效信息的变量。 此成员可以是零,也可以是以下一个或多个值:

含义
LVCF_FMT
fmt 成员有效。
LVCF_WIDTH
cx 成员有效。
LVCF_TEXT
pszText 成员有效。
LVCF_SUBITEM
iSubItem 成员有效。
LVCF_IMAGE

版本 4.70iImage 成员有效。

LVCF_ORDER

版本 4.70iOrder 成员有效。

LVCF_MINWIDTH

版本 6.00Windows Vista。cxMin 成员有效。

LVCF_DEFAULTWIDTH

版本 6.00Windows Vista。cxDefault 成员有效。

LVCF_IDEALWIDTH

版本 6.00Windows Vista。cxIdeal 成员有效。

fmt

类型: int

列标题和列中子项文本的对齐方式。 最左侧列的对齐方式始终LVCFMT_LEFT;无法更改。 此成员可以是以下值的组合。 请注意,并非所有组合都有效。

含义
LVCFMT_LEFT
文本左对齐。
LVCFMT_RIGHT
文本右对齐。
LVCFMT_CENTER
文本居中。
LVCFMT_JUSTIFYMASK
用于选择控制字段对齐的 fmt 位的位掩码。 若要检查列的格式,请使用逻辑“and”将LCFMT_JUSTIFYMASK与 fmt 组合在一起。 然后,可以使用 switch 语句来确定是设置LVCFMT_LEFT位、LVCFMT_RIGHT位还是LVCFMT_CENTER位。
LVCFMT_IMAGE

版本 4.70。 该项显示图像列表中的图像。

LVCFMT_BITMAP_ON_RIGHT

版本 4.70。 位图显示在文本右侧。 这不会影响分配给标头项的图像列表中的图像。

LVCFMT_COL_HAS_IMAGES

版本 4.70。 标头项包含图像列表中的图像。

LVCFMT_FIXED_WIDTH

版本 6.00Windows Vista。 无法调整列的大小;与 HDF_FIXEDWIDTH 相同。

LVCFMT_NO_DPI_SCALE

版本 6.00Windows Vista。 如果未设置,CCM_DPISCALE将控制固定宽度的纵向扩展。

LVCFMT_FIXED_RATIO

版本 6.00Windows Vista。 宽度将增加行高。

LVCFMT_SPLITBUTTON

版本 6.00Windows Vista。 列是拆分按钮 (与HDF_SPLITBUTTON) 相同。 列标题显示与HDF_SPLITBUTTON) 相同的拆分按钮 (。

cx

类型: int

列的宽度(以像素为单位)。

pszText

类型: LPTSTR

如果正在设置列信息,则此成员是包含列标题文本的以 null 结尾的字符串的地址。 如果结构正在接收有关列的信息,则此成员指定接收列标题文本的缓冲区的地址。

cchTextMax

类型: int

pszText 成员指向的缓冲区的大小(以 TCHAR为单位)。 如果结构未接收有关列的信息,则忽略此成员。

iSubItem

类型: int

与列关联的子项的索引。

iImage

类型: int

版本 4.70。 图像列表中图像的从零开始的索引。 指定的图像将显示在列中。

iOrder

类型: int

版本 4.70。 从零开始的列偏移量。 列偏移量按从左到右的顺序排列。 例如,零表示最左侧的列。

cxMin

类型: int

Windows Vista。 列的最小宽度(以像素为单位)。

cxDefault

类型: int

Windows Vista。 应用程序定义的值通常用于存储列的默认宽度。 列表视图控件忽略此成员。

cxIdeal

类型: int

Windows Vista。 只读。 列的理想宽度(以像素为单位),因为列当前可能自动调整为较小的宽度。

备注

如果将索引为 0 的列表视图控件添加到索引为 0 (最左侧列) ,则始终LVCFMT_LEFT。 在列 0 上设置其他标志不会覆盖该对齐方式。 因此,如果继续插入索引为 0 的列,则所有列中的文本都左对齐。 如果希望第一列右对齐或居中,可以创建一个虚拟列,然后插入一个或多个索引为 1 或更高的列,并指定所需的对齐方式。 最后删除虚拟列。

注意

commctrl.h 标头将 LVCOLUMN 定义为别名,该别名根据 UNICODE 预处理器常量的定义自动选择此函数的 ANSI 或 Unicode 版本。 将非特定编码别名的使用与非非特定编码的代码混合使用可能会导致不匹配,从而导致编译或运行时错误。 有关详细信息,请参阅 函数原型的约定

要求

   
最低受支持的客户端 Windows Vista [仅限桌面应用]
最低受支持的服务器 Windows Server 2003 [仅限桌面应用]
标头 commctrl.h

另请参阅

LVM_DELETECOLUMN

LVM_GETCOLUMN

LVM_INSERTCOLUMN

LVM_SETCOLUMN

引用