Вниз
Скачать: CL | DM;

Проблема в OnMesureItem для TMenuItem?   Найти похожие ветки 

 
Bambino Programmino   (2005-09-29 15:24) [0]

Здравствуйте, Мастера! Подскажите пожалуйста.

Хочу сделать в полоске главного меню сделать большой шрифт, пытаюсь выставить в OnMesureItem соответствующую высоту, а ничего не получается, полоска главного меню не меняет своего размера. Как быть?

Вот привожу свой код:


procedure TMain.mn1MeasureItem(Sender: TObject; ACanvas: TCanvas; var Width, Height: Integer);
var
TopLevel: Boolean;
begin
 with TMenuItem(Sender) do begin
   TopLevel := GetParentComponent is TMainMenu;
   if TopLevel then
     Height := 100
   else
     Height := 20;
   if IsLine then Height := 4;
 end;
end;


Спасибо!


 
Игорь Шевченко ©   (2005-09-29 15:36) [1]

А у меню свойство OwnerDraw установлено ?


 
Bambino Programmino   (2005-09-29 15:44) [2]

Да, свойство OwnerDraw установил в True, но все-равно не помогает. У меня такое ощущение, что OnMesureItem на TopLevel не распространяется....


 
Bambino Programmino   (2005-09-29 16:18) [3]

Ребят, ну неужели никак нельзя победить эту проблему?


 
Bambino Programmino   (2005-09-30 06:10) [4]

Пытался изменить в файле Menus.pas процедурку OnMesureItem. Вообще никакого эффекта. Странная особенность в OnAdvancedDrawItem такая вот штука работает:


var TopLevel: Boolean;
....

with TMenuItem(Sender) do begin
TopLevel := GetParentComponent is TMainMenu;
if TopLevel then ShowMessage("It is TopLevel");
end;


А вот в OnMesureItem месаж не показывает. Такое ощущение, что OnMesureItem вообще игнорит полоску главного меню... Хотя в борландском файле Menus.pas в обработчике OnMesureItem подобная конструкция (имеется ввиду попытка обращения к TopLevel) используется, а смысл тогда?

Так вот вопрос в том, можно ли все-таки как-то изменить размер TopLevel или это борландский касяк и тут уже ничего не поделаешь?



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

Скачать: CL | DM;



Память: 0.46 MB
Время: -0.972 c
4-1124447974
Alex870
2005-08-19 14:39
2005.10.23
PID процесса


2-1128067300
555
2005-09-30 12:01
2005.10.23
Почему то возникает ошибка - Stek Overlow


1-1128065748
SergProger
2005-09-30 11:35
2005.10.23
RAR - архивы


14-1128424032
syte_ser78
2005-10-04 15:07
2005.10.23
avi в vob


8-1117529675
User1
2005-05-31 12:54
2005.10.23
Прозрачность картинки




   Наверх