Re[6]: ListBox
От: flyker Россия  
Дата: 22.05.02 13:10
Оценка: -1
Здравствуйте Wizard-2, Вы писали:

W2>Извиняюсь за второе сообщение, но отредактировать старое не получилось.


W2>В принципе с цветом разобрался, но возникла другая проблема — не вставляется нужный текст.

W2>
W2>case WM_DRAWITEM: 
W2>         lpdis = (LPDRAWITEMSTRUCT) lParam;
W2>         if(!lpdis->CtlType==ODT_LISTBOX) break;

W2>         MyColor=(COLORREF)SendMessage(lpdis->hwndItem,LB_GETITEMDATA, lpdis->itemID, (LPARAM) 0); 
W2>         SendMessage(lpdis->hwndItem, LB_GETTEXT, lpdis->itemID, (LPARAM) Buf); 

W2>        SetTextColor(lpdis->hDC,MyColor);
W2>        RetCode=DrawText(lpdis->hDC,Buf,lstrlen(Buf),&lpdis->rcItem,DT_LEFT);
W2>break;
W2>

W2>Добавляю текст так
W2>
W2>MyColor=RGB(255, 0, 0);
W2>Num=SendMessage(hWndLog,LB_ADDSTRING,0,(LONG)Buf);
W2>SendMessage(hWndLog, LB_SETITEMDATA, Num, MyColor); 
W2>

W2>Текст по LB_GETTEXT не извлекается. Точнее извлекается до 4-х символов (напр. 'я' и три нуля). Почему?

Посылай данные одним способом, либо через LB_ADDSTRING, либо LB_SETITEMDATA
Все гениальное — просто
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.