![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Перенос в TreeView
art36 © (2007-12-27 19:41:00)Как переместить одну выделенную ветвь в TTreeView в другую, которой название известно? (может индекс ее определить). Я не про DragAndDrop, но и это было бы очень неплохо.
подскажите пожалуйста!
Спасибо!
{RASkov} (2007-12-28 01:29:00) [1]> [26] art36 © (28.12.07 01:28)
> может кто на этот вопрос ответит?
http://www.delphimaster.ru/cgi-bin/forum.pl?n=0&id=1198792197
art36 (2007-12-28 01:28:00) [2]Да, все понятно! Благодарю.
СПАСИБО
может кто на этот вопрос ответит?
http://www.delphimaster.ru/cgi-bin/forum.pl?id=1198780216&n=18
{RASkov} (2007-12-28 01:25:00) [3]> [23] art36 © (28.12.07 01:23)
> А все-таки, что такое Accept и Source в этой строке:
Sender - он и в африке сендер, а Source это тот с которого "тащат"... )
{RASkov} (2007-12-28 01:24:00) [4]> [21] art36 © (28.12.07 01:20)
> Ассеpt находится только в этой процедуре, почем это положительно
> влияет на ход программы, а именно другой процедуры?
Что-то не совсем понял, :( но скажу вот что:
Над тривью можно тащить данные с другого контрола и вот здесь(DragOver) нужно указать сможет ли наш тривью принять чужие данные.... понятно?)
art36 (2007-12-28 01:23:00) [5]
> > [19] Германн © (28.12.07 01:18)
> > его в его кинуть нельзя
Это неправильно.
А все-таки, что такое Accept и Source в этой строке:
> Accept := Sender = Source;
Германн (2007-12-28 01:22:00) [6]
> {RASkov} © (28.12.07 01:18) [18]
Или я что-то не так понял? Мозги пока не "размялись" после напряженной работы.
art36 (2007-12-28 01:20:00) [7]
> Accept := Sender = Source;
Ассеpt находится только в этой процедуре, почем это положительно влияет на ход программы, а именно другой процедуры?
{RASkov} (2007-12-28 01:20:00) [8]> [19] Германн © (28.12.07 01:18)
> его в его кинуть нельзя
Наоборот :) зя)
Германн (2007-12-28 01:18:00) [9]
> Кому скучно объясните пожалуйста значение этого текста:
>
> procedure TForm1.TreeView1DragOver(Sender, Source: TObject;
> X, Y: integer;
> State: TDragState; var Accept: boolean);
> begin
> Accept := Sender = Source;
> end;
>
А что тут объяснять? Если указатель мышки находится над тем объектом, который перемещают, то "его в его кинуть нельзя".
{RASkov} (2007-12-28 01:18:00) [10]> [15] art36 © (28.12.07 01:15)
> Кому скучно объясните пожалуйста значение этого текста:
:%)
Принять данные если и "передатчик" и "приемник" одно лицо :)
Т.е. в данном случае приниматься в тривью будут данные только с этого же тривью..... во как)
art36 (2007-12-28 01:18:00) [11]
> Опять "папки", блин!
В каком смысле? Я назвал "папки" потому что в этих "папках" храню информацию из файла с записями. Каждой "папке" соответствуют свои записи. Я не говорю про папки Windows. :)
Германн (2007-12-28 01:16:00) [12]Опять "папки", блин!
:(
Какая зараза придумала сию заразу? Знал бы, убил бы на месте без суда и следствия :)
art36 (2007-12-28 01:15:00) [13]У меня после перестановки идет код работы с файлом, понял что там я использую tree.selected.text или tree.droptarget.
Понял что это лишнее, а процесс переноса получился все-таки. СПАСИБО БОЛЬШОЕ.
Кому скучно объясните пожалуйста значение этого текста:
procedure TForm1.TreeView1DragOver(Sender, Source: TObject; X, Y: integer;
State: TDragState; var Accept: boolean);
begin
Accept := Sender = Source;
end;
{RASkov} (2007-12-28 01:08:00) [14]> [13] art36 © (28.12.07 01:04)
Все "автоматом"...
Ты что-то не так делаешь :) поверь..... т.е. проверь)
art36 (2007-12-28 01:04:00) [15]Спасибо!
А вложенные ветки тоже перетаскиваются автоматически? Вряд ли...
Выскакивает ошибка, когда вложенные есть. Что делать с вложенными?
turbouser (2007-12-28 00:53:00) [16]
> art36 © (28.12.07 00:44) [10]
Код из [6] нормально работает. Т.е.
> Если я перетащу папку "папка1" на папку "папка моя" то она
> встанет рядом с ней в папке "папка2" вот так:
> Общая папка
> папка2
> папка моя
> папка1
{RASkov} (2007-12-28 00:49:00) [17]> [9, 10] art36 © (28.12.07 00:41)
> А мне нужно вот так
С кодом из [6] (не [8]) можно перемещать как угодно....
art36 (2007-12-28 00:44:00) [18]Общая папка
папка1
папка2
папка моя
Если я перетащу папку "папка1" на папку "папка моя" то она встанет рядом с ней в папке "папка2" вот так:
Общая папка
папка2
папка1
папка моя
А мне нужно вот так
Общая папка
папка2
папка моя
папка1
art36 (2007-12-28 00:41:00) [19]Да, но так не перемещается в ту папку которую нужно, а только рядом с ней, то есть в ту же ветку
turbouser (2007-12-28 00:35:00) [20]
> art36 © (28.12.07 00:32) [7]
>
> Да, это работает, но перемещение происходит в ту ветку,
> где находится элемент на котором был курсор, а мне нужно
> чтобы перемещение было в него.
Не понял...
TreeView1.GetNodeAt(x, y).MoveTo(TreeView1.Selected, naAddChild);
так что ли?