powered by simpleCommunicator - 2.0.50     © 2025 Programmizd 02
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / антипод функции treeview Selectitem
7 сообщений из 7, страница 1 из 1
антипод функции treeview Selectitem
    #32474390
хелп ми
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
нужно при прохождении над обьектом он выделялся, а потом терял выделение

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

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

проблема же в следующем:
нужно организовать перетаскивание(копирование) обьектов в 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
антипод функции treeview Selectitem
    #32476229
Фотография Филипп
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть у меня в одном месте некий 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
антипод функции treeview Selectitem
    #32476230
Фотография Филипп
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Упс, забыл написать, что делает 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
7 сообщений из 7, страница 1 из 1
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / антипод функции treeview Selectitem
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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