Re[2]: ComboBox
От: ArcD  
Дата: 07.04.04 12:15
Оценка:
Здравствуйте, SchweinDeBurg, Вы писали:

SDB>А где анализ itemState? ;)


SDB>

SDB>ODS_COMBOBOXEDIT
SDB>The drawing takes place in the selection field (edit control) of an owner-drawn combo box.


Спасибо большое. Может быть Вы сразу подскажете и как это сделать ? :)


        case WM_DRAWITEM:
        {
            DWORD    RetCode;
            LPDRAWITEMSTRUCT    lpdis = (LPDRAWITEMSTRUCT) lParam;
            //Проверяем комбобокс ли это и нужный ли он?
            if(!lpdis->CtlType==ODT_COMBOBOX) 
                break;
            if(!lpdis->CtlID==IDC_TEXTURE) 
                break;
            RetCode=0;
            COLORREF    MyColor;
            //Номер отрисовываемого итема
            switch (lpdis->itemID)
            {
                case    0:
                    MyColor=RGB(128,0,0);
                    break;
                case    1:
                    MyColor=RGB(0,128,0);
                    break;
                case    2:
                    MyColor=RGB(0,0,128);
                    break;
                default:
                    MyColor=RGB(128,128,128);
                    break;
            }
            //Задаем цвет текста
            SetTextColor(lpdis->hDC,MyColor);
            //Рисуем текст
            RetCode=DrawText(lpdis->hDC,pszCombo4[lpdis->itemID],lstrlen(pszCombo4[lpdis->itemID]),&lpdis->rcItem,DT_LEFT);
                        
                        //Анализирую сотояние....
                        if(lpdis->itemState==ODS_COMBOBOXEDIT)
                        {
                             А как рисовать-то и куда самое главное???
                             .........................
                        }
            break;
        }
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.