Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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.041 c
1-1128055083
DrAndrey
2005-09-30 08:38
2005.10.23
Как сделать TComboBox плоским, Ctl3D:= True - не помогает?


3-1126194426
kreyl
2005-09-08 19:47
2005.10.23
MSSQL2000 Как передать в процедуру имя таблицы в виде строки?


14-1128355122
alsov
2005-10-03 19:58
2005.10.23
Компонент для работы с ком портом


6-1120275384
Интиресующийся
2005-07-02 07:36
2005.10.23
TServerSocket!


2-1128174460
NightLord
2005-10-01 17:47
2005.10.23
Программное создание компонента





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский