Гость
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / антипод функции treeview Selectitem / 7 сообщений из 7, страница 1 из 1
08.04.2004, 18:46
    #32474390
хелп ми
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
антипод функции treeview Selectitem
нужно при прохождении над обьектом он выделялся, а потом терял выделение

как сделать
...
Рейтинг: 0 / 0
08.04.2004, 19:51
    #32474454
Филипп
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
антипод функции treeview Selectitem
Пометить TrackSelect checkbox на propertях treeview ?
...
Рейтинг: 0 / 0
08.04.2004, 20:03
    #32474462
хелп ми
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
антипод функции treeview Selectitem
к сожалению, не помогло
...
Рейтинг: 0 / 0
08.04.2004, 20:40
    #32474502
Филипп
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
антипод функции treeview Selectitem
Не понял, что значит не помогло? Почему мне помогло?

Какая версия РВ, какая Windows, какой IE на ней?
...
Рейтинг: 0 / 0
09.04.2004, 09:58
    #32474879
хелп ми
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
антипод функции treeview Selectitem
Я извиняюсь, наверное не совсем правильно задал вопрос

проблема же в следующем:
нужно организовать перетаскивание(копирование) обьектов в treeview

сделал следующее:

event begindrag

long itemnum
This.Drag(Begin!)
This.GetItem(handle, ilvi_dragged_object)

event gragwithin

selectitem(handle)
//Это для выделения обьекта куда сейчас будет копирование, если произойдет event gragdrop. Но получается что все обьекты с которыми было это событие, остаются выделеными, а надо чтоб при потере gragwithin снималось выделение с обьекта

event gragdrop

This.InsertItemLast(handle, ilvi_dragged_object)
This.SetRedraw(TRUE)


Р.S. Филипп, заранее благодарен
...
Рейтинг: 0 / 0
09.04.2004, 21:38
    #32476229
Филипп
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
антипод функции treeview Selectitem
Есть у меня в одном месте некий useobject, на котором treeview и datawindow рядышком сидят и drag&drop сделан. При этом источником dropа может быть как само treeview ( tv_cc ) так и datawindow ( dw_acc ). В userobject ещё воткнут timing object ( tv_timing ). Instance variable il_DragTarget держит handle treeviewitemа над которым мышка
Вот скрипты:

dragenter
Код: plaintext
1.
2.
IF source = dw_acc THEN
	tv_timing.Start( 2 )
END IF

Dragwithin

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
 /*------------------------------------------------------------------------------

 Event   :			public tv_cc.Dragwithin

 Returns:         Long

 Parameters:      value DragObject source
                  value Long handle

 Copyright © 2002 DTI - Philip Salgannik

 Date Created: 6/4/2002

 Description:	pbm_tvndragwithin
 
--------------------------------------------------------------------------------
 Modifications:
 Date            Author              Comments
 
------------------------------------------------------------------------------*/ 

IF handle <  1  THEN 
	SetDropHighlight( 0 )
	Return
End If
IF source = this THEN
	IF NOT uf_istarget_ok(handle) THEN 
		il_DragTarget =  0 
		SetDropHighlight( 0 )
		SetRedraw(FALSE)
		SetRedraw(TRUE)	
		Return
	End If
ELSEIF source = dw_acc THEN
	il_DragSource =  0 
END IF
	

SetDropHighlight( 0 )
SetDropHighlight(handle)
il_DragTarget = handle
SetRedraw(FALSE)
SetRedraw(TRUE)
RETURN


Dragdrop

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
 /*------------------------------------------------------------------------------

 Event   :			public tv_cc.Dragdrop

 Returns:         Long

 Parameters:      value DragObject source
                  value Long handle

 Copyright © 2002 DTI - Philip Salgannik

 Date Created: 6/4/2002

 Description:	pbm_tvndragdrop
 
--------------------------------------------------------------------------------
 Modifications:
 Date            Author              Comments
------------------------------------------------------------------------------*/ 
Long					ll_NewItem, ll_root
TreeViewItem		ltvi_Target, ltvi_Source
tv_timing.Stop()
il_DragTarget =  0 

IF source = dw_acc THEN
	ll_root = tv_cc.FindItem(RootTreeItem!,  0 )
	IF ll_root = FAILURE THEN
		il_DragSource = 0 
		uf_Add_root_cost_center()		
		dw_acc.Drag (end!)
		RETURN
	END IF	
END IF

If GetItem(handle, ltvi_Target) = FAILURE Then
	SetDropHighlight ( 0 )
	il_DragSource = 0 
	RETURN
END IF
IF source = this THEN
	
	If GetItem(il_DragSource, ltvi_Source) = FAILURE Then
		SetDropHighlight ( 0 )
		il_DragSource = 0 
		RETURN
	END IF	
	
	IF NOT uf_istarget_ok(handle) THEN 
		SetDropHighlight ( 0 )
		il_DragSource = 0 
		SetRedraw(FALSE)
		SetRedraw(TRUE)
		RETURN
	END IF
	uf_move_cost_center( ltvi_Source, il_DragSource, ltvi_Target, handle)
ELSEIF source = dw_acc THEN
	uf_add_cost_center(ltvi_Target, handle)
	dw_acc.Drag (end!)
	SetFocus()
END IF
 /*  Turn off drop highlighting  */ 
SetDropHighlight ( 0 )
il_DragSource = 0 


Dragleave

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
 /*------------------------------------------------------------------------------

 Event   :			public tv_cc.Dragleave

 Returns:         Long

 Parameters:      value DragObject source

 Copyright © 2002 DTI - Philip Salgannik

 Date Created: 6/4/2002

 Description:	pbm_tvndragleave
 
--------------------------------------------------------------------------------
 Modifications:
 Date            Author              Comments
------------------------------------------------------------------------------*/ 
IF source = dw_acc THEN
	tv_timing.Stop()
END IF
SetDropHighlight ( 0 )
il_DragTarget =  0 
...
Рейтинг: 0 / 0
09.04.2004, 21:40
    #32476230
Филипп
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
антипод функции treeview Selectitem
Упс, забыл написать, что делает timing object ( tv_timing ).

Timer event:

Код: plaintext
1.
2.
IF tv_cc.GetItemAtPointer ( ) = il_DragTarget AND il_DragTarget >  0  THEN
	tv_cc.ExpandItem(il_DragTarget)
END IF
...
Рейтинг: 0 / 0
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / антипод функции treeview Selectitem / 7 сообщений из 7, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]