Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 26.03.2009, 21:45
Иринкаа Иринкаа вне форума
Прохожий
 
Регистрация: 11.11.2007
Сообщения: 20
Репутация: 10
По умолчанию шрифт в MainMenu

как изменить шрифт в MainMenu?
т.е. как сделать меню более крупным, заметным

подскажите пожалуйста

я читала на форуме ответ на подобную тему...но там кратко
не получилось реализовать...
может кто то объяснит подробнее)

Последний раз редактировалось Иринкаа, 26.03.2009 в 21:47.
Ответить с цитированием
  #2  
Старый 26.03.2009, 21:56
Иринкаа Иринкаа вне форума
Прохожий
 
Регистрация: 11.11.2007
Сообщения: 20
Репутация: 10
По умолчанию

вот это я нашла...

"Надо у меню назначить OwnerDraw := true и для всех итемов этого меню назначить обработчики событий OnDrawItem/OnAdvancedDrawItem/OnMeasureItem и в них канве назначать нужный шрифт.
Однако, можно поступить еще проще — изменить у объекта Screen свойство MenuFont.
Третий вариант — написать своего потомка TMenuItem со свойством Font с перекрытым методом AdvancedDrawItem, либо у существующих итемов подменять каким-либо образом этот метод своим."

что такое объект Screen???
Ответить с цитированием
  #3  
Старый 26.03.2009, 22:07
Иринкаа Иринкаа вне форума
Прохожий
 
Регистрация: 11.11.2007
Сообщения: 20
Репутация: 10
По умолчанию

точнее где именно прописывать про screen...

когда я прописывала Canvas.Font.Size:=10;
шрифт менялся...но происходил смещение слов слов в меню..часть исчезало...ав оьщем фигня получается...
Ответить с цитированием
  #4  
Старый 27.03.2009, 14:47
BloodFooria BloodFooria вне форума
Новичок
 
Регистрация: 30.10.2008
Адрес: Улан-Удэ
Сообщения: 81
Репутация: 10
По умолчанию

Используйте компонент TRyMenu! Там можно поставить шрифт, размер и стиль.
На сайте был пример его использования...

Рисуется красивое меню, даже пользователям Vista (где тоже красивое меню ) становится завидно
Ответить с цитированием
  #5  
Старый 27.03.2009, 17:20
Иринкаа Иринкаа вне форума
Прохожий
 
Регистрация: 11.11.2007
Сообщения: 20
Репутация: 10
По умолчанию

Цитата:
Сообщение от BloodFooria
Используйте компонент TRyMenu! Там можно поставить шрифт, размер и стиль.
На сайте был пример его использования...

Рисуется красивое меню, даже пользователям Vista (где тоже красивое меню ) становится завидно

скачала я TRyMenu...
и как его применять? он запускается как потдельный проект дельфи... (у меня дельфи 7)

Последний раз редактировалось Иринкаа, 27.03.2009 в 17:23.
Ответить с цитированием
  #6  
Старый 27.03.2009, 17:57
BloodFooria BloodFooria вне форума
Новичок
 
Регистрация: 30.10.2008
Адрес: Улан-Удэ
Сообщения: 81
Репутация: 10
По умолчанию

Копируете файлы RyMenu.pas и RyMenu.dcu в папку с проектом.
В своем проекте:

1) В public приписываем событие "constructor Create(AOwner: TComponent); override;"
2) После implemation пишем:
Код:
1
2
3
4
5
6
7
8
constructor TMainForm.Create(AOwner: TComponent);
begin
  inherited;
  RyMenu.Add(MainMenu);         // Меню
  RyMenu.MinHeight:= 23;        // Минимальная высота итема меню
  RyMenu.Font.Name:= 'Arial';   // Шрифт
  RyMenu.Font.Size:= 9;         // Размер шрифта
end;

OwnerDraw у меню поставить в True!

P.S. Вообще у RyMenu много свойств. Поэксперементируйте
__________________
Auta i Lome...
Ответить с цитированием
  #7  
Старый 27.03.2009, 18:24
Иринкаа Иринкаа вне форума
Прохожий
 
Регистрация: 11.11.2007
Сообщения: 20
Репутация: 10
По умолчанию

н-да...
у меня почему то не получается добавить TRyMenu как новый компонет...
в какой вкладке он должен появиться?

строго не судите) наверное, моя 3-я работа дельфи...и последняя)))
Ответить с цитированием
  #8  
Старый 29.03.2009, 17:21
BloodFooria BloodFooria вне форума
Новичок
 
Регистрация: 30.10.2008
Адрес: Улан-Удэ
Сообщения: 81
Репутация: 10
По умолчанию

Ничего подобного делать не надо

Просто скидываем в папку с программой файлы RyMenus.
В Uses нужного Unit'а прописываем RyMenus. Ну и дальше то, что я описал.

Для примера простенький код:
Код:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
unit Main;
 
interface
 
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Menus, RyMenus;
 
type
  TMainForm = class(TForm)
    { Здесь идут различные компоненты, процедуры и функции }
  public
    constructor Create(AOwner: TComponent); override;
 
var
  MainForm: TMainForm;
 
implementation
 
{$R *.dfm}
 
{ Меню в стиле RyMenu }
constructor TMainForm.Create(AOwner: TComponent);
begin
  inherited;
  RyMenu.Add(MainMenu);
  RyMenu.MinHeight:= 23;
  RyMenu.Font.Name:= 'Arial';
  RyMenu.Font.Size:= 8;
end;
 
end.

Помню когда я писал свой третий проект Delphi. Я тогда знал еще меньше, чем вы сейчас
__________________
Auta i Lome...
Ответить с цитированием
  #9  
Старый 29.03.2009, 17:55
Иринкаа Иринкаа вне форума
Прохожий
 
Регистрация: 11.11.2007
Сообщения: 20
Репутация: 10
По умолчанию

учитывайте, что это мой дипломный проект)))))
становится веселее....просто специальность и диплом больше с экономической направленностью...

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

но попробую и через RyMenus...может получше будет)
Ответить с цитированием
  #10  
Старый 29.03.2009, 18:00
BloodFooria BloodFooria вне форума
Новичок
 
Регистрация: 30.10.2008
Адрес: Улан-Удэ
Сообщения: 81
Репутация: 10
По умолчанию

Удачи в написании

Если будут еще проблемы, обращайтесь на форум. Тут много знающих
__________________
Auta i Lome...
Ответить с цитированием
  #11  
Старый 29.03.2009, 18:07
Иринкаа Иринкаа вне форума
Прохожий
 
Регистрация: 11.11.2007
Сообщения: 20
Репутация: 10
По умолчанию

вот в этой строке возникает ошибка
RyMenu.Add(MainMenu);

какой параметр у этой процедуры?
Что должно обозначаться под MainMenu??

Последний раз редактировалось Иринкаа, 29.03.2009 в 18:12.
Ответить с цитированием
  #12  
Старый 29.03.2009, 18:18
BloodFooria BloodFooria вне форума
Новичок
 
Регистрация: 30.10.2008
Адрес: Улан-Удэ
Сообщения: 81
Репутация: 10
По умолчанию

MainMenu - имя вашего Menu. По стандарту MainMenu1.

Не забудьте у этого самого Menu поставить OnwerDraw в True.
__________________
Auta i Lome...
Ответить с цитированием
  #13  
Старый 29.03.2009, 18:28
Иринкаа Иринкаа вне форума
Прохожий
 
Регистрация: 11.11.2007
Сообщения: 20
Репутация: 10
По умолчанию

Цитата:
Сообщение от BloodFooria
MainMenu - имя вашего Menu. По стандарту MainMenu1.

Не забудьте у этого самого Menu поставить OnwerDraw в True.


я вообще так и подумала...и прописала
RyMenu.Add(MainMenu1);

ошибка -нет актуальныхх параметров

само меню на форме имеется)) свойство OnwerDraw стоит как true
Ответить с цитированием
  #14  
Старый 30.03.2009, 08:08
BloodFooria BloodFooria вне форума
Новичок
 
Регистрация: 30.10.2008
Адрес: Улан-Удэ
Сообщения: 81
Репутация: 10
По умолчанию

Как я понимаю у вас другая версия RyMenu. У меня самая стабильная, насколько я знаю. Прикладываю...

Скопируйте эти файлы и замените ими уже существующие в папке с проектом. После этого должно работать.
Вложения
Тип файла: rar TRyMenu.rar (10.7 Кбайт, 184 просмотров)
__________________
Auta i Lome...
Ответить с цитированием
  #15  
Старый 30.03.2009, 16:29
Иринкаа Иринкаа вне форума
Прохожий
 
Регистрация: 11.11.2007
Сообщения: 20
Репутация: 10
По умолчанию

спасибо) с этим все получилось)))

только, подскажите, какое свойство RyMenu отвечает за ширину, которая отводится для 1 элемента заголовка
а то у меня шрифт увеличился, а названия пунктов не помещаются...только начала...
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 00:59.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025