14.07.2007, 15:39
общий
это ответ
Здравствуйте, Левадный Тимур Русланович!
Используйте следующие события у Image:
onMouseDown - нажатие кнопки мыши на Image
onMouseUp - отпускание кнопки мыши на Image
onMouseMove - движение мыши по Image
Для того чтобы сменить картинку делаем следующее:
Image1.Picture.LoadFromFile(‘Имя картинки‘);
Или еще можно воспользоваться компанентом ImageList с вкладки Win32, загружаете в него необходимы картинки затем по перечисленым выше событиям пишите это изменяя 4-ый параметр:
Image1.Picture:=nil;
Imagelist1.Draw(Image1.Canvas,0,0,0);// 4-ый параметр это индекс картинки в ImageList
Достоинство этого метода в том что рисунки всегда в программе их не надо таскать вместе с программой
2-а работающих примера в приложении.
Приложение:
//Пример 1//название картинок может отличаться от вашихunit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ExtCtrls;type TForm1 = class(TForm) Image1: TImage; procedure Image1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); procedure Image1MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); procedure Image1MouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); private { Private declarations } public { Public declarations } end;var Form1: TForm1;implementation{$R *.dfm}procedure TForm1.Image1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);beginImage1.Picture.LoadFromFile(‘Down.bmp‘);end;procedure TForm1.Image1MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);beginImage1.Picture.LoadFromFile(‘Move.bmp‘);end;procedure TForm1.Image1MouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);beginImage1.Picture.LoadFromFile(‘Up.bmp‘);end;end.//Пример 2//и используя ImageListunit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ExtCtrls;type TForm1 = class(TForm) Image1: TImage; ImageList1: TImageList; procedure Image1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); procedure Image1MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); procedure Image1MouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); private { Private declarations } public { Public declarations } end;var Form1: TForm1;implementation{$R *.dfm}procedure TForm1.Image1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);beginImage1.Picture:=nil;Imagelist1.Draw(Image1.Canvas,0,0,1);end;procedure TForm1.Image1MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);beginImage1.Picture:=nil;Imagelist1.Draw(Image1.Canvas,0,0,0);end;procedure TForm1.Image1MouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);beginImage1.Picture:=nil;Imagelist1.Draw(Image1.Canvas,0,0,2);end;end.