我正在编辑的程序使用此代码生成列表框中的列:
m_list.InsertColumn(0,_T("Parameter"), LVCFMT_LEFT, 90);
m_list.InsertColumn(1,_T("Show?"), LVCFMT_LEFT, 50);
m_list.InsertColumn(2,_T("Value"), LVCFMT_LEFT, 400);
当用户使用该程序时,用户可以点击一行(单元格?我不确定命名法)并输入一些文字。问题是它只允许用户输入尽可能多的文本列。因此,在这种情况下,用户单击“值”列(400像素宽)中的单元格,它只允许用户输入74个字符。
有没有办法让用户可以输入任意数量的字符,但是它会将显示的文本截断为列宽(类似于Windows截断长文件名的方式)?这些值也存储在程序内其他位置的数据结构中。
答案 0 :(得分:0)
这是从MSDN here
中提取的要自定义标签编辑,请执行 LVN_BEGINLABELEDIT和的处理程序 让它发送LVM_GETEDITCONTROL 消息到列表视图控件。如果一个 正在编辑标签,返回 value将成为编辑的句柄 控制。使用此句柄进行自定义 通过发送通常的编辑控件 EM_XXX消息
<强>更新强>
举个例子,这是一个典型的场景:
m_list
OnBeginLabelEdit()
OnBeginLabelEdit()
来电SendMessage(LVM_GETEDITCONTROL)
中,HWND
返回编辑控件以编辑文字