我有从CListCtrl派生的自定义类。
当用户点击列标题时,我想让他输入文本值。 我发现我可以通过以下方式实现:CHeaderCtrl :: EditFilter。 我希望编辑与列标签的文本位于同一位置。实际上它是下面的,因此只有部分控件和文本可见。列标签的一部分也是可见的。 如何通过CHeaderCtrl :: GetItemRect
设置由rect读取的编辑位置
void Data_list::OnHdnItemclickpointslist(NMHDR *pNMHDR, LRESULT *pResult)
{
LPNMHEADER phdr = reinterpret_cast<LPNMHEADER>(pNMHDR);
CHeaderCtrl* header = this->GetHeaderCtrl();
CRect rect;
header->GetItemRect(phdr->iItem , rect );
int iFilter = header->EditFilter(phdr->iItem , TRUE);
// how to set position of edit
*pResult = 0;
}
答案 0 :(得分:0)
根据您的评论回复,您应该考虑采用不同的方法来收集所需的数据。我使用以下方法做了非常相似的事情。
我没有为此提供实际代码,因为有很多方法可以实现上述方法。这应该为您提供实现编辑机制的起点。