因为listctrl的每个item只支持显示260位字符,所以我重写了这个控件,在DrawItem事件里做了处理。
现在确实能显示260位以上的字符串了,双击某一列的表头的边缘,列的宽度只会缩放到260位字符,261位以后的字符显示不了。
我想问的是:怎么样双击列头的边缘,使列宽缩放以至于全部显示字符串的内容(260位以后)。不知道怎么描述,如果看不懂的话非常抱歉...
另外,双击列宽的边缘会触发OnHdnDividerdblclick(NMHDR *pNMHDR, LRESULT *pResult)事件.
现在确实能显示260位以上的字符串了,双击某一列的表头的边缘,列的宽度只会缩放到260位字符,261位以后的字符显示不了。
我想问的是:怎么样双击列头的边缘,使列宽缩放以至于全部显示字符串的内容(260位以后)。不知道怎么描述,如果看不懂的话非常抱歉...
另外,双击列宽的边缘会触发OnHdnDividerdblclick(NMHDR *pNMHDR, LRESULT *pResult)事件.
GetTextExtent不是静态的函数不能直接用,怎么在OnHdnDividerdblclick(NMHDR *pNMHDR, LRESULT *pResult)事件中获得CDC啊?this->GetDC()是不对的
pDC->GetTextExtent(...);
得到的宽度比我现有字体的宽度宽很多.比如我现在"ABCD"在界面上实际的宽度是20,但是pDC->GetTextExtent算出来却是40.