Вверх ↑
Этот топик читают: Гость
Ответов: 26
Рейтинг: 1
#1: 2009-06-19 14:37:35 ЛС | профиль | цитата
Вот схема (чуть переделана из примера)
code_13814.txt

В свойствах TreeViewTrain выставлено разрешение на перетаскивание и поставлен отладчик.
При перетаскивании элемента никаких данных в поток не выдается?
Где тут ошибка и как реализовать перетаскивание?
Компилятор fpc
карма: 0

0
файлы: 1code_13814.txt [3.8KB] [251]
Администрация
Ответов: 15295
Рейтинг: 1519
#2: 2009-06-19 15:58:32 ЛС | профиль | цитата
Amig0, чтобы onDrop для выбранной ветки сработал нужно указать элементу о том, что это вообще можно сделать обработав соответствующим образом точку DropAccept. Как это делается - смотрим в WikiCenter.sha
карма: 27
0
Ответов: 2435
Рейтинг: 693
#3: 2010-02-14 17:52:40 ЛС | профиль | цитата
Как сделать чтоб при перетаскивании родительстого узла все его дочерние узлы перетащились вместе с ним?
У меня в примере при перетаскивании узла BMW в узел AUDI дочерние BMW потерялись.
Пример из справки: code_16914.txt
карма: 11

0
файлы: 1code_16914.txt [3.5KB] [465]
Администрация
Ответов: 15295
Рейтинг: 1519
#4: 2010-02-14 17:57:29 ЛС | профиль | цитата
перетаскивание элементов с дочерними узлами в TreeViewTrain не поддерживается
карма: 27
1
Голосовали:sla8a
Ответов: 2435
Рейтинг: 693
#5: 2010-02-14 20:10:01 ЛС | профиль | цитата
А в будующем будет реализованно? А возможно как на элементах реализовать (стоит пробовать)?
карма: 11

0
Администрация
Ответов: 15295
Рейтинг: 1519
#6: 2010-02-14 20:47:31 ЛС | профиль | цитата
будет. Сделать это на элементах весьма не просто...
карма: 27
0
Ответов: 2435
Рейтинг: 693
#7: 2010-02-15 17:00:04 ЛС | профиль | цитата
После обновления по SVN возможно перетаскивание родительского узла со всеми дочерними.
подробности
delphi/code/hiTreeViewTrain.pas
------------------------------------------------------------------------
r2591 | dilma | 2010-02-15 02:11:03 +0300 (Mon, 15 Feb 2010) | 1 line

- add: move nodes with all subitems
Пример перетаскивания любого узла только в родительский узел (проверяется по иконке) и отоброжением соответствующего курсора.
пример
code_16927.txt
карма: 11

1
файлы: 3capture-1.png [3KB] [540], capture-2.png [3.1KB] [621], code_16927.txt [4.1KB] [506]
Голосовали:Konst
Разработчик
Ответов: 26304
Рейтинг: 2146
#8: 2010-02-15 17:18:10 ЛС | профиль | цитата
Но... К сожалению, у нового метода отсутствует указатель перетаскивания, только обычная стрелка. Не совсем, конечно, удобно
карма: 22

0
Администрация
Ответов: 15295
Рейтинг: 1519
#9: 2010-02-15 17:22:19 ЛС | профиль | цитата
курсор задается самостоятельно
карма: 27
0
Разработчик
Ответов: 26304
Рейтинг: 2146
#10: 2010-02-15 17:56:58 ЛС | профиль | цитата
Dilma писал(а):
курсор задается самостоятельно

О! И как это сделать, чего-то не совсем понятно
карма: 22

0
Ответов: 2435
Рейтинг: 693
#11: 2010-02-15 18:02:03 ЛС | профиль | цитата
nesco, а мой пример не помог? http://hiasm.com//getfile/16928
карма: 11

0
Разработчик
Ответов: 26304
Рейтинг: 2146
#12: 2010-02-15 19:03:37 ЛС | профиль | цитата
sla8a писал(а):
а мой пример не помог?

А почему 37 и 45, когда должно прекрасно понимать 0 (Default) и 25 (UpArrow)
------------ Дoбавленo в 19.36:
sla8a, у тебя твоя схема нормально работает

Попробовал изменить параметры курсоров -- а нифига оно не работает, меняется курсор как-то по-умолчанию. Что бы я там не ставил, они не меняются
------------ Дoбавленo в 19.46:
Вот так будет правильнее



Add(MainForm,9944926,126,154)
{
Width=471
Height=306
Caption="TreeViewTrain"
link(onCreate,9363307:doEnum,[])
}
Add(TreeViewTrain,1574694,441,336)
{
Width=175
Height=282
Align=1
Name="main"
IconsManager="icons"
DragDrop=0
CaptionIndex=1
ParentIDIndex=2
IconIndex=3
Point(DropAccept)
Point(doExpand)
Point(doCursor)
link(onClick,6992197:doSeparateMT,[])
link(DropAccept,11757345:GetData,[])
}
Add(MT_String,14150441,315,308)
{
link(onResult,3105964:doAddNode,[])
}
Add(TVT_AddNode,3105964,357,308)
{
TreeView="main"
}
Add(IconsManager,3602443,315,154)
{
Name="icons"
Icons=[]
}
Add(ArrayRW,10401924,315,203)
{
link(Array,3602443:IconArray,[])
}
Add(Icon,12754312,266,168)
{
}
Add(DoData,5987187,266,217)
{
link(onEventData,10401924:doAdd,[])
link(Data,12754312:Icon,[])
}
Add(ArrayEnum,9589809,266,336)
{
link(onItem,14150441:doMT,[(306,342)(306,321)])
link(onEndEnum,1574694:doExpand,[])
link(Array,4147502:Array,[])
}
Add(StrList,8602002,168,98)
{
Strings=#19:inticonshiasm.ico|20:inticonsspheme.ico|
}
Add(ArrayEnum,9363307,182,168)
{
link(onItem,8498031:doEvent1,[])
link(onEndEnum,9589809:doEnum,[(223,181)(223,342)])
link(Array,8602002:Array,[])
}
Add(Hub,8498031,231,168)
{
link(onEvent1,12754312:doLoad,[])
link(onEvent2,5987187:doData,[(255,181)(255,223)])
}
Add(Label,3688790,595,287)
{
Left=190
Top=12
Width=111
Height=17
Font=[MS Sans Serif,8,1,0,1]
Caption="объем двигателя "
}
Add(Label,11917310,637,315)
{
Left=215
Top=35
Width=13
Height=17
Caption="---"
}
Add(Label,6196985,595,336)
{
Left=190
Top=55
Width=171
Height=17
Font=[MS Sans Serif,8,1,0,1]
Caption="количество лошадиных сил "
}
Add(Label,14915172,637,364)
{
Left=215
Top=85
Caption="---"
}
Add(Label,13636111,594,385)
{
Left=190
Top=108
Width=143
Height=17
Font=[MS Sans Serif,8,1,0,1]
Caption="расход топлива (город)"
}
Add(Label,5471563,637,413)
{
Left=215
Top=133
Caption="---"
}
Add(Label,15935976,595,434)
{
Left=190
Top=155
Width=73
Height=17
Font=[MS Sans Serif,8,1,0,1]
Caption="тип кузова "
}
Add(Label,8798016,637,462)
{
Left=215
Top=180
Caption="---"
}
Add(Label,13125960,595,483)
{
Left=190
Top=206
Width=76
Height=17
Font=[MS Sans Serif,8,1,0,1]
Caption="цвет кузова"
}
Add(Label,13035540,637,511)
{
Left=215
Top=230
Caption="---"
}
Add(MT_MultiData,6992197,490,336)
{
From=4
Count=5
link(onData1,11917310:doText,[(580,342)(580,321)])
link(onData2,14915172:doText,[(580,349)(580,370)])
link(onData3,5471563:doText,[(567,356)(567,419)])
link(onData4,8798016:doText,[(553,363)(553,468)])
link(onData5,13035540:doText,[(545,370)(545,517)])
}
Add(EventFromData,11757345,441,189)
{
link(onEvent,11567857:doEvent1,[])
}
Add(DoData,8656266,651,245)
{
Data=Integer(25)
link(onEventData,14002155:doWork2,[])
}
Add(DoData,2512335,651,210)
{
Data=Integer(0)
link(onEventData,14002155:doWork1,[(697,216)])
}
Add(HubEx,14002155,693,245)
{
link(onEvent,10424732:In,[])
}
Add(LineBreak,4941991,371,357)
{
Caption="cursor"
link(Out,1574694:doCursor,[(428,363)(428,356)])
Primary=[10424732,343,-112]
}
Add(IndexToChanel,1974404,588,238)
{
Point(Index)
link(onEvent1,2512335:doData,[(642,244)(642,216)])
link(onEvent2,8656266:doData,[])
link(Index,8080104:Value1,[])
}
Add(Hub,11567857,490,189)
{
OutCount=3
link(onEvent1,11757345:doData,[(516,195)(516,183)(429,183)(429,195)])
link(onEvent2,8080104:doValue,[])
link(onEvent3,13234447:doTimer,[(523,209)(523,244)])
}
Add(StrList,4147502,252,273)
{
Strings=#11:1;Lada;-1;1|53:10;Kalina;1;0;1.6л;80л.с;9.5л;универсал;сер. металлик|49:11;Priora;1;0;1.6л;80л.с;9.8л;седан;сер. металлик|11:2;Audi;-1;1|46:30;Audi A3;2;0;1.6л;100л.с;9.6л;компакт;черный|59:31;Audi Q5;2;0;2.0л;155л.с;10.4л;внедорожник;мокрый асфальт|10:3;BMW;-1;1|51:40;BMW X5;3;0;3.0л;350л.с;17.5л;внедорожник;серебро|43:41;BMW Z4;3;0;2.5л;192л.с;12.1л;купе;черный|
}
Add(Timer,13234447,539,238)
{
Interval=25
Enable=1
AutoStop=1
link(onTimer,1974404:doEvent,[])
}
Add(MT_MultiMem,8080104,588,196)
{
From=3
Count=1
}

карма: 22

0
Ответов: 2435
Рейтинг: 693
#13: 2010-02-15 20:35:34 ЛС | профиль | цитата
nesco писал(а):
А почему 37 и 45

Мне иконки No и HandPoint понравильсь больше (просто пример)
nesco писал(а):
у тебя твоя схема нормально работает?

Да работает и скрины выложил (см. пример). А ты hiTreeViewTrain.pas обновлял?
nesco писал(а):
Вот так будет правильнее

Не согласен. Видно не обновлял ты hiTreeViewTrain.pas.
карма: 11

0
Разработчик
Ответов: 26304
Рейтинг: 2146
#14: 2010-02-15 21:51:20 ЛС | профиль | цитата
sla8a писал(а):
Не согласен. Видно не обновлял ты hiTreeViewTrain.pas

Да нет, как раз и обновлял, на момент, когда писал. Не на всех машинах такая схема как у тебя работать будет. Для надежности надо запускать из другой очереди. А вот HandPoint там, как раз, по дефлоту и работает, у меня, по крайней мере. Отключи связь и проверь, или поставь в свою схему другие курсоры и посмотри, будет ли твоя схема работать
------------ Дoбавленo в 21.57:
Хотя, можешь и ничего не делать, вспомнишь потом, о том что я говорил, когда кто-то ткнет в это пальцем.
карма: 22

0
Ответов: 1328
Рейтинг: 69
#15: 2010-02-15 22:04:28 ЛС | профиль | цитата
У меня вроде все нормально работает, оба примера
карма: 2

0
Сообщение
...
Прикрепленные файлы
(файлы не залиты)