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

Вниз

Drag&Drop   Найти похожие ветки 

 
aaaaa   (2008-08-10 05:02) [0]

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


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

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


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

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

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


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


> {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;

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


 
Amoeba ©   (2008-08-10 23:35) [4]


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

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


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

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

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


 
MBo ©   (2008-08-11 14:21) [6]

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


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


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

как?
Вот так:

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

?


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


> aaaaa   (11.08.08 22:45) [7]


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


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


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

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


 
MBo ©   (2008-08-12 07:36) [10]

ShowDragImage


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


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

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


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


> aaaaa   (12.08.08 17:02) [11]

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


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


> ЛшдлуттнСфе   (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 - ну, моргает там, если курсор остановить - изобр совсем пропадает. Беда, прям.


 
MBo ©   (2008-08-13 06:10) [14]

ControlStyle := ControlStyle + [csDisplayDragImage];


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


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

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



Страницы: 1 вся ветка

Текущий архив: 2008.09.28;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.025 c
15-1217791156
Дмитрий_С
2008-08-03 23:19
2008.09.28
Посоветуйте видеоконвертер


2-1219134772
vanatge
2008-08-19 12:32
2008.09.28
Экспорт рисунка в Excel


2-1218796398
Нов_и_чок
2008-08-15 14:33
2008.09.28
Ожидание приложением другого приложения


15-1217942447
Krummer
2008-08-05 17:20
2008.09.28
Как получить управление над внешней программой ?


2-1218824814
inforoom
2008-08-15 22:26
2008.09.28
Создана ли Форма?