You are on page 1of 8

Lab 4 PaletteSet and Database Events

Trong phng th nghim ny, chng ta s thm mt PaletteSet v thm cc s kin c s d liu.
Trong s kin chng ti s b sung thm d liu v thc th thm vo cc bn v vi mt iu
khin TreeView trong mt paletteSet.
M d n Lab3 ca bn v thm mt UserControl. Ti menu Project v chn "Add User
Control". (Hoc m cc d n Lab4 m c cc UserForm v cc bc cho phng th nghim).

Chp nhn tn mc nh (UserControl1.vb)


Hin th Toolbox (Ctrl + Alt + X) v thm mt iu khin TreeView cc UserControl.

Neo tt c cc mt ca iu khin TreeView bng cch s dng ca s thuc tnh nh thy


trong nh chp mn hnh ny:

Sao chp cc bc di y d n ca bn. t cc bc sau Sub End ca th tc


"addAnEnt" trong Lab3. Lm vic qua cc bc to ra PaletteSet v thm cc s kin C s
d liu.
'1. Thm mt tham kho n PresentationCore. (S dng cc tab trn NET
'Hp thoi Add Reference. iu ny l cn thit cho cc PaletteSet
'Chng ta s khai bo bc 3.
'2. S dng Tuyn b Nhp khu Autodesk.AutoCAD.Windows namespace
'3. Khai bo mt bin PaletteSet (ton cu) l mt PaletteSet. (N s
'Ch c th c to ra mt ln). Thm tuyn b ny sau khi AddAnEnt End Sub
'T Lab 3.

'4. Khai bo mt bin nh UserControl1. y l s kim sot to


'Trong cc bc trong ti liu Lab4. Vic kim sot ny s c t
'Do PaletteSet to bc 3.

'5. Thm mt lnh mi c tn bng. S dng cc CommandMethod

"Thuc tnh v to Sub s chy khi lnh c chy


'Trong AutoCAD.
"Lu : Cho End Sub sau khi bc 10.

'6. Thm mt "nu th" bo co v kim tra xem cc


'PaletteSet tuyn b trong bc 3 l bng g. N s l
'Khng c g ln u tin lnh c chy.
'Ch : t "End If" sau khi bc 9

'7. PaletteSet l g y chng ti to ra aa PaletteSet mi


'Vi mt GUID duy nht. S dng cc t kha mi. Hy Tn Parameter
'"Palette ca ti". i vi cc tham s ToolID to ra mt GUID mi.
'Trn menu Tools chn "Create Guid". Trn To GUID
'Dialog chn "Registry Format" Chn New GUID v bn sao.
"Dn GUID s dng nh l cc Guid mi. Thay Curley
'Ning rng vi du ngoc kp. (Cc tham s cho New Guid l mt chui k t)
'8. Khi to cc bin UserControl1 to trong
'Bc 4. S dng cc t kha mi. (New UserControl1)
'iu khin ny cha cc iu khin cy.

'9. Thm cc UserControl n PaletteSet. S dng phng thc Add


'Ca PaletteSet khi to bc 7. S dng "Palette1" cho
Tham s tn v iu khin khi to bc 8 cho
Tham s th hai.

'10. Hin th paletteset bng cch lm cho cc ti sn nhn thy ca


'PaletteSet bng ng s tht. Ln th hai lnh c chy
'Ny l m duy nht trong quy trnh ny s c x l.

'11. Thm mt lnh c tn l "addDBEvents. S dng cc thuc tnh CommandMethod

'V thm cc th tc m s chy khi commmand c chy trong AutoCAD


"Lu : Cho End Sub sau khi bc 20
'12. Tin s dng mt "" Nu Sau , "tuyn b v xem cc bng mu
'To bc 4 l Khng c g.
'Ch : t "End If" sau khi bc 15
'13. Khai bo mt intantiate mt i tng bin tp vin. S dng cc bin tp vin
'Ti sn ca Application.DocumentManager.MdiActiveDocument
'14. S dng cc phng php WriteMessage ca bin bin tp
'To bc 13. S dng ny cho cc tham s thng ip
'VbCr + "Xin gi' bng 'lnh u tin"
'15. Exit Sub

