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

Вниз

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

 
Sergey SP   (2003-07-10 08:38) [0]

Возникла следуюящая проблема. Имеются два окна child на них расположены TreeView, не получается перенести элемент из одного дерева в другое. Не могу получить sender, как бы пустой он у меня получается. Читал статью "Примеры использования Drag and Drop для различных визуальных компонентов" - не помогло. Может кто подкинет идейку как сделать?


 
MBo   (2003-07-10 08:45) [1]

>Не могу получить sender, как бы пустой он у меня получается
вот об этом поподробнее


 
Sergey SP   (2003-07-11 07:44) [2]

К примеру в процедуре DragOver мне необходимо определить тот ли это Sender, что мне нужно? Т.к. TreeView расположены на разных окнах, то я как бы не могу к ним обратится напрямую, т.е. не могу узнать Sender это Form1.TreeView1 или какой другой объект? И следовательно уже потом в процедуре DragDrop так же не могу обратится к этому объекту...
Или могу? Но как?


 
MBo   (2003-07-11 08:39) [3]

Подозреваю, что ты просто невнимательно читал статью и хелп. Sender - пославший сообщение о перетаскивании на него контрол, т.е. приемник, а проверять нужно обычно Source.

(Sender может понадобиться только при назначении одного обработчика нескольким контролам и в нек. других случаях)

procedure TForm2.TreeView1DragOver(Sender, Source: TObject; X, Y: Integer;
State: TDragState; var Accept: Boolean);
begin
Accept:=Source=Form3.Treeview1;
end;

procedure TForm2.TreeView1DragDrop(Sender, Source: TObject; X, Y: Integer);
begin
Treeview1.Items.Add(nil,Form3.Treeview1.Selected.Text+" From Another Tree");

{или так:

Treeview1.Items.Add(nil,TTreeView(Source).Selected.Text+" From Another Tree");}
end;

Надеюсь, я правильно понял твою проблему...




 
Sergey SP   (2003-07-11 08:59) [4]

Большое спасибо, что-то видимо действительно я намудрил...


 
ЮЮ   (2003-07-11 09:24) [5]

Sergey SP © (10.07.03 08:38)
Имеются два окна child на них расположены TreeView
MBo © (11.07.03 08:39)
Accept:=Source= Form3.Treeview1;


Скорей всего это два окна одного и того же класса TForm3 и Form3, если и есть, то безсмысленен.
Скорей всего следует сравнивать Source.Owner и Self, а оперировать с TForm3(Source.Owner).TreeView1 и TreeView1


 
MBo   (2003-07-11 09:41) [6]

>ЮЮ
Может, и так.
Я для теста сделал формы разных классов, а проблема вроде бы у автора была в том, что спутал sender и source.



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

Форум: "Основная";
Текущий архив: 2003.07.24;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.008 c
1-77849
Checist [root]
2003-07-12 19:37
2003.07.24
Сортировка в FileListBox е


3-77803
dougine
2003-06-30 13:49
2003.07.24
Как отследить ошибку


6-78023
Fiend
2003-05-19 17:25
2003.07.24
Письма и вложения


1-77993
kostya
2003-07-11 16:22
2003.07.24
Помогите с Bitmap...ом


1-77932
OlegNOE
2003-07-10 15:30
2003.07.24
Рамка вокруг ячейки





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский