Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2008.09.28;
Скачать: [xml.tar.bz2];

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.48 MB
Время: 0.046 c
15-1217688147
DevilDevil
2008-08-02 18:42
2008.09.28
Колонки: Left <-->Right


3-1206952402
harisma
2008-03-31 12:33
2008.09.28
Использование метода Locate у TClientDataSet


15-1217852962
Fynjy
2008-08-04 16:29
2008.09.28
ehlib4


8-1183355108
ZMRaven
2007-07-02 09:45
2008.09.28
Устройство захвата


15-1218093108
pushkin42
2008-08-07 11:11
2008.09.28
PHP &amp; XML and/or MySQL: Меню навигации





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский