Форум: "Основная";
Текущий архив: 2004.11.14;
Скачать: [xml.tar.bz2];
ВнизРабота с TImages Найти похожие ветки
← →
Skiter (2004-11-01 23:02) [0]Как передвигать TImages по форме я знаю,
а как избавиться от мерцания при перемещении?
..и еще..
Одна картинка накладывается на другую.
Верхней из них выставлено свойство Transparent,
как при щелчке в прозрачной области "цеплять"
нижнюю картинку?
← →
_student (2004-11-01 23:10) [1]
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.
← →
Skiter (2004-11-02 11:43) [2]Спасибо попробую!
← →
Skiter (2004-11-02 17:20) [3]Это простое перемещение!......
Мерцание не исчезло...........
И второй вопрос не был учтен!.
← →
Mihey_temporary © (2004-11-02 19:01) [4]DoubleBuffered := True;
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2004.11.14;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.037 c