Графическая кнопка
Вот код:
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
Выполняется SetCapture, при выходе - ReleaseCapture. Примеры смотреть в реализации TSpeedButton.
Вот пример уже без рисунка:
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;
для TImage они не поддерживаются....
Нет просто когда наводишь быстро курсором на картинку она меняется на другую! Но если это делеть медленно! А если быстро зделать то код не пашет!
При наведении происходит смена кортинок!
Но это надо делать медлено ато заедаит!
или напиши свой на базе TCustomControl (при событии CM_MOUSEENTER ставь BitOver, а при CM_MOUSELEAVE - BitNormal)
если кнопка, то зажигай, если другое, то гаси.