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

Вниз

Помогите разобраться с отрисовкой MainMenu1DrawItem   Найти похожие ветки 

 
Аид   (2004-03-12 08:16) [0]

Вообщем у MainMenu есть событие DrawItem, в котором можно написать код своей отрисовки (включая ownerDraw в Items меню). всё рисует, но как сделать прорисовку на выделение?? там в событие передаётся TDrawState, я попробовал все - но при наведении мышки не выделяется... может там нужна комбинация? Ниже код:

function TForm1.MainMenu1MeasureItem(Sender: PObj; Idx: Integer): Integer;
begin
   Result := (29 + 6) or ((29 * 2) shl 16);
end;

function TForm1.MainMenu1DrawItem(Sender: PObj; DC: HDC; const Rect: TRect;
 ItemIdx: Integer; DrawAction: TDrawAction;
 ItemState: TDrawState): Boolean;
begin
   if ItemState=[odsSelected] then LineTo(DC,200,200);
   TextOut( DC, 29 + 6, 6, "Hello!", 6 );
end;


эту линию он не рисует :(


 
<Falcon>   (2004-03-12 13:10) [1]

А где то этого карандаш находился? Возможно нужно еще MoveTo перед прорисовкой линии сделать? Не уверен, но проверь...


 
Аид   (2004-03-12 17:59) [2]

всё, нашёл... просто надо было вот так написать:

function TForm1.MainMenu1DrawItem(Sender: PObj; DC: HDC; const Rect: TRect;
ItemIdx: Integer; DrawAction: TDrawAction;
ItemState: TDrawState): Boolean;
begin
  if odsSelected in ItemState then LineTo(DC,200,200);
  TextOut( DC, 29 + 6, 6, "Hello!", 6 );
end;




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

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

Наверх




Память: 0.47 MB
Время: 0.19 c
14-1090916643
ИМХО
2004-07-27 12:24
2004.08.15
Опрос: самая красивая женщина (девушка) планеты


3-1090393563
KIR
2004-07-21 11:06
2004.08.15
По FR: как оставить MasterData на той же стр., что и DetailData


14-1091173760
Mellon
2004-07-30 11:49
2004.08.15
PageControl как сделать что-бы чтранички можно было мышкой


14-1091110764
clickmaker
2004-07-29 18:19
2004.08.15
RTF -> Text


3-1090408271
Иванов Сергей
2004-07-21 15:11
2004.08.15
Выборка из большой базы