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

Вниз

Работа с 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;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.04 c
1-1099219576
namiq
2004-10-31 13:46
2004.11.14
Proqramma Editora


1-1099051583
bloodman
2004-10-29 16:06
2004.11.14
Где можно найти информацию по теории распозанания текста


14-1098780654
Snip
2004-10-26 12:50
2004.11.14
MBR


3-1097827220
d00x
2004-10-15 12:00
2004.11.14
вопрос о ClientDataSet и добавлении записи


1-1098967275
Wolffgang
2004-10-28 16:41
2004.11.14
Выгрузка dll