Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Меню со стилем OfficeXP [Delphi, Windows]


Страницы:   1 2 3

shalex ©   (2005-10-07 14:19:00) 

Я перевел на KOL компонент для отрисовки меню со стилем OfficeXP с возможностью изменять цвет, шрифт... может кому-нибудь тоже пригодится:
http://kol.lighthost.ru/files/XPMenus.rar

Это мой первый опыт создания KOL компонента, поэтому обо всех ошибках сообщите мне на мыло. Предложения тоже приветствуются :)


rOOse   (2006-02-22 08:36:00) [1]

У меня Делфи ругается на WndProcMenu : Undeclared


ECM   (2006-02-13 11:25:00) [2]

Извиняюсь... сразу не въехал, что D5... отвык от пятерки уже...
:))


rainstuff   (2006-02-12 21:06:00) [3]

to ECM:поиск - это первое, чем я воспользовался:)
to fellix:Я так и сделал, правда, для Rect и Point уже написал функции вручную:) Надо будет попробовать Make:) Thanx!


fellix   (2006-02-12 17:06:00) [4]

В Delphi 5 нет Types.pas.
--------------
Решение для KOL 2.33 + D 5 + XPMenus 1.09 :
В XPMenus.pas из uses удалить Types и заменить все вызовы Rect и Point на MakeRect и MakePoint.
Плюс в mckXPMenus.pas тупо исправить OnMenuItemMethodName (False).


ECM   (2006-02-12 16:25:00) [5]

<DelphiDir>\Source\Rtl\Sys\Types.pas - это стандартный модуль Delphi
учитесь пользоваться поиском по жесткому диску... :)

> Или на Delphi 5 он пахать не будет?

Будет ...


rainstuff   (2006-02-12 06:14:00) [6]

А не подскажите - компонента устанавливается нормально, но при компиляции спрашивает модуль "Types" не знаете где его можно взять?
Или на Delphi 5 он пахать не будет?
Спасибо.


Vladimir Kladov   (2006-01-22 09:15:00) [7]

Попробуйте false, вам же обычный код надо чтбы делался.


FINALSOFT   (2006-01-21 13:36:00) [8]

Установка компонента(1.09):

[Hint] mckXPMenus.pas(29): Overriding virtual method 'TKOLXPMainMenu.SetupFirst' has lower visibility (protected) than base class 'TKOLMainMenu' (public)
[Hint] mckXPMenus.pas(31): Overriding virtual method 'TKOLXPMainMenu.TypeName' has lower visibility (protected) than base class 'TKOLMainMenu' (public)
[Hint] mckXPMenus.pas(68): Overriding virtual method 'TKOLXPPopupMenu.SetupFirst' has lower visibility (protected) than base class 'TKOLPopupMenu' (public)
[Hint] mckXPMenus.pas(70): Overriding virtual method 'TKOLXPPopupMenu.TypeName' has lower visibility (protected) than base class 'TKOLPopupMenu' (public)
[Error] mckXPMenus.pas(170): Not enough actual parameters
[Error] mckXPMenus.pas(300): Not enough actual parameters
[Fatal Error] XPmenuD7.dpk(38): Could not compile used unit 'mckXPMenus.pas'

Версия MCK и KOL 2.30

вот это вызывается из mirror:
OnMenuItemMethodName( for_pcode: Boolean )
Что сюда передать?


SPeller   (2005-10-25 04:16:00) [9]

На счет границы - можно ведь просто нарисовать её чуть выше, на 1 пиксель, а снизу оставить полоску в 1 пиксель цветом фона, и проблема будет решена %)


shalex   (2005-10-24 20:55:00) [10]

Мерцание я уберу (думал, что только я это вижу...наивный...), хотя логически не сходится: черным не мерцало, а серым стало мерцать!?
По поводу оформления я еще посмотрю (вдруг где-то ошибся), но боюсь, что это Винда сама дорисовывает в зависимости от темы или версии Windows, ведь это не полностью нарисованный контрол как в Офисе, а перерисованное стандартное меню.
Но новая версия будет только на следующей неделе. Сейчас очень занят.
Если есть еще предложения, пишите...


SPeller   (2005-10-24 13:29:00) [11]

homm ©   (24.10.05 13:09) [33]
А ты меню в Офисе видел? Там она закрывается с любым оформлением

Ну и что :) Красивее когда не закрывается.


homm   (2005-10-24 13:09:00) [12]


> Чтобы нижняя полоска рамки не закрывалась выпадающим меню.


А ты меню в Офисе видел? Там она закрывается с любым оформлением.


> Кроме того, хотелось бы избавиться от мерщания задизабленного
> итема когда мышкой по нему водишь.


На счет этого ты прав. Он зачем-то перисовывается.


mdw   (2005-10-24 12:33:00) [13]

Сейчас скачал, посмотрел. У меня w2000 - наблюдается такая же фигня, как у SPeller'a с нижней границей меню и задизабленный итем мерцает.


SPeller   (2005-10-22 20:23:00) [14]

Нижняя граница меню всё-ещё закрывается. Напомню - ХР, тема оформления - Классическая.

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


shalex   (2005-10-22 20:12:00) [15]

Вышла версия  1.09
[-] Убран лишний код в связи с выходом KOL v2.16 (спасибо Владимиру Кладову).


shalex   (2005-10-13 09:19:00) [16]

Вышла версия 1.08:
[+] Добавлено свойство CheckColor.
[*] Немного оптимизирован код.
[-] Устранена утечка памяти из-за неуничтожения Font.


SPeller   (2005-10-12 15:22:00) [17]

SPeller ©   (12.10.05 15:21) [27]
А вас тема новая, а вы её отключите, поставьте классическую. и наверняка получите мой результат

У вас тема новая, вы её отключите, поставьте классическую, и наверняка получите мой результат.

Торопился, понаочепятался :)


SPeller   (2005-10-12 15:21:00) [18]

А вас тема новая, а вы её отключите, поставьте классическую. и наверняка получите мой результат.


shalex   (2005-10-12 13:04:00) [19]


> Чтобы нижняя полоска рамки не закрывалась выпадающим меню


Нижняя полоска не закрывается, она просто не рисуется, примерно также как в OfficeXP (Delphi 7).
Но... картинка выглядит у Вас как-то странно... вот у меня так:
http://kol.lighthost.ru/files/xpmenu.png


SPeller   (2005-10-12 12:21:00) [20]

shalex ©   (12.10.05 10:17) [24]
При каких свойствах это получается?

При тех, что в скомпилированной демке :) Вин ХР, классическая тема оформления.


Страницы:   1 2 3

Наверх

Титульная страница Поиск, карта сайта Написать письмо