Re[5]: ListBox
От: Wizard-2  
Дата: 22.05.02 12:13
Оценка:
Извиняюсь за второе сообщение, но отредактировать старое не получилось.

В принципе с цветом разобрался, но возникла другая проблема — не вставляется нужный текст.
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-х символов (напр. 'я' и три нуля). Почему?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.