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

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

Перенос в TreeView


Страницы:   1 2

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);
так что ли?


Страницы:   1 2

Наверх

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