1.自绘了CListBox:简记如下:
在DrawItem中自绘,必须设定属性:LBS_OWNERDRAWFIXED |LBS_HASSTRINGS;
如果不设定LBS_HASSTRINGS,那么GetText取得的将是乱码:
三个难点,一是自绘属性加上LBS_OWNERDRAWFIXED后,必须同时重载DrawItem和MeasureItem,我第一次只重载了DrawItem,发现出现堆栈错误。 二是自绘属性中必须有LBS_HASSTRINGS,不然GetText取得的将是乱码. 三是自绘中 dc.Attach(lpDIS->hDC);必须有对应的dc...
CButton, CListBox, UI界面阅读全文
// 重写DrawItem虚函数 void CNewListBox::DrawItem(LPDRAWITEMSTRUCT lpDrawItemStruct) { // TODO: Add your code to draw the specified item ASSERT(lpDrawItemStruct->CtlType == ODT_LISTBOX); LPCTSTR lpszText = (LPCTSTR) lpDrawItemStruct->itemData; ASSERT(lpszText != NULL); CDC dc; dc.Attach(lpDrawItemStruct->hDC); // Save these value to restor...
CListBox阅读全文