'16. Khai bo mt bin Database v nhanh chng n bng cch lm cho n


"Ngang hng vi cc ti sn c s d liu ca
'Application.DocumentManager.MdiActiveDocument
'17. S dng cc tuyn b AddHandler c mt c s d liu ObjectAppended
'S kin. S dng cc s kin ObjectAppended ca bin c s d liu
'To bc 16 cho tham s u tin (Event). Cho phn th hai
'Tham s (Delegate) s dng cu lnh mi v to ra mt ObjectEventHandler.
'S dng cc tuyn b AddressOf v tn ca mt th tc (callback_ObjectAppended)
'Bn s to ra trong bc 21.
'18. S dng cc tuyn b AddHandler c mt c s d liu ObjectErased
'S kin. S dng cc s kin ObjectErased ca bin c s d liu
'To bc 16 cho tham s u tin (Event). Cho phn th hai
'Tham s (Delegate) s dng cu lnh mi v to ra mt ObjectErasedEventHandler.
'S dng cc tuyn b AddressOf v tn ca mt th tc (callback_ObjectErased)
'Bn s to ra bc 24.
'19. S dng cc tuyn b AddHandler c mt c s d liu ObjectReappended

'S kin. S dng cc s kin ObjectReappended ca bin c s d liu


'To bc 16 cho tham s u tin (Event). Cho phn th hai
'Tham s (Delegate) s dng cu lnh mi v to ra mt ObjectEventHandler.
'S dng cc tuyn b AddressOf v tn ca mt th tc (callback_ObjectReappended)
'Bn s to ra bc 32.
'20. S dng cc tuyn b AddHandler c mt c s d liu ObjectUnappended
'S kin. S dng cc s kin ObjectUnappended ca bin c s d liu
'To bc 16 cho tham s u tin (Event). Cho phn th hai
'Tham s (Delegate) s dng cu lnh mi v to ra mt ObjectEventHandler.
'S dng cc tuyn b AddressOf v tn ca mt th tc (callback_ObjectUnappended)
'Bn s to ra bc 35.

'21. To mt Sub Private tn callback_ObjectAppended. y l Chi m


'S c gi khi mt i tng c ni vo c s d liu. (Tn cn phi c
'Tn c s dng trong cc tham s i biu bc 17). Tham s u tin l mt
'i tng. (S dng ByVal v ngi gi l tn ca i tng). Tham s th hai l
'Mt ObjectEventArgs. (S dng ByVal v e nh tn ca ObjectEventArgs)
"Lu : Cho End Sub sau khi bc 23
'22. Khai bo mt bin TreeNode. (System.Windows.Forms.TreeNode).
"Lu : Bn c th tit kim mt s cch g bng cch s dng nhp khu v nhp khu cc
khng gian tn
"Nhanh chng n bng cch s dng phng thc Add ca cc nt thuc tnh ca TreeView trn
'UserForm () to ra bc 4. S dng cc ObjectEventArgs truyn vo phng php cho
'Tham s chui v s dng cc "Type" ca DBObject. (e.DBObject.GetType (). ToString ())
'23. Lm cho sn Tag ca nt to bc 22 bng vi ObjectId ca
'Cc i tng ph thm. iu ny s cho php chng ti ghi li n ObjectId cng nhn trong
'Cc s kin khc. S dng e.DBObject.ObjectId.ToString ()

'24. To mt Sub Private tn callback_ObjectErased. y l Chi m


'S c gi khi mt i tng c xa khi c s d liu. (Tn cn phi c
'Tn c s dng trong cc tham s i biu ca bc 18). Tham s u tin l mt

'i tng. (S dng ByVal v ngi gi l tn ca i tng). Tham s th hai l


'Mt ObjectErasedEventArgs. (S dng ByVal v e nh tn ca ObjectErasedEventArgs)
"Lu : Cho End Sub trc khi bc 32
'25. s dng mt "Nu Else" tuyn b v kim tra ti sn ca cc b xa
'ObjectErasedEventArgs truyn vo hm. (e.Erased)
'Ch : t "Else" stament trc khi bc 30 v "End If" sau khi bc 31
"26. y chng ta s tm kim mt i tng trong iu khin TreeView n c th c g
b.
'To mt bo ng cho tng tuyn b. S dng nt cho cc tn phn t v cc loi l
'Forms.Treenode. Paramater nhm l cc nt trong TreeView.
'(MyPalette.TreeView1.Nodes)
'Ch : t cu lnh tip theo di bc 29. (trc khi "Else" tuyn b) "

'27. S dng mt "Nu Sau ," tuyn b. Kim tra xem cc nt Tag l ObjectId
'Ca cc i tng b xa. S dng cc ti sn ca cc DBObject
'ObjectErasedEventArgs thng qua vo s kin ny. (e.DBObject.ObjectId.ToString)
'Ch : t "End If" trn "Next" tuyn b ni thm trong bc 23
'28. Hy b cc nt bng cch gi phng thc Remove. (Thc th l
'B xa khi bn v).

"29. Thot khi i vi loop. (Thot i)


'30. Nu iu ny c x l th c ngha l cc i tng c unerased. (e.Erased l sai)
'Khai bo mt System.Windows.Forms.TreeNode s dng newNode nh tn. Nhanh chng n
bi
"Bng cch s dng phng thc Add ca b su tp cc nt ca TreeView to ra trong bc
trc.
'S dng cc Loi i tng cho cc tham s.
'E.DBObject.GetType (). ToString ()
'31. Lm cho sn Tag ca nt to bc 30 bng vi ObjectId ca

'i tng unerased. iu ny s cho php chng ti ghi li n ObjectId cng nhn trong
'Cc s kin khc. S dng e.DBObject.ObjectId.ToString ()

'32. To mt Sub Private tn callback_ObjectReappended. y l Chi m


'S c gi khi mt i tng c ReAppended n c s d liu. (Tn cn phi c
'Tn c s dng trong cc tham s i biu ca bc 19). Tham s u tin l mt
'i tng. (S dng ByVal v ngi gi l tn ca i tng). Tham s th hai l
'Mt ObjectEventArgs. (S dng ByVal v e nh tn ca ObjectEventArgs)
"Lu : Cho End Sub sau khi bc 34
'33. Thm tn lp ca i tng xem cy
'Khai bo mt bin TreeNode. (System.Windows.Forms.TreeNode). nhanh chng
' bng phng thc Add ca ti sn Nodes ca TreeView trn UserForm1
'To ra bc 4. S dng cc ObjectEventArgs truyn vo phng php cho chui
'Tham s v s dng cc "Type" ca DBObject. (e.DBObject.GetType (). ToString ())
34. Ghi id ca n cng nhn sau
'Lm cho sn Tag ca nt to bc 33 bng vi ObjectId ca
'i tng unerased. iu ny s cho php chng ti ghi li n ObjectId cng nhn trong
'Cc s kin khc. S dng e.DBObject.ObjectId.ToString ()

'35. To mt Sub Private tn callback_ObjectUnappended. y l Chi m


'S c gi khi mt i tng l UnAppended t cc c s d liu. (Tn cn phi c
'Tn c s dng trong cc tham s i biu ca bc 20). Tham s u tin l mt
'i tng. (S dng ByVal v ngi gi l tn ca i tng). Tham s th hai l
'Mt ObjectEventArgs. (S dng ByVal v e nh tn ca ObjectEventArgs)
"Lu : Cho End Sub sau khi bc 39
"36. y chng ta s tm kim mt i tng trong iu khin TreeView n c th c g
b.
'To mt bo ng cho tng tuyn b. S dng nt cho cc tn phn t v cc loi l
'Forms.Treenode. Paramater nhm l cc nt trong TreeView.
'(MyPalette.TreeView1.Nodes)
'Ch : t "Next" tuyn b sau khi bc 39

'37. S dng v "Nu Sau ," tuyn b v xem nu nt ny l iu chng ta mun.


'So snh node.Tag n ObjectId. (s dng e.DBObject.ObjectId.ToString)
'Ch : t "End If" sau khi bc 39
"38. Nu chng ti c y th y l nt cho cc i tng unappended.
'Gi phng thc Remove ca nt.

"39. Thot khi i vi loop.

You might also like