Вниз
Скачать: 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.023 c
1-1127422016
Volf_555
2005-09-23 00:46
2005.10.23
Строчный калькулятор


6-1120196627
Dust
2005-07-01 09:43
2005.10.23
Сколько данных читать из неблокирующего сокета?


1-1128325284
AlexLines
2005-10-03 11:41
2005.10.23
Как узнать, что приложение запущено под win 95, 98 или win ME


1-1128354173
Vanilla Creature
2005-10-03 19:42
2005.10.23
Дайте функцию которая из числа


1-1127741397
userrrrr
2005-09-26 17:29
2005.10.23
как присоеденит к программе без формы иконку?




   Наверх