Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Графическая кнопка

11K
16 ноября 2006 года
SCiPTAG
34 / / 14.11.2006
Есть Рисунок Image1 и два Битмапа BitNormal и BitOver, все 16X16

Вот код:

procedure TForm1.Image1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin

if (x>1) and (x<14) and (y>1) and (y<14) then
begin
Form1.Image1.Canvas.Draw(0,0,BitOver);
end
else
Form1.Image1.Canvas.Draw(0,0,BitNormal);

end;

Так вот, весь затык в том, что все работает отлично, если курсор
мыши двигать медленно.
А при быстрых движениях курсора не срабатывает.:confused:

Заранее спасибо.

Поясняю, кто не понял:
это подсветка граффической кнопки при наведении курсора, но проблема то что при быстром движении курсора алгоритм не выполняется! :confused: :confused: :confused:
...
при наведении курсора в область рисунка
Image1, где X>1,X<14,Y>1,Y<14
Рисуется BitMap BitOver с подсвеченным изображением,
иначе рисуется BitNormal
10
16 ноября 2006 года
Freeman
3.2K / / 06.03.2004
[QUOTE=SCiPTAG]при наведении курсора в область рисунка[/QUOTE]
Выполняется SetCapture, при выходе - ReleaseCapture. Примеры смотреть в реализации TSpeedButton.
11K
16 ноября 2006 года
SCiPTAG
34 / / 14.11.2006
Не совсем то что надо.

Вот пример уже без рисунка:

procedure TForm1.Label1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin

if (x>1) and (x<14) and (y>1) and (y<14) then
begin
Form1.Label1.Font.Color:= clBlue;
end
else
Form1.Label1.Font.Color:= clNavy;

end;
339
17 ноября 2006 года
verybadbug
619 / / 12.09.2005
тебе надо обрабатывать сообщения CM_MOUSEENTER и CM_MOUSELEAVE...
для TImage они не поддерживаются....
11K
17 ноября 2006 года
SCiPTAG
34 / / 14.11.2006
Нет просто когда наводишь быстро курсором на картинку она меняется на другую! Но если это делеть медленно! А если быстро зделать то код не пашет!
11K
18 ноября 2006 года
SCiPTAG
34 / / 14.11.2006
Эти кортинки я использую как кнопки!
При наведении происходит смена кортинок!
Но это надо делать медлено ато заедаит!
339
20 ноября 2006 года
verybadbug
619 / / 12.09.2005
возьми готовый компонент.....
или напиши свой на базе TCustomControl (при событии CM_MOUSEENTER ставь BitOver, а при CM_MOUSELEAVE - BitNormal)
3.2K
21 ноября 2006 года
Sania
186 / / 28.10.2006
Работай с событимаями OnMouseMove кнопки и других компонентов:
если кнопка, то зажигай, если другое, то гаси.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог