Форум: "Основная";
Текущий архив: 2005.09.04;
Скачать: [xml.tar.bz2];
ВнизОбработка события входа курсора мыши на компонент и выхода! Найти похожие ветки
← →
Витёк (2005-08-16 01:12) [0]Помоги пожалуйста, как мне например, сделать так: когда я навожу курсор мыши на TImage, в TImage загружалась, например "C:\1. bmp", а когда я вывожу курсор мыши из TImage, в ТImage загружалась "C:\2.bmp"! Только не ONMouseMove!
← →
Kerk © (2005-08-16 01:13) [1]Баян
← →
Наиль © (2005-08-16 01:55) [2]Здесь этот вопрос обсуждается постояно.
Чтобы не загружать твои мозги информацией о message, приведу примитивный пример:type
TForm1 = class(TForm)
Panel1: TPanel;
Image1: TImage;
procedure Panel1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
procedure Image1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
private
a:byte;
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Image1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
if a=1 then Exit;
a:=1;
Image1.Picture.LoadFromFile(ProgramPath+"1.bmp");
end;
procedure TForm1.Panel1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
if a=2 then Exit;
a:=2;
Image1.Picture.LoadFromFile(ProgramPath+"2.bmp");
end;
И форма:object Form1: TForm1
Left = 216
Top = 192
Width = 220
Height = 250
Caption = "Form1"
Color = clBtnFace
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -11
Font.Name = "MS Sans Serif"
Font.Style = []
OldCreateOrder = False
PixelsPerInch = 96
TextHeight = 13
object Panel1: TPanel
Left = 32
Top = 40
Width = 153
Height = 145
BorderWidth = 2
TabOrder = 0
OnMouseMove = Panel1MouseMove
object Image1: TImage
Left = 3
Top = 3
Width = 147
Height = 139
Align = alClient
OnMouseMove = Image1MouseMove
end
end
end
← →
Наиль © (2005-08-16 02:19) [3]Второй пример не сложнее:
type
TForm1 = class(TForm)
Image1: TImage;
Timer1: TTimer;
procedure Timer1Timer(Sender: TObject);
end;
var
Form1: TForm1;
a:byte=2;
implementation
{$R *.dfm}
procedure TForm1.Timer1Timer(Sender: TObject);
Var
cnt:TControl;
s:string;
begin
cnt:=ControlAtPos(ScreenToClient(Mouse.CursorPos),true);
s:="";
if cnt<>nil then s:=cnt.Name;
if (s<>"Image1") and (a=2) then Exit;
if (s="Image1") and (a=1) then Exit;
a:=3-a;
if a=1
then s:="1.bmp"
else s:="2.bmp";
Image1.Picture.LoadFromFile(s);
end;
Форма:object Form1: TForm1
Left = 519
Top = 240
Width = 220
Height = 250
Caption = "Form1"
Color = clBtnFace
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -11
Font.Name = "MS Sans Serif"
Font.Style = []
OldCreateOrder = False
PixelsPerInch = 96
TextHeight = 13
object Image1: TImage
Left = 48
Top = 64
Width = 121
Height = 97
end
object Timer1: TTimer
Interval = 100
OnTimer = Timer1Timer
Left = 160
Top = 16
end
end
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2005.09.04;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.009 c