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

Вниз

OnDrawItem для TKOLMainMenu - работает или нет?   Найти похожие ветки 

 
savva ©   (2003-07-17 10:39) [0]

собственно subj. У меня в процедуру даже не попадает отладчик...


 
Кладов   (2003-07-17 15:45) [1]

В демке же работает, посмотрите, как там сделано, и что у вас не так.


 
savva ©   (2003-07-17 15:52) [2]

да уже разобрался:)) просто оказывается для каждого элемента нужно указывать OwnerDraw  - хотя процедура перерисовки назначется всему меню:)) это не есть good.

Может что нибудь поменять:  или для каждого элемента меню свою процедуру прорисовки или OwnerDraw для все меню?

это вопрос удобства когда первый раз с этим сталкиваешься..


 
Кладов   (2003-07-17 16:02) [3]

отдельные пункты меню могут быть непрорисовываемыми, чтобы отрисовка шла по умолчанию. Вообще, на уровне KOL каждому пункту меню можно назначать свое событие рисования. В MCK руки не дошли.


 
savva ©   (2003-07-17 16:13) [4]

ясно..


 
Dimaxx ©   (2003-07-17 23:35) [5]

Кстати, а как в этом режиме узнать и задать ширину выпадающей панели меню? А то она рисуется в 1-2 пикселя шириной.


 
savva ©   (2003-07-18 11:00) [6]

> Dimaxx ©   (17.07.03 23:35)
> Кстати, а как в этом режиме узнать и задать ширину выпадающей
> панели меню? А то она рисуется в 1-2 пикселя шириной.

в обработчике OnMeasureItem при помощи макроса MakeLong, где первый параметр - желаемая высота, второй - желаемая ширина, как пример для 1 элеемента меню

function TForm1.MainMenuMeasureItem(Sender: PObj; Idx: Integer): Integer;
begin
 result:=MakeLong(20,100);
end;


 
savva ©   (2003-07-18 15:24) [7]

довольно странные вещи творятся если OwnerDraw выставить для верхнего пункта меню (то что видно в самом верху:))) то перерисовка идет, а изменить размер менюшки нет возможности - не вызывается обработчик OnMeasureItem...

Владимир, это нормально? :)


 
Gandalf ©   (2003-07-18 15:51) [8]


> возможности - не вызывается обработчик OnMeasureItem...


Вроде было сообщение что та и есть - не устраненый баг. Если память не врет.


 
savva ©   (2003-07-18 16:27) [9]

обидно:) тока начал менюшку раскрашивать:)


 
Кладов   (2003-07-18 16:42) [10]

OnMeasureItem вызывается, когда это windows считает нужным. Скорее всего при создании окна, один раз. А в этот момент еще некому принимать сообщения. Но в демке работает.



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

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

Наверх




Память: 0.49 MB
Время: 0.026 c
3-1078328414
В л а д и м и р
2004-03-03 18:40
2004.04.04
Экспорт данных из таблицы Exel в таблицу базы данных


14-1079074549
Rentgen
2004-03-12 09:55
2004.04.04
(2*Pi*R*R)/Z*R...


14-1079094151
ferrik
2004-03-12 15:22
2004.04.04
RichView


7-1074682789
DECL
2004-01-21 13:59
2004.04.04
Установка dll на компьютере клиента


14-1078891957
тихий вовочка
2004-03-10 07:12
2004.04.04
Как работает поиск на этом сайте?