VFP ·R¥ÎªÌªÀ°Ï ­º­¶ VFP ·R¥ÎªÌªÀ°Ï
¥»°Q½×°Ï¬° Visual Foxpro ·R¥ÎªÌ¸gÅç¥æ¬yªº¦a¤è, ½Ð¦h¦h§Q¥Î"·j´M"ªº¥\¯à, ¥ý¬d¬Ý¬Ý¦³µL«e¨Ò¥i´`, ¦pªGÁÙ¦³¤£À´ªº¦Aµo°Ý. ³¡¥÷¥DÃD¦³ªþ¥[ÀÉ®×, ¶·¥ýµù¥U¦¨¬°ªÀ°Ï©~¥Á¤~¥i¥H¤U¸ü.
 
 ±`¨£°ÝÃD±`¨£°ÝÃD   ·j´M·j´M   ·|­û¦Cªí·|­û¦Cªí   ·|­û¸s²Õ·|­û¸s²Õ   ·|­ûµù¥U·|­ûµù¥U 
 ­Ó¤H¸ê®Æ­Ó¤H¸ê®Æ   µn¤JÀˬd±zªº¨p¤H°T®§µn¤JÀˬd±zªº¨p¤H°T®§   µn¤Jµn¤J

Treeview Control

 
µoªí·s¥DÃD   ¦^ÂÐ¥DÃD    VFP ·R¥ÎªÌªÀ°Ï ­º­¶ -> VFP °Q½×°Ï
¤W¤@½g¥DÃD :: ¤U¤@½g¥DÃD  
µoªí¤H ¤º®e
Ruey



µù¥U®É¶¡: 2003-03-12
¤å³¹: 1698
¨Ó¦Û: tunglo

²Ä 1 ¼Ó

µoªíµoªí©ó: ¬P´Á¤é ¤K¤ë 10, 2003 10:24 am    ¤å³¹¥DÃD: Treeview Control ¤Þ¨¥¦^ÂÐ

Treeview Control

http://www.universalthread.com/Magazine/June2001/Page7.asp

_________________
#############################
§Ö¼Ö¶ý«}¨t¦C©¯ºÖ¦v°t,³Ü¤Q¥þÂû´ö~­ì¨Ó©¯ºÖ¨º»ò²³æ!!

¾Ç·|VFP¨Ï¥ÎªÌªÀ°Ïªº·j´M,Code¤~·|§ó¦³½ì~
#############################
¦^³»ºÝ
À˵ø·|­û­Ó¤H¸ê®Æ µo°e¨p¤H°T®§
Ruey



µù¥U®É¶¡: 2003-03-12
¤å³¹: 1698
¨Ó¦Û: tunglo

²Ä 2 ¼Ó

µoªíµoªí©ó: ¬P´Á¤T ¤K¤ë 13, 2003 10:47 am    ¤å³¹¥DÃD: ¤Þ¨¥¦^ÂÐ

¹ï¡§¨â­ÓÄæ¦ì¦b¾ð±±¨î¶µ¤¤ªºÅã¥Ü¡¨ªº¸É¥R¤Î¼W±j
( §@ªÌ: ¬õªê )

­ì¤å¬O¥Ñ¤@­Óµo°ÝªÌ©Ò±o¥Xªºµ²½×¡A°w¹ï¸ê®Æ¶q¤£¬O«Ü¤j®É¡A¬Ý¤£¥X¤°麽¨Ó¡A«á¨Ó§Ú³B²z¨ì1000­Ó°O¿ý¥H¤W®É´N·Pı©úÅãºC¤F¡A¤£¹L¾ðªº³B²z¹B¥Î¦bVFPùØ¡Aªº½T¤]§Ö¤£¤F¦h¤Ö¡C¥ý¹ï¤W¤@°ÝÃD¡A§Ú±Ä¥Î¤F¥t¤@­Ó¤è®×¡A¨Ã¥[¤J®Ö¨ú¤è¶ôªº¥\¯à¡G
¥»¥Ü¨Ò¨ãÅé°Ñ·Óªk¡G
1¡B·s«Ø¤@­Óªí³æ
2¡B¦bªí³æ¤W©ñ¤@­ÓTreeView±±¨î¶µ
3¡B¦b¦¹±±¨î¶µªº¬ÛÃö¨Æ¥ó¤¤±N¥H¤U¥N½XÖß¶K¶i¥h
¦b¾ð±±¨î¶µªºInit¨Æ¥óùØ¡G
wait window "¥¿¦bªì©l¤Æ¡A½Ðµy­Ô..." nowait
this.checkboxes = .T. && Åã¥Ü®Ö¨ú¤è¶ô
this.indentation = 20 && ³]¸m¼h¤§¶¡ªº¶ZÂ÷
wait window "«Ø¥ßÁ{®É¸ê®Æªí¡A½Ðµy­Ô..." nowait
*-- «Ø¥ß¤@­ÓÁ{®Éªí¡G¥]§tROOT©MCHILD¨â­ÓÄæ¦ì
create cursor temp_data (root c (10),child c (11))

wait window "¥[¤JÁ{®É¸ê®Æ¡A½Ðµy­Ô..." nowait
*-- ¥H°j°é¤è¦¡¦b¦¹Á{®Éªí¤¤¥[¤J¸ê®Æ¡A¦@9­Ó®Ú¥Ø¿ý¡A¨C­Ó®Ú¥Ø¿ý¤U¦³9­Ó¤l¥Ø¿ý
for r = 1 to 9 && ®Ú¥Ø¿ý
cRoot = "Root "+allt(str(r))
for c = 1 to 9 && ¤l¥Ø¿ý
cChild = "Child "+allt(str(c))
insert into temp_data ( root,child ) values ( cRoot,cChild )
endfor
endfor

wait window "¸ü¤J¸ê®Æ¨ì¾ð¤¤¡A½Ðµy­Ô..." nowait
*-- ©ñ¤J³Ì°ª¼h¥Ø¿ý
this.nodes.add(,,"top","Main Directory",0)

old_tree = "_" && ªí¥Ü­ì¥ýªº¤@­Ó¾ðªºROOT­È¡A¥Î©ó¤U­±ªº¹ï¤ñ
*-- ±N­ì¦³¸ê®Æªí®Ú¾Ú®Ú¥Ø¿ý¡B¤l¥Ø¿ý±Æ§Ç¥Í¦¨¤@­Ó·sªºÁ{®Éªí
sele * from temp_data order by root,child into cursor temp_treeview
total_num = _tally && ¦¹ªí³Ì¤jªº°O¿ý¼Æ¡A¥Î©ó¤U­±ªº¶i«×«ü¥Ü
sele temp_treeview
item_no = 1 && ¨C­Ó±M®×¦b¾ðùتº¶¶§Ç¸¹

go top
do while !eof()
new_tree = root&& ·í«eªº·sªº¾ðªºROOT­È
child_key = new_tree + "_" + allt(str(item_no)) && ·í«eªº¤À¤äªºKEY­È¡A¦¹­È¦b¾ðùجO°ß¤@ªº

if !(new_tree == old_tree) && §PÂ_·í«e¤À¤§»P¤W¤@­Ó¬O§_¬Û¦P¡A¤£¦Pªº¸Ü¡A­n¥ý¥[¤J®Ú¥Ø¿ý
this.nodes.add("top",4,child_key,new_tree,0) && ¥[¤J¤@­Ó®Ú¥Ø¿ý
item_no = item_no + 1 && ¶¶§Ç¸¹¥[1
cur_child = child_key && ¦P®É±o¨ì·í«e³o­Ó®Ú¥Ø¿ýªºKEY­È¡A¥Î©ó¤U¤@¼h¤l¥Ø¿ýªº¤Þ¥Î
endif
cKey = child + "_" + allt(str(item_no)) && ·í«e¤l¥Ø¿ýªºKEY­È
this.nodes.add(cur_child,4,cKey,child,0) && ¥[¤J¤@­Ó¤l¥Ø¿ý
item_no = item_no + 1 && ¶¶§Ç¸¹°O¿ý¥[1
wait window "¸ê®Æ¸ü¤J¤¤..."+allt(str(int(recn()*100/total_num),3))+"%" nowait && Åã¥Ü¶i«×

sele temp_treeview
old_tree = root && ·í«eªº®Ú­È½á­È¡A¥H°j°é¨ì¤U¤@­Ó®É¡A³o­Ó´N¬O©Ò¿×ªº¤W¤@­Ó®Úªº­È
skip
enddo

this.Nodes(1).Expanded = .T. && ±N³»¼h¤À¤§®i¶}
wait window "ªì©l¤Æ...§¹²¦" nowait



¦b¾ð±±¨î¶µ¤¤ªºNodeCheck¨Æ¥óùØ¡G
*** ActiveX ±±¨î¶µ¨Æ¥ó ***
LPARAMETERS node
llThisCheck = node.checked && ·í«eªºcheckboxªºª¬ºA
if node.key="top" && ·í¿ï¾Ü¥´¤Äªº¬O³Ì³»¼h®É
if llThisCheck
if messagebox("¥þ³¡¿ï¤¤»Ý­nªá¶O§ó¦hªº®É¶¡¡AÄ~Äò¶Ü¡H",4+32,"¸ß°Ý") = 7
this.nodes.item(1).checked=.f.
retu
endif
endif
*-- ¹ï¥þ³¡¶i¦æ§ó·s
for n=1 to this.nodes.count
this.nodes.item(n).checked=llThisCheck
endfor
else
*-- ¦pªG¤£¬O³»¼hªº¤À¤ä®É
if at("_",node.key) = 11 && §PÂ_¬O§_ÂIªºROOT¡A³o­Ó11¥i¥H®Ú¾Ú¨ãÅ鱡ªp¡A³oùجOROOTÄæ¦ì¼e«×+1
nCur_Item = val(right(node.key,len(node.key)-at("_",node.key))) && ¨D±o·í«e¤À¤ä¦b¾ðùتº¶¶§Ç¸¹
i = nCur_item + 2 && ¥[¤W³»¼h¥e¤@¦ì¡A·í«e¥e¤@¦ì¤¸¡A©Ò¥H¦b·í«e¶¶§Ç¸¹ªº¤U2­Ó¸¹½X¶}©l
do while .t.
this.nodes.item(i).checked = llThisCheck
i = i + 1
if at("_",this.nodes.item(i).key) = 11 && §PÂ_¬O§_¨ì¤F¤U¤@­Ó®Ú¡A¦pªG¬O¡A°h¥X°j°é
exit
endif
enddo
else
endif
endif


¥t¥~¹ï¾ðªºadd¤èªkªº»¡©ú¡G
¦p¦¹©R¥O¡G this.nodes.add(Parent_key,nChild,Current_key,Topic,SelectedImage,UnSelecteImage)
Parent_key ªí¥Ü·í«e¤äªº¤W¤@­Ó¤äªºKEY­È
nChild ¦³0-4¤­­Ó¿ï¾Ü¶µ¡A¤À§Oªí¥Ü¦p¤U¡G
0 - ªí¥Ü·sªº¤ä·|©ñ¦b¦P¼h¡]©Î¦P¯Å¡^ªºParent_keyªº³Ì¤W­±
1 - ªí¥Ü·sªº¤ä·|©ñ¦b¦P¼h¡]©Î¦P¯Å¡^ªºParent_keyªº³Ì¤U­±
2 - ªí¥Ü·sªº¤ä·|©ñ¦b¦P¼h¡]©Î¦P¯Å¡^ªºParent_keyªº¤U­±¤@­Ó
3 - ªí¥Ü·sªº¤ä·|©ñ¦b¦P¼h¡]©Î¦P¯Å¡^ªºParent_keyªº¤W­±¤@­Ó
4 - ªí¥Ü·sªº¤ä·|©ñ¦b¦P¼h¡]©Î¦P¯Å¡^ªºParent_keyªº¤U­±¤@¼hªº³Ì¤U­±
Current_key ªí¥Ü·í«e¤äªºKEY­È
Topic ªí¥ÜÅã¥Ü¦b¾ðùتº¤ä¤Wªº¤º®e
SelectedImage ªí¥Ü·í¿ï¾Ü¤F¬Y­Ó¤ä«á©Ò¤Ï¬M¥X¨Óªº¹Ï¤ù¡A³o­Ó­È¦bImageList±±¨î¶µùتº¯Á¤Þ­È¡A0ªí¥Ü¨S¦³¡C
UnSelectedImage ªí¥Ü¨S¦³¿ï¾Üªº¤ä©ÒÅã¥Üªº¹Ï¤ù¡A³o­Ó­È¦bImageList±±¨î¶µùتº¯Á¤Þ­È¡A0ªí¥Ü¨S¦³¡C


>>> ¤U¸ü¸Ó¥Ü¨Ò tvdemo.zip 6.6K ¦p¦³ºÃ°Ý¡A½Ð¨Ó«H¡I



























¨â­ÓÄæ¦ìªºªí¦b¾ð±±¨î¶µ¤¤ªº¨Ï¥Î
( §@ªÌ: ¬õªê )

¦³¤@­Óªí¦p¤U¡G
Äæ¦ì ¨t¬ì ©m¦W
°O
¿ý ¤¤¤å¨t ¤ýÀÜ
¤¤¤å¨t §õ©ú
¼Æ¾Ç¨t ±i¤T
ª«²z¨t §õ¥|
ª«²z¨t ±i¥Á
«Ø¥ß¸Ó¸ê®Æ®w¨Ï¥Î¤U¦C©R¥O¡G
create table ªí (¨t¬ì c(10),©m¦W c(10))
insert into ªí (¨t¬ì,©m¦W) values ("¤¤¤å¨t","¤ýÀÜ")
insert into ªí (¨t¬ì,©m¦W) values ("¤¤¤å¨t","§õ©ú")
insert into ªí (¨t¬ì,©m¦W) values ("¼Æ¾Ç¨t","±i¤T")
insert into ªí (¨t¬ì,©m¦W) values ("ª«²z¨t","§õ¥|")
insert into ªí (¨t¬ì,©m¦W) values ("ª«²z¨t","±i¥Á")
­n¨Ï³o­Ó¥u¦³¨â­ÓÄæ¦ìªº¸ê®Æªí¦b¤@­ÓTreeViewªº±±¨î¶µ¤W産¥Í¦p¤Uªº§Îª¬¡G
¨t¬ìºÞ²z
¡@¡@¡U
¡@¡@¢|¡÷ ¼Æ¾Ç¨t
¡@¡@¡U¡@¡@¡@¢|¡÷ ±i¤T
¡@¡@¡U
¡@¡@¢|¡÷ ª«²z¨t
¡@¡@¡U¡@¡@¡@¢|¡÷ §õ¥|
¡@¡@¡U¡@¡@¡@¢|¡÷ ±i¥Á
¡@¡@¡U
¡@¡@¢|¡÷ ¤¤¤å¨t
¡@¡@¡@¡@¡@¡@¢|¡÷ §õ©ú
¡@¡@¡@¡@¡@¡@¢|¡÷ ¤ýÀÜ
·s«Ø¤@­Óªí³æ¡A¦b¸Óªí³æ¤W©ñ¸m¤@­ÓTreeViewªº±±¨î¶µ¡A¨Ã«ü©wname=OleTreeView¡A¦A³Ð«Ø¤@­Ó«ö¯Ã¡A¦b¨äClick¨Æ¥ó¤¤¼g¤J¦p¤U¥N½X¡G
*-- µ{¦¡¶}©l ------------------------------------------
priv i,cn
i=1
*-- ¥Î©óª«¥óªº°ß¤@©Ê¼Ð°O¥Î

thisform.OleTreeView.nodes.add(,0,"top","¨t¬ìºÞ²z")
*-- ¥ý«Ø¥ß¤@­Ó³»¼hªº¥Ø¿ý

select ¨t¬ì,©m¦W from ªí order by ¨t¬ì group by ¨t¬ì into cursor temp_xk
*-- ¬d¸ß¥X¸Óªíªº²Ä¤@¼h¥Ø¿ýªº°O¿ý¡A³q¹Lgroup¤À²Õ¡A¥i¥H«OÃÒµ²ªGªº¸ê®Æ¬O°ß¤@ªº

do while not eof()
thisform.OleTreeView.nodes.add("top",4,"xk"+allt(str(i)),allt(¨t¬ì))
*-- ¥H°j°éªº¤è¦¡±N³o­Ó¨t¬ìªº¼h¥Ø¿ý¡A©ñ¨ì³»¼h¥Ø¿ýªº¤U­±¡A¨Ã®Ú¾ÚÅܼÆi±o¨ì¶¶§Çªº±Æ¦C
i=i+1
skip
enddo
*-- ¦Ü¦¹¡A²Ä¤@¼h±Æ¦C©ñ¸mµ²§ô¡A¤U­±¶i¦æ²Ä¤G¼hªº©ñ¸m

*-- ¤U­±ªº«ä¸ô¬O¡A«ö·Ó²Ä¤@¼h©Ò±oªºµ²ªGªº°O¿ý¶°¦X¡A¥H¦¸¨Ó©ñ¸m¥L­Ì¦U¦Ûªº¤U¤@¼h
select temp_xk
go top
i=1
do while not eof()
cn=allt(str(recn())) && ¦¹³Bªº°O¿ý¸¹¥i¥H»P²Ä¤@¼hÅܼÆi©Ò産¥Íªº¶¶§Ç¸¹§k¦X
select * from ªí where ¨t¬ì==temp_xk.¨t¬ì order by ©m¦W into cursor temp_xm
*-- ±NÄÝ©ó¬Y­Ó²Ä¤@¼hªº¤UÄݦW³æ¬d¥X¨Ó¡A±o¨ì¤@­Ó·sªº°O¿ý¶°¦X

do while not eof()
thisform.OleTreeView.nodes.add("xk&cn",4,"xm"+allt(str(i)),allt(temp_xm.©m¦W))
*-- ¦A¥H°j°é¤è¦¡¹ï²Ä¤G¼hªº©m¦W¡A¤À§O©ñ¸m¡A
*-- ¦¹³B¡AÅܼÆi¦]­«·s½á­È爲1¡A"xm"+allt(str(i)) ¥¿¦n­«·s°O¼Æ¡A
*-- ¹ï¥¦ªº²z¸Ñ¥u¦b©ó³o­Ó"xm"+allt(str(i))©Ò¤ÏÀ³ªº­È¦b¾ã­Ó¾ð¤¤¬O°ß¤@ªº¡C
select temp_xm
i=i+1
skip
enddo

select temp_xk
skip
*-- ¶i¤J²Ä¤@¼hªº¤U¤@­Ó°j°é
enddo

use in temp_xm
use in temp_xk
use in ªí
*-- Ãö³¬µ{¦¡¯A¤Îªº¤T­Óªí

_________________
#############################
§Ö¼Ö¶ý«}¨t¦C©¯ºÖ¦v°t,³Ü¤Q¥þÂû´ö~­ì¨Ó©¯ºÖ¨º»ò²³æ!!

¾Ç·|VFP¨Ï¥ÎªÌªÀ°Ïªº·j´M,Code¤~·|§ó¦³½ì~
#############################
¦^³»ºÝ
À˵ø·|­û­Ó¤H¸ê®Æ µo°e¨p¤H°T®§
goto-dream



µù¥U®É¶¡: 2004-05-11
¤å³¹: 909


²Ä 3 ¼Ó

µoªíµoªí©ó: ¬P´Á¤G ¤@¤ë 26, 2010 4:51 pm    ¤å³¹¥DÃD: ¤Þ¨¥¦^ÂÐ

select ¨t¬ì,©m¦W from ªí order by ¨t¬ì group by ¨t¬ì into cursor temp_xk
§ï¦¨³o¼Ë
select ¨t¬ì from ªí order by ¨t¬ì group by ¨t¬ì into cursor temp_xk

¤~¥¿½T....

_________________
ºÖ¶©©÷²b¤ô¦³­­¤½¥q--²b¤ô¾¹ªº±M®a,²b¤ô¾¹,¶¼¤ô¾÷,Âo¤ß!!

·Q¤F¸Ñ§ó¦h¡A±z¥i¤W©¯ºÖÂû´ö²Õ.§ä´M!!¤BæXÞ±.¦Ñ®v.

¡@¡@¡@¡@¡@¡@¡@¡@¡@¡@·R§@¹Ú
¦^³»ºÝ
À˵ø·|­û­Ó¤H¸ê®Æ µo°e¨p¤H°T®§ µo°e¹q¤l¶l¥ó
candy7240



µù¥U®É¶¡: 2008-12-02
¤å³¹: 8


²Ä 4 ¼Ó

µoªíµoªí©ó: ¬P´Á¤­ ¤Q¤G¤ë 24, 2010 9:53 am    ¤å³¹¥DÃD: ¦p¦³¤T¶¥­n¦p¦ó¨Ï¥Î ¤Þ¨¥¦^ÂÐ

¦¹¤èªk¥Î¤G¶¥¥i¥H¨Ï¥Î
¦ý§Ú§ï¦¨¨£¤T¶¥ªº®É­Ô¡A²Ä¤T¼hªº¸ê®Æ´N¥þ³¡¶Ã¸õ¤F

·Ð½Ð¦U¦ì¤j¤j¸Ñµª
ÁÂÁÂ Razz
¦^³»ºÝ
À˵ø·|­û­Ó¤H¸ê®Æ µo°e¨p¤H°T®§
syntech



µù¥U®É¶¡: 2003-05-16
¤å³¹: 4249
¨Ó¦Û: Taipei,Taiwan

²Ä 5 ¼Ó

µoªíµoªí©ó: ¬P´Á¤­ ¤Q¤G¤ë 24, 2010 11:11 am    ¤å³¹¥DÃD: ¤Þ¨¥¦^ÂÐ

§A±oª¾¹Dtreeview.additem ªºÅÞ¿è,µM«á¦AÀˬd«ç»ò¶ë¸ê®Æ«ç»òadd,

²Ä¤G¼Ó¦³.

_________________
¦pªG¤½¥q¦³¤U¦C§xÂZ:
1. §ä¤£¨ì«K©y,§Ö³t,²©öªº ¥Í²£±Æµ{³nÅé
2. ¤£ª¾¹D¦p¦ó§Ö³t±Æ©w ±ÄÁÊ­p¹º
3. ¦¨¥»§ì¤£·Ç,¦Û¤vºâ¤ñ³nÅéºâ¦³¥Î
4. ·Q¾Ç²ß¨t²Î³W¹º,·Q§ä¨t²Î¬[ºcªºÅU°Ý

½ÐÁpµ¸§Ú­Ì,¤]³\§Ú­ÌÀ°±o¤W¦£
¦^³»ºÝ
À˵ø·|­û­Ó¤H¸ê®Æ µo°e¨p¤H°T®§ µo°e¹q¤l¶l¥ó AIM Address
±q¤§«eªº¤å³¹¶}©lÅã¥Ü:   
µoªí·s¥DÃD   ¦^ÂÐ¥DÃD    VFP ·R¥ÎªÌªÀ°Ï ­º­¶ -> VFP °Q½×°Ï ©Ò¦³ªº®É¶¡§¡¬° ¥x¥_®É¶¡ (GMT + 8 ¤p®É)
²Ä1­¶(¦@1­¶)

 
«e©¹:  
±z µLªk ¦b³o­Óª©­±µoªí¤å³¹
±z µLªk ¦b³o­Óª©­±¦^ÂФ峹
±z µLªk ¦b³o­Óª©­±½s¿è¤å³¹
±z µLªk ¦b³o­Óª©­±§R°£¤å³¹
±z µLªk ¦b³o­Óª©­±¶i¦æ§ë²¼
±z µLªk ¦b³o­Óª©­±ªþ¥[ÀÉ®×
±z µLªk ¦b³o­Óª©­±¤U¸üÀÉ®×


Powered by phpBB © 2001, 2005 phpBB Group
¥¿Å餤¤å»y¨t¥Ñ phpbb-tw ºûÅ@»s§@