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

Вниз

Обработка события входа курсора мыши на компонент и выхода!   Найти похожие ветки 

 
Витёк   (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;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.047 c
3-1121855749
Artyom_
2005-07-20 14:35
2005.09.04
соеденение с БД котрая лежит в инете


8-1113240383
Eraser
2005-04-11 21:26
2005.09.04
Print Screen видео


10-1101387508
Hinka
2004-11-25 15:58
2005.09.04
понятие интерфейсов


14-1123360358
mmms
2005-08-07 00:32
2005.09.04
Лицензия от Delphi 2005 Professional


4-1121502941
Delphi_is_cool
2005-07-16 12:35
2005.09.04
Как отловить клик правой кнопи мыши ?