3. ·¹ÀÌ¾î º¯°æ (¼±ÅÃµÈ ·¹À̾î·Î) [VB] |
1. Form_Load
°øÅë·çƾ¿¡ ¼³¸íµÈ ÇÁ·Î±×·¥ ÃʱâÈ °úÁ¤À» Form ·Îµå½Ã¿¡ ¼öÇàÇÕ´Ï´Ù.
Private Sub Form_Load() ' ÇÁ·Î±×·¥ ÃʱâÈ InitApplication ' ÇöÀç ·¹ÀÌ¾î ¸®½ºÆ® Ç¥½Ã ShowLayerList cmbLayer End Sub 2. ShowLayerList ¾Æ·¡¿Í °°ÀÌ µµ¸éÀ¸·Î ºÎÅÍ ·¹ÀÌ¾î ¸®½ºÆ®¸¦ °¡Á®¿Í¼ ÁöÁ¤ÇÑ ComboBox¿¡ Ç¥½ÃÇÕ´Ï´Ù.
' ·¹ÀÌ¾î ¸®½ºÆ®¸¦ ÄÞº¸¿¡ Ç¥½ÃÇÑ´Ù. Private Sub ShowLayerList(ctrlCmb As ComboBox) Dim cnt, i ' ÇöÀç ÄÞº¸ ³»¿ëÀ» ¸ðµÎ »èÁ¦ÇÑ´Ù. ctrlCmb.Clear ' ·¹ÀÌ¾î °³¼ö¸¦ ¾ò´Â´Ù. cnt = objAcDoc.Layers.Count For i = 0 To cnt - 1 ' ·¹À̾î À̸§À» ÄÞº¸¿¡ Ãß°¡ÇÑ´Ù. ctrlCmb.AddItem (objAcDoc.Layers(i).Name) Next End Sub 3. ChangeLayer strLayer¶ó´Â Àμö¸¦ ÀÌ¿ëÇÏ¿© ·¹ÀÌ¾î ¸íÀ» ÀÔ·Â¹Þ¾Æ ¼±ÅÃÇÑ ¿£Æ¼Æ¼µéÀÇ ·¹À̾ º¯°æÇÑ´Ù.
' »ç¿ëÀÚ°¡ ¼±ÅÃÇÑ ¿£Æ¼Æ¼µéÀ» ÁöÁ¤ÇÑ ·¹À̾î·Î º¯°æÇÑ´Ù. Private Sub ChangeLayer(strLayer As String) Dim objSS As AcadSelectionSet Dim objEnt As AcadEntity Dim nCount, i As Integer ' ·¹À̾ ÁöÁ¤µÇÁö ¾ÊÀ¸¸é ½ÇÇàÁ¾·á If strLayer = "" Then MsgBox "·¹À̾ ÁöÁ¤µÇÁö ¾Ê¾Ò½À´Ï´Ù!" Exit Sub End If ' ¿£Æ¼Æ¼¸¦ ¼±ÅÃÇÑ´Ù. Set objSS = objAcDoc.ActiveSelectionSet ' ÇöÀç ¼±Åà »èÁ¦ objSS.Clear ' ȸé»ó¿¡¼ ¼±Åà objSS.SelectOnScreen ' ¿£Æ¼Æ¼ °³¼ö È®ÀÎ nCount = objSS.Count ' ¿£Æ¼Æ¼ °³¼ö¸¸Å ¹Ýº¹ For i = 0 To nCount - 1 ' i¹ø° ¿£Æ¼Æ¼ ¾ò±â Set objEnt = objSS.Item(i) ' ÇØ´ç ¿£Æ¼Æ¼ ·¹ÀÌ¾î º¯°æ objEnt.Layer = strLayer Next ' È¸é °»½Å objAcApp.Update End Sub 4. cmdLayer_Click ·¹ÀÌ¾î ¹öÆ°¿¡ ´ëÇÑ Ã³¸®¸¦ ¼öÇàÇÕ´Ï´Ù. ·¹ÀÌ¾î ¸®½ºÆ®¸¦ ComboBox(cmbLayer)¿¡ Ç¥½ÃÇØ ÁÝ´Ï´Ù.
Private Sub cmdLayer_Click() GetActiveDocument ' ÇöÀç ·¹ÀÌ¾î ¸®½ºÆ® Ç¥½Ã ShowLayerList cmbLayer End Sub 5. cmdSelect_Click ¿£Æ¼Æ¼ ¼±Åà ¹öÆ°¿¡ ´ëÇÑ Ã³¸®¸¦ ¼öÇàÇÕ´Ï´Ù.
Private Sub cmdSelect_Click() Hide GetActiveDocument ' ¼±ÅÃµÈ ·¹À̾î·Î º¯°æ ChangeLayer (cmbLayer.Text) Show End Sub 6. cmdExit_Click Á¾·á ¹öÆ°¿¡ ´ëÇÑ Ã³¸®¸¦ ¼öÇàÇÕ´Ï´Ù.
Private Sub cmdExit_Click() ' ÇÁ·Î±×·¥ Á¾·á Unload Me End Sub |
°ü·Ã ÀÚ·á [1] ·¹ÀÌ¾î º¯°æ (¼±ÅÃµÈ ·¹À̾î·Î) [VB & VBA] (21KB) |
Last updated 2002-09-07 by choi@moon-sun.com |