![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Работа с TImages [D6, WinXP]
Skiter © (2004-11-01 23:02:00)Как передвигать TImages по форме я знаю,
а как избавиться от мерцанияпри перемещении?
..и еще..
Одна картинка накладывается на другую.
Верхней из них выставлено свойство Transparent,
как при щелчке в прозрачной области"цеплять"
нижнюю картинку?
Mihey_temporary (2004-11-02 19:01:00) [1]DoubleBuffered := True;
Skiter (2004-11-02 17:20:00) [2]Это простое перемещение!......
Мерцание не исчезло...........
И второй вопрос не был учтен!.
Skiter (2004-11-02 11:43:00) [3]Спасибо попробую!
_student (2004-11-01 23:10:00) [4]
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls;
type
TForm1 = class(TForm)
Image1: TImage;
Image2: TImage;
Image3: TImage;
Image4: TImage;
Image5: TImage;
Image6: TImage;
procedure FormCreate(Sender: TObject);
procedure MyImageMouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure MyImageMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
procedure MyImageMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
x2,y2:integer;
flag:boolean;
implementation
{$R *.dfm}
procedure TForm1.MyImageMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
//
x2:=x;
y2:=y;
flag:=true;
if sender is TImage then
begin
(sender as TImage).BringToFront;
end;
end;
procedure TForm1.MyImageMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
If flag=true Then
begin
(Sender As TImage).Left:=(Sender As TImage).Left+x-x2;
(Sender As TImage).Top:=(Sender As TImage).Top+y-y2;
end;
end;
procedure TForm1.MyImageMouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
//
flag:=false;
end;
procedure TForm1.FormCreate(Sender: TObject);
var i:integer;
begin
for i:=0 to ComponentCount-1 do
begin
if Components[i] is TImage then
begin
(Components[i] as TImage).OnMouseDown:=MyImageMouseDown;
(Components[i] as TImage).OnMouseUp:=MyImageMouseUp;
(Components[i] as TImage).OnMouseMove:=MyImageMouseMove;
end;
end;
end;
end.