Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.07.17;
Скачать: CL | DM;

Вниз

графическое меню   Найти похожие ветки 

 
servs ©   (2003-07-03 20:43) [0]

Нужно сделать графическое меню (типа должно быть красивенько).
Накидали Image-ей, поставили картинки - все замечательно.
Когда подвели мышку - заменили на более яркую картинку. А когда менять обратно?

Я понимаю что это самый тупой метод, но его хватит.

Итак вопросы:
Как это нужно делать?
Как отслеживать то что мышка "ушала"?
Вообще стоит возиться с картинками или написать что-то на базе другого компонента?

Зы. Вообщем, подскажите куда двигаться.
Ззы. Чужие компоненты только с исходниками.


 
Poirot ©   (2003-07-03 20:49) [1]

См исходники самого класса TMenu! Там смотри обраьотчики события типа PAINT и мышковские... делается всё просто... для начала поставь меню в ОунДрау и правь события On.... что-то там Draw!!!!
Это для стандартных менюшек....


 
servs ©   (2003-07-03 20:53) [2]

Меню в смысле не стандартное.
А типа как делают в энциклопедиях, оболочках для МР3 сборников разных. Т.е лежать оно будет "посреди" формы.


 
Poirot ©   (2003-07-03 20:57) [3]

Тогда вообще просто!!!
Знаете как менять форму окна с стандартной на произвольную?
Теперь берём стд буттон и кидаем на него гимп, причём я точьно не помню в какой последовательности, но гимп состоять может из нескольких одинаковых пикторгам и каждая отражает своё состояние... ну и в принципе всё... или же грузить при каждом из необходимых событий нужные гимпы...
А потом по контуру картинки формирует красивую кнопочку....
Если вам надо что-то типа винампа, так с эти простой листбокс справится, только самому прорисовывать придётся - аналогично как с меню....


 
Dimaxx ©   (2003-07-03 23:53) [4]

Пиши на мыло - я скину тебе компонент XPMenu. Он аналогичен меню Office XP. Там сам посмотришь и сделаешь как тебе нужно.


 
Adil Aliev ©   (2003-07-04 00:16) [5]

Что то должен быть в DrawItem


 
servs ©   (2003-07-04 15:37) [6]

>Poirot ©

Спасибо, твой варант мне нравиться. А больлее детально про
"гимп состоять может из нескольких одинаковых пикторгам и каждая отражает своё состояние... " незнаешь где можно посмотреть?

>Dimaxx ©, Adil Aliev ©

Не то меню. XPMenu у немя где то есть


 
servs ©   (2003-07-04 16:07) [7]

Спасибо всем ответившим, проблемы решилась вот так:

...............

type
TVSImage = class(TImage)
private
{ Private declarations }
FOnMouseEnter: TNotifyEvent;
FOnMouseLeave: TNotifyEvent;
procedure CMMouseEnter(var Message: TMessage); message CM_MOUSEENTER;
procedure CMMouseLeave(var Message: TMessage); message CM_MOUSELEAVE;
protected
{ Protected declarations }
public
{ Public declarations }
published
{ Published declarations }
property OnMouseEnter: TNotifyEvent read FOnMouseEnter write FOnMouseEnter;
property OnMouseLeave: TNotifyEvent read FOnMouseLeave write FOnMouseLeave;
end;

procedure Register;

implementation

procedure TVSImage.CMMouseEnter(var Message: TMessage);
begin
inherited;
if Assigned(FOnMouseEnter) then
FOnMouseEnter(Self);
end;

procedure TVSImage.CMMouseLeave(var Message: TMessage);
begin
inherited;
if Assigned(FOnMouseLeave) then
FOnMouseLeave(Self);
end;

...........


 
Poirot ©   (2003-07-04 16:39) [8]


> >Poirot ©
>
> Спасибо, твой варант мне нравиться. А больлее детально про
>
> "гимп состоять может из нескольких одинаковых пикторгам
> и каждая отражает своё состояние... " незнаешь где можно
> посмотреть?

должно быть в МСДН! Ты посмотри на гимпы которые с делфими идут - там 2 картинки - первая отображается когда кнопка енадлед а вторая - дизаблед!!!



Страницы: 1 вся ветка

Текущий архив: 2003.07.17;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.015 c
1-55527
Cranium
2003-07-04 21:40
2003.07.17
Простой вопрос о TreeView


1-55542
killer
2003-07-05 15:29
2003.07.17
Как удалить компонент?


1-55532
Любитель
2003-07-04 17:20
2003.07.17
Бегущая строка


14-55803
cyborg
2003-07-01 00:46
2003.07.17
Осторожно, идиотские инструкции!


1-55635
r900
2003-07-02 11:48
2003.07.17
Как вставить компонент DateTimePicker в ячейку таблицы StringGrid