Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Drag&Drop


aaaaa ©   (2008-08-10 05:02:00) 

Всем доброго времени суток.
Подскажите, как сделать, чтобы от OnStartDrag и до OnEndDrag вместе с курсором мышки двигался перетаскиваемый текст?


aaaaa   (2008-08-13 12:16:00) [1]


> MBo ©   (13.08.08 06:10) [14]

Ура!!! Спасибо большое!


MBo   (2008-08-13 06:10:00) [2]

ControlStyle := ControlStyle + [csDisplayDragImage];


aaaaa   (2008-08-13 00:48:00) [3]


> ЛшдлуттнСфе   (13.08.08 00:02) [12]

ня:

 TDragDimension = class(TDragControlObject)
 private
   FDragImageList : TDragImageList;
 protected
   function GetDragImages: TDragImageList; override;
 public
   constructor Create(AControl: TControl); override;
   destructor Destroy; override;
 end;

constructor TDragDimension.Create(AControl: TControl);
begin
 inherited Create(AControl);
 FDragImageList := TDragImageList.CreateSize(AControl.Width,AControl.Height);
 FDragImageList.Masked := True;
end;

destructor TDragDimension.Destroy;
begin
 FDragImageList.Free;
 inherited;
end;

function TDragDimension.GetDragImages: TDragImageList;
begin
 Result := FDragImageList;
end;

procedure TForm1.Edit1StartDrag(Sender: TObject;
 var DragObject: TDragObject);
begin
 fDragObject := TDragDimension.Create(Edit1);
 fDragObject.FDragImageList.Clear;
 FDragObject.GetDragImages.Add(Image1.Picture.Bitmap, Image1.Picture.Bitmap);
 DragObject := FDragObject;
// если сюда вставить DragObject.ShowDragImage; , то рез-та нет
end;

зато есть, если:

procedure TForm1.FormDragOver(Sender, Source: TObject; X, Y: Integer;
 State: TDragState; var Accept: Boolean);
begin

 fDragObject.FDragImageList.DrawOverlay(canvas, x, y, 0, 1, dsTransparent, itImage, true);
 //repaint
end;

рисуется, тока не стирается :(. Repaint - ну, моргает там, если курсор остановить - изобр совсем пропадает. Беда, прям.


ЛшдлуттнСфе   (2008-08-13 00:02:00) [4]


> aaaaa   (12.08.08 17:02) [11]

Это хорошо, что делал, может, покажешь, как? отсюда плохо видно.


aaaaa   (2008-08-12 17:02:00) [5]


> MBo ©   (12.08.08 07:36) [10]

делал вчера - рез-т ноль.


MBo   (2008-08-12 07:36:00) [6]

ShowDragImage


aaaaa   (2008-08-11 23:42:00) [7]


> KilkennyCat ©   (11.08.08 23:35) [8]

да, например: картинка видна тока за пределами моего приложения - как сделать видимой в моем прилож?


KilkennyCat   (2008-08-11 23:35:00) [8]


> aaaaa   (11.08.08 22:45) [7]


да. Если почитаешь про GetDragImages, сможешь задать еще более кокретные вопросы...


aaaaa   (2008-08-11 22:45:00) [9]


> Германн ©   (11.08.08 01:28) [5]

как?
Вот так:

> MBo ©   (11.08.08 14:21) [6]
> создать наследника от TDragControlObject(Ex), перекрыть
> метод GetDragImages, при начале перетаскивания создать объект
> данного класса, записать в его поля информацию, которая
> понадобится для отображения.

?


MBo   (2008-08-11 14:21:00) [10]

создать наследника от TDragControlObject(Ex), перекрыть метод GetDragImages, при начале перетаскивания создать объект данного класса, записать в его поля информацию, которая понадобится для отображения.


Германн   (2008-08-11 01:28:00) [11]

> aaaaa   (10.08.08 20:54) [3]
>
>
> > {RASkov} ©   (10.08.08 14:22) [2]
>
> хм... вот:
>
>

Так ты его (тот текст) сначала схвати, а уж потом тащи и кидай.


Amoeba   (2008-08-10 23:35:00) [12]


> когда тащу, мне нужно, чтобы вместо курсора, был перетягиваемый
> текст.

Не много хочешь?


aaaaa   (2008-08-10 20:54:00) [13]


> {RASkov} ©   (10.08.08 14:22) [2]

хм... вот:

procedure TForm1.Label1DragOver(Sender, Source: TObject; X, Y: Integer;
 State: TDragState; var Accept: Boolean);
begin
 Accept := True;
end;

procedure TForm1.Label1DragDrop(Sender, Source: TObject; X, Y: Integer);
begin
 Label1.Caption := Edit1.Text;
end;

когда тащу, мне нужно, чтобы вместо курсора, был перетягиваемый текст.


{RASkov}   (2008-08-10 14:22:00) [14]

> [1] aaaaa   (10.08.08 13:46)
> очень сложный

ну может и не очень, но...
...попробуй не общий вопрос, а конкретные моменты...


aaaaa   (2008-08-10 13:46:00) [15]

я вопрос некорректно задал или очень сложный?


Наверх

Титульная страница Поиск, карта сайта Написать письмо