Форум: "Основная";
Текущий архив: 2005.10.23;
Скачать: [xml.tar.bz2];
ВнизПроблема в 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 вся ветка
Форум: "Основная";
Текущий архив: 2005.10.23;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.036 c