Извиняюсь за второе сообщение, но отредактировать старое не получилось.
В принципе с цветом разобрался, но возникла другая проблема — не вставляется нужный текст.
case WM_DRAWITEM:
lpdis = (LPDRAWITEMSTRUCT) lParam;
if(!lpdis->CtlType==ODT_LISTBOX) break;
MyColor=(COLORREF)SendMessage(lpdis->hwndItem,LB_GETITEMDATA, lpdis->itemID, (LPARAM) 0);
SendMessage(lpdis->hwndItem, LB_GETTEXT, lpdis->itemID, (LPARAM) Buf);
SetTextColor(lpdis->hDC,MyColor);
RetCode=DrawText(lpdis->hDC,Buf,lstrlen(Buf),&lpdis->rcItem,DT_LEFT);
break;
Добавляю текст так
MyColor=RGB(255, 0, 0);
Num=SendMessage(hWndLog,LB_ADDSTRING,0,(LONG)Buf);
SendMessage(hWndLog, LB_SETITEMDATA, Num, MyColor);
Текст по LB_GETTEXT не извлекается. Точнее извлекается до 4-х символов (напр. 'я' и три нуля). Почему?