Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.03.23;
Скачать: CL | DM;

Вниз

ооп вопрос   Найти похожие ветки 

 
серж   (2008-02-20 14:39) [0]

Нужен наследник TComboBox, ну точнее наверное TCustomComboBox, в котором я хочу изменить отрисовку в
procedure CNDrawItem(var Message: TWMDrawItem); message CN_DRAWITEM;

Как это следует сделать? Посмотрите реализацию TCustomComboBox, подскажите пожалуйста.


 
Palladin ©   (2008-02-20 14:41) [1]

а зачем? наследоваться необязательно... TComboBox предоставляет для этого все возможности...


 
серж   (2008-02-20 14:52) [2]

Может быть и зря я пытаюсь это сделать. Ниже есть тема, где есть описание самой проблемы: http://delphimaster.net/view/2-1203486854/

У меня не получилось исправить ситуацию через OnDrawItem в TComboBox.

В итоге, я хочу исправить обработчик только одной строкой:
procedure TCustomComboBox.CNDrawItem(var Message: TWMDrawItem);
var
 State: TOwnerDrawState;
begin
 with Message.DrawItemStruct^ do
 begin
   State := TOwnerDrawState(LongRec(itemState).Lo);
   if itemState and ODS_COMBOBOXEDIT <> 0 then
     Include(State, odComboBoxEdit);
   if itemState and ODS_DEFAULT <> 0 then
     Include(State, odDefault);
   FCanvas.Handle := hDC;
   FCanvas.Font := Font;
   FCanvas.Brush := Brush;
   if (Integer(itemID) >= 0) and (odSelected in State) then
   begin
     FCanvas.Brush.Color := clHighlight;
     FCanvas.Font.Color := clHighlightText
   end;
   if Integer(itemID) >= 0 then
     DrawItem(itemID, rcItem, State) else
     FCanvas.FillRect(rcItem);                  
    if Integer(itemID) <> -1 then          
      if (odFocused in State) then DrawFocusRect(hDC, rcItem);
   FCanvas.Handle := 0;
 end;
end;



Страницы: 1 вся ветка

Текущий архив: 2008.03.23;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.016 c
15-1202729706
{RASkov}
2008-02-11 14:35
2008.03.23
Запомнить параметры для каждой папки


8-1177567835
givigudze
2007-04-26 10:10
2008.03.23
Звук м,е,


2-1203529658
voe
2008-02-20 20:47
2008.03.23
работа с координатами.


2-1204099770
vvv777
2008-02-27 11:09
2008.03.23
Раскрывать Node TreeView при наведении мыши через N секунд


9-1167927313
<<=_!!!YO!!!_=>>
2007-01-04 19:15
2008.03.23
Движение камеры да мышкой