TreeView [v1.0.44+]

¸ñÂ÷

°£´ÜÇÑ ¿¹Á¦¿Í ¼Ò°³

Tree-View´Â °èÅëÀû Ç׸ñµéÀ» ºÎ¸ð ¾Æ·¡ÀÇ ÀÚ¼ÕµéÀº ÇÑ ´Ü°è µé¿© ³Ö¾î º¸¿©ÁÝ´Ï´Ù. °¡Àå ÈçÇÑ ¿¹´Â ÀͽºÇ÷η¯ÀÇ µå¶óÀ̺ê¿Í Æú´õ Æ®¸®ÀÔ´Ï´Ù.

TreeView¸¦ »ý¼ºÇÏ´Â ±¸¹®Àº ´ÙÀ½°ú °°½À´Ï´Ù:

Gui, Add, TreeView, Options

´ÙÀ½ ½ºÅ©¸³Æ®´Â °£´ÜÇÑ °èÅëÀû Ç׸ñµéÀ» »ý¼ºÇÏ°í º¸¿©ÁÝ´Ï´Ù:

Gui, Add, TreeView
P1 := TV_Add("First parent")
P1C1 := TV_Add("Parent 1's first child", P1)  ; P1À» ÀÌ Ç׸ñÀÇ ºÎ¸ð·Î ÁöÁ¤ÇÕ´Ï´Ù.
P2 := TV_Add("Second parent")
P2C1 := TV_Add("Parent 2's first child", P2)
P2C2 := TV_Add("Parent 2's second child", P2)
P2C2C1 := TV_Add("Child 2's first child", P2C2)

Gui, Show  ; â°ú ±×ÀÇ TreeView¸¦ º¸¿©ÁÝ´Ï´Ù.
return

GuiClose:  ; »ç¿ëÀÚ°¡ TreeViewÀÇ GUI âÀ» ´ÝÀ¸¸é ½ºÅ©¸³Æ®¸¦ Á¾·áÇÕ´Ï´Ù.
ExitApp

"Gui, Add, TreeView, Options"¿¡ ´ëÇÑ ¿É¼Ç°ú ½ºÅ¸ÀÏ

AltSubmit: ½ºÅ©¸³Æ®¿¡ Á¤»óº¸´Ù ´õ ¸¹Àº À¯ÇüÀÇ TreeView À̺¥Æ®¿¡ ´ëÇÏ¿© °íÁöÇÕ´Ï´Ù. ´Ù¸¥ ¸»·Î, g-¶óº§ÀÌ ´õ ÀÚÁÖ ±âµ¿ÇÕ´Ï´Ù. ÀÚ¼¼ÇÑ °ÍÀº TreeView NotificationsÀ» ÂüÁ¶ÇϽʽÿÀ.

Background: ´Ü¾î Background¿Í ´ÙÀ½¿¡ ¹Ù·Î Ä÷¯ À̸§À» ÁöÁ¤Çϰųª (Ä÷¯ Â÷Æ® ÂüÁ¶) RGB °ªÀ» ÁöÁ¤ÇϽʽÿÀ (0x Á¢µÎ»ç´Â ¼±ÅÃÀûÀÔ´Ï´Ù). ¿¹Á¦: BackgroundSilver, BackgroundFFDD99. ÀÌ ¿É¼ÇÀÌ Á¸ÀçÇÏÁö ¾ÊÀ¸¸é, TreeView´Â óÀ½¿¡ ±âº»°ªÀÌ. Gui ColorÀÇ ¸¶Áö¸· ¸Å°³º¯¼ö·Î ¼³Á¤µÈ ¹è°æ»öÀÔ´Ï´Ù (¶Ç´Â ¾øÀ¸¸é, ½Ã½ºÅÛÀÇ ±âº» ¹è°æ »öÀÔ´Ï´Ù). BackgroundDefault¸¦ ÁöÁ¤ÇÏ¸é ½Ã½ºÅÛÀÇ ±âº» ¹è°æ»öÀÌ Àû¿ëµË´Ï´Ù (º¸Åë Èò»ö). ¿¹¸¦ µé¾î, GuiControl, +BackgroundDefault, MyTreeView¸¦ ÅëÇÏ¿© TreeView¸¦ ±âº»°ªÀ¸·Î º¹±¸ÇÒ ¼ö ÀÖ½À´Ï´Ù.

Buttons: -Buttons (¸¶À̳ʽº ¹öÆ°)À» ÁöÁ¤Çϸé Ç÷¯½º³ª ¸¶À̳ʽº »çÀÎÀÌ ÀÚ¼ÕÀÌ ÀÖ´Â °¢ Ç׸ñÀÇ ¿ÞÂÊ¿¡ ³ªÅ¸³ª´Â °ÍÀ» ¸·À» ¼ö ÀÖ½À´Ï´Ù.

C: ÅؽºÆ® Ä÷¯. ±âÈ£ C ´ÙÀ½¿¡ Áï½Ã Ä÷¯ À̸§ (Ä÷¯ Â÷Æ® ÂüÁ¶) ¶Ç´Â RGB °ªÀ» ÁöÁ¤ÇϽʽÿÀ (0x Á¢µÎ»ç´Â ¼±ÅÃÀûÀÔ´Ï´Ù). ¿¹¸¦ µé¾î: cRed, cFF2211, c0xFF2211, cDefault.

Checked: °¢ Ç׸ñÀÇ ¿ÞÂÊ¿¡ üũ¹Ú½º¸¦ Á¦°øÇÕ´Ï´Ù. Ç׸ñÀ» Ãß°¡ÇÒ ¶§, ´Ü¾î Check¸¦ ±×ÀÇ ¿É¼Ç¿¡ ÁöÁ¤ÇÏ¸é ¹Ú½º¸¦ üũÇÑ »óÅ·Π½ÃÀÛÇÒ ¼ö ÀÖ½À´Ï´Ù. »ç¿ëÀڴ üũ¹Ú½ºÅ©¸¦ Ŭ¸¯Çϰųª ½ºÆäÀ̽º¸¦ ¹Ù¸¦ ´­·¯ Ç׸ñÀ» üũÇϰųª ÇØÁ¦ÇÒ ¼ö ÀÖ½À´Ï´Ù. ¾î´À Ç׸ñÀÌ ÇöÀç TreeView¿¡ üũµÇ¾î ÀÖ´ÂÁö ¾Ë¾Æ º¸·Á¸é, TV_GetNext() ¶Ç´Â TV_Get()À» È£ÃâÇϽʽÿÀ.

HScroll: -HScroll (¸¶À̳ʽº HScroll)À» ÁöÁ¤ÇÏ¸é ¼öÆò ½ºÅ©·ÑÀ» ºÒ´ÉÀ¸·Î ¸¸µé ¼ö ÀÖ½À´Ï´Ù (°Ô´Ù°¡, ÄÜÆ®·ÑÀº ¼öÆò ¹Ù¸¦ º¸¿©ÁÖÁö ¾Ê½À´Ï´Ù).

ImageList: ÀÌ ¹æ¹ýÀ¸·Î ¾ÆÀÌÄÜÀ» TreeView¿¡ Ãß°¡ÇÕ´Ï´Ù. ´Ü¾î ImageList ´ÙÀ½¿¡ ¹Ù·Î ÀÌÀü¿¡ IL_Create()¸¦ È£ÃâÇØ µ¹·Á ¹ÞÀº ImageListID¸¦ ÁöÁ¤ÇϽʽÿÀ. ÀÌ ¿É¼ÇÀº TreeView¸¦ »ý¼ºÇÒ ¶§¿¡¸¸ È¿°ú°¡ ÀÖ½À´Ï´Ù (±×·¸Áö¸¸, TV_SetImageList()´Â ÀÌ Á¦ÇÑÀÌ ¾ø½À´Ï´Ù). ´ÙÀ½Àº ÀÛµ¿ÇÏ´Â ¿¹Á¦ÀÔ´Ï´Ù:

ImageListID := IL_Create(10)  ; ÃÖÃÊ °¡¿ë´É·ÂÀÌ 10°³ÀÇ ¾ÆÀÌÄÜÀÎ ImageList¸¦ »ý¼ºÇÕ´Ï´Ù.
Loop 10  ; ImageList¿¡ Ç¥ÁØ ½Ã½ºÅÛ ¾ÆÀÌÄÜÀ» ÀûÀçÇÕ´Ï´Ù.
    IL_Add(ImageListID, "shell32.dll", A_Index)
Gui, Add, TreeView, ImageList%ImageListID%
TV_Add("Name of Item", 0, "Icon4")  ; Ç׸ñÀ» TreeView¿¡ Ãß°¡ÇÏ°í °Å±â¿¡ Æú´õ ¾ÆÀÌÄÜÀ» ºÎ¿©ÇÕ´Ï´Ù.
Gui Show

Lines: -Lines (¸¶À̳ʽº Lines)¸¦ ÁöÁ¤ÇÏ¸é ºÎ¸ð Ç׸ñÀ» ÀÚ¼Õ Ç׸ñ°ú ¿¬°áÇÏ´Â ÁÙµéÀ» º¸¿©ÁÖÁö ¾Ê½À´Ï´Ù. ±×·¸Áö¸¸, ÀÌ ÁÙÀ» Á¦°ÅÇϸé ÃÖ»óÀ§ ·¹º§ÀÇ Ç׸ñ¿¡ Ç÷¯½º/¸¶À̳ʽº ¹öÆ°µµ º¸ÀÌÁö ¾Ê°Ô µË´Ï´Ù.

ReadOnly: -ReadOnly (¸¶À̳ʽº ReadOnly)¸¦ ÁöÁ¤ÇÏ¸é °¢ Ç׸ñÀÇ ÅؽºÆ®/À̸§ÀÇ ÆíÁýÀ» Çã¿ëÇÕ´Ï´Ù. Ç׸ñÀ» ÆíÁýÇÏ·Á¸é, ¼±ÅÃÇÑ ´ÙÀ½ F2 Å°¸¦ ´©¸£½Ê½Ã¿À. ´Ù¸¥ ¹æ¹ýÀ¸·Î, Ç׸ñÀ» ÇÑ ¹ø Ŭ¸¯ÇÏ¿© ¼±ÅÃÇÒ ¼ö ÀÖ½À´Ï´Ù. ¾à ¹ÝÃÊ ±â´Ù¸° ´ÙÀ½, °°Àº Ç׸ñÀ» ´Ù½Ã Ŭ¸¯ÇØ ÆíÁýÇÒ ¼ö ÀÖ½À´Ï´Ù. ÆíÁýÀÌ ³¡³­ ÈÄ, Ç׸ñÀº ´ÙÀ½ ¿¹Á¦¸¦ ÅëÇÏ¿© ±×ÀÇ ÇüÁ¦µé »çÀÌ¿¡ ¾ËÆĺª ¼ø¼­·Î Àç¹èÄ¡µË´Ï´Ù:

Gui, Add, TreeView, -ReadOnly gMyTree
; ...
MyTree:
if (A_GuiEvent == "e")  ; »ç¿ëÀÚ°¡ Ç׸ñ ÆíÁýÀ» ¸¶ÃƽÀ´Ï´Ù (´ë¼Ò¹®ÀÚ¸¦ ±¸ºÐÇØ ºñ±³ÇÕ´Ï´Ù).
    TV_Modify(TV_GetParent(A_EventInfo), "Sort")  ; ÀÌ°ÍÀº ÆíÁý Ç׸ñ¿¡ ºÎ¸ð°¡ ¾ø´õ¶óµµ ÀÛµ¿ÇÕ´Ï´Ù.
return

R: ÁÙ ³ôÀÌ (»ý¼º½Ã). ±âÈ£ R ´ÙÀ½¿¡ Áï½Ã ÄÜÆ®·Ñ ¾È¿¡ ¿©À¯¸¦ µÑ ÁÙÀÇ °³¼ö¸¦ ÁöÁ¤ÇÕ´Ï´Ù. ¿¹¸¦ µé¾î, R10À̸é ÄÜÆ®·ÑÀ» 10°³ÀÇ Ç׸ñ ³ôÀÌ·Î ¸¸µì´Ï´Ù.

WantF2: -WantF2 (¸¶À̳ʽº WantF2)¸¦ ÁöÁ¤Çϸé F2 Å°´­¸²À¸·Î ÇöÀç ¼±ÅÃµÈ Ç׸ñÀ» ÆíÁýÇÏÁö ¸øÇϵµ·Ï ¸·½À´Ï´Ù. ÀÌ ¼³Á¤Àº -ReadOnlyµµ ÄÑÁ® ÀÖÁö ¾Ê´Â ÇÑ ¹«½ÃµË´Ï´Ù. ÀÌ ¼³Á¤¿¡ »ó°ü¾øÀÌ, g-¶óº§Àº ¿©ÀüÈ÷ F2 °íÁö¸¦ ¹Þ½À´Ï´Ù.

(À̸§¾ø´Â ¼ýÀÚ ½ºÅ¸ÀÏ): À§¿¡ ¾ð±ÞµÈ ½ºÅ¸ÀÏ ¸»°í´Â ´Ù¸¥ ½ºÅ¸ÀÏÀº °ÅÀÇ »ç¿ëµÇÁö ¾ÊÀ¸¹Ç·Î, À̸§ÀÌ ¾ø½À´Ï´Ù. ¸®½ºÆ®´Â TreeView ½ºÅ¸ÀÏ Å×À̺íÀ» ÂüÁ¶ÇϽʽÿÀ.

TreeViews¿ë ³»Àå ÇÔ¼ö

¸ðµç TreeView ÇÔ¼ö´Â ÇöÀç ¾²·¹µåÀÇ ±âº» GUI â¿¡ ÀÛµ¿ÇÕ´Ï´Ù (±âº» ±¸ÀÌ Ã¢Àº Gui, 2:Default¸¦ ÅëÇÏ¿© ¹Ù²Ü ¼ö ÀÖ½À´Ï´Ù). ±âº» âÀÌ Á¸ÀçÇÏÁö ¾Ê°Å³ª TreeView ÄÜÆ®·ÑÀÌ ¾ø´Ù¸é, ¸ðµç ÇÔ¼ö´Â 0À» µ¹·ÁÁÖ¾î ¹®Á¦¸¦ ³ªÅ¸³À´Ï´Ù.

â¿¡ ¿©·¯ TreeView ÄÜÆ®·ÑÀÌ ÀÖ´Ù¸é, ±âº»°ªÀ¸·Î ÇÔ¼öµéÀº °¡Àå ÃÖ±Ù¿¡ Ãß°¡µÈ ÄÜÆ®·Ñ¿¡ ÀÛµ¿ÇÕ´Ï´Ù. À̸¦ ¹Ù²Ù·Á¸é, Gui, TreeView, TreeViewName¸¦ ÁöÁ¤ÇϽʽÿÀ. ¿©±â¿¡¼­ TreeViewName´Â TreeViewÀÇ ¿¬°ü º¯¼öÀ̸§À̰ųª, Window Spy·Î ³ëÃâµÇ´Â ClassNNÀ̰ųª, ¶Ç´Â (v1.1.04+¿¡¼­) ±×ÀÇ HWNDÀÔ´Ï´Ù. ÀÏ´Ü ¹Ù²î¸é, ±âÁ¸ÀÇ ¸ðµç ±×¸®°í ¹Ì·¡ÀÇ ¾²·¹µå´Â Áö½ÃÇÑ TreeView¸¦ »ç¿ëÇÕ´Ï´Ù.

TV_SetImageList(ImageListID [, 0|2]) [v1.1.02+]

TreeViewÀÇ ImageList¸¦ ¼³Á¤Çϰųª »èÁ¦ÇÕ´Ï´Ù. ImageListID´Â ÀÌÀü¿¡ IL_Create()¸¦ È£ÃâÇØ µ¹·Á ¹ÞÀº ¹øÈ£ÀÔ´Ï´Ù. µÎ ¹ø° ¸Å°³º¯¼ö´Â º¸Åë »ý·«µË´Ï´Ù. ÀÌ °æ¿ì ±âº»°ªÀº 0ÀÔ´Ï´Ù. ±×·¸Áö ¾ÊÀ¸¸é, 2¸¦ »óÅ ¾ÆÀÌÄÜ¿¡ ÁöÁ¤ÇϽʽÿÀ (¾ÆÁ÷ Á÷Á¢ÀûÀ¸·Î Áö¿øÇÏÁö´Â ¾ÊÁö¸¸, SendMessage¸¦ ÅëÇÏ¿© »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù). ¼º°øÇϸé, TV_SetImageList()´Â ÀÌÀü¿¡ TreeView¿¡ ¿¬°üµÇ¾î ÀÖ´Â ImageListID¸¦ µ¹·ÁÁÝ´Ï´Ù (¿¬°üµÈ°Ô ¾øÀ¸¸é 0À» µ¹·ÁÁÝ´Ï´Ù). ±×·¸°Ô ¶¼¾î³½ ImageList´Â º¸Åë IL_Destroy(ImageListID)¸¦ ÅëÇÏ¿© Æı«ÇÕ´Ï´Ù.

Ç׸ñÀ» Ãß°¡ÇÏ°í, º¯°æÇÏ°í, »èÁ¦Çϱâ

TV_Add(Name, [ParentItemID, Options])

TreeView¿¡ »õ Ç׸ñÀ» Ãß°¡ÇÏ°í ±×ÀÇ À¯ÀÏÇÑ Item ID ¹øÈ£¸¦ µ¹·ÁÁÝ´Ï´Ù (¶Ç´Â ½ÇÆнà 0À» µ¹·ÁÁÝ´Ï´Ù). NameÀº Ç׸ñÀ» º¸¿©ÁÖ´Â ÅؽºÆ®À̸ç, ÅؽºÆ®À̰ųª ¼ýÀÚÀÏ ¼ö ÀÖ½À´Ï´Ù (¼ýÄ¡ Ç¥Çö½ÄÀÇ °á°úµµ Æ÷ÇÔ). ParentItemID´Â »õ Ç׸ñÀÇ ºÎ¸ð ID ¹øÈ£ÀÔ´Ï´Ù (»ý·«Çϰųª 0À» ÁöÁ¤ÇÏ¸é ±× Ç׸ñÀ» ÃÖ»óÀ§ ·¹º§¿¡ Ãß°¡ÇÕ´Ï´Ù). ¹æ´ëÇÑ °³¼öÀÇ Ç׸ñÀ» Ãß°¡ÇÒ ¶§, ¼öÇ༺´ÉÀ» °³¼±ÇÒ ¼ö ÀÖ½À´Ï´Ù. Ç׸ñÀ» Ãß°¡Çϱâ Àü¿¡ GuiControl, -Redraw, MyTreeView¸¦ »ç¿ëÇÏ°í ³¡³­ ÈÄ¿¡ GuiControl, +Redraw, MyTreeView¸¦ »ç¿ëÇÏ¸é µË´Ï´Ù.

TV_Add() ±×¸®°í TV_Modify()¿ë ¿É¼Ç

Options ¸Å°³º¯¼ö´Â ¾Æ·¡ ¸®½ºÆ®ÀÇ ´Ü¾î·Î ±¸¼ºµÈ ¹®ÀÚ¿­ÀÔ´Ï´Ù (´ë¼Ò¹®ÀÚ ±¸ºÐ ¾ÈÇÔ). º°µµÀÇ °¢ ´Ü¾î¸¶´Ù ´ÙÀ½ ´Ü¾î¿Í ½ºÆäÀ̽º³ª ÅÇÀ¸·Î °¡¸£½Ê½Ã¿À. ¿É¼ÇÀ» Á¦°ÅÇÏ·Á¸é, ¾Õ¿¡ ¸¶À̳ʽº »çÀÎÀ» ºÙÀ̽ʽÿÀ. ¿É¼ÇÀ» Ãß°¡ÇÏ·Á¸é, Ç÷¯½º »çÀÎÀº Çã¿ëÇÏÁö¸¸ Çʼö´Â ¾Æ´Õ´Ï´Ù.

Bold: Ç׸ñÀÇ À̸§À» º¼µåü·Î º¸¿©ÁÝ´Ï´Ù. ³ªÁß¿¡ ÇØÁ¦ÇÏ·Á¸é, TV_Modify(ItemID, "-Bold")¸¦ »ç¿ëÇϽʽÿÀ.

Check: (TreeView¿¡ üũ¹Ú½º°¡ ÀÖ´Ù¸é) üũ Ç¥½ÄÀ» Ç׸ñÀÇ ¿ÞÂÊ¿¡ º¸¿©ÁÝ´Ï´Ù. ³ªÁß¿¡ ÇØÁ¦ÇÏ·Á¸é, TV_Modify(ItemID, "-Check")À» »ç¿ëÇϽʽÿÀ. ´Ü¾î Check´Â ¼±ÅÃÀûÀ¸·Î ´ÙÀ½¿¡ Áï½Ã 0 ¶Ç´Â 1ÀÌ µû¶ó¿Í ½ÃÀÛ »óŸ¦ ³ªÅ¸³¾ ¼ö ÀÖ½À´Ï´Ù. ´Ù¸¥ ¸»·Î, "Check"¿Í "Check" . VarContainingOne ¸ðµÎ °°½À´Ï´Ù (¿©±â¿¡¼­ Á¡Àº °áÇÕ ¿¬»êÀÚÀÔ´Ï´Ù).

Expand: Ç׸ñÀ» È®´ëÇØ (ÀÖ´Ù¸é) ±×ÀÇ ÀÚ¼ÕÀ» ³ëÃâ½Ãŵ´Ï´Ù. ³ªÁß¿¡ Ç׸ñÀ» Ãà¼ÒÇÏ·Á¸é, TV_Modify(ItemID, "-Expand")¸¦ »ç¿ëÇϽʽÿÀ. ÀÚ¼ÕÀÌ ¾ø´Ù¸é, TV_Modify()´Â ±× Ç׸ñÀÇ ID ´ë½Å¿¡ 0À» µ¹·ÁÁÝ´Ï´Ù. ´ëÁ¶ÀûÀ¸·Î, TV_Add()´Â Ç׸ñ¿¡ ÀÚ¼ÕÀÌ ³ªÁß¿¡ °Å±â¿¡ Ãß°¡µÉ °æ¿ì È®´ë Ç¥½ÄÀ» ÇÕ´Ï´Ù. (¾Æ·¡ÀÇ) "Select"¿Í ´Ù¸£°Ô, Ç׸ñÀÌ È®´ëµÇ´õ¶óµµ ±×ÀÇ ºÎ¸ð°¡ ÀÚµ¿À¸·Î È®´ëµÇÁö´Â ¾Ê½À´Ï´Ù. ¸¶Áö¸·À¸·Î, ´Ü¾î Expand ´ÙÀ½¿¡ ¼±ÅÃÀûÀ¸·Î 0 ¶Ç´Â 1ÀÌ µû¶ó¿Í ½ÃÀÛ »óŸ¦ ³ªÅ¸³¾ ¼ö ÀÖ½À´Ï´Ù. ´Ù¸¥ ¸»·Î, "Expand"¿Í "Expand" . VarContainingOne´Â °°½À´Ï´Ù.

First | Sort | N: ÀÌ ¿É¼ÇµéÀº TV_Add()¿¡¸¸ Àû¿ëµË´Ï´Ù. »õ Ç׸ñÀÇ À§Ä¡¸¦ ±×ÀÇ ÇüÁ¦¿¡ »ó´ëÀûÀ¸·Î ÁöÁ¤ÇÕ´Ï´Ù (ÇüÁ¦(sibling)¶õ °°Àº ·¹º§¿¡ ÀÖ´Â ´Ù¸¥ Ç׸ñµéÀÔ´Ï´Ù). ÀÌ ¿É¼Çµé ¸ðµÎ Á¸ÀçÇÏÁö ¾ÊÀ¸¸é, ¸¶Áö¸·/¸·³» ÇüÁ¦·Î »õ Ç׸ñÀÌ Ãß°¡µË´Ï´Ù. ±×·¸Áö ¾ÊÀ¸¸é, First¸¦ Ãß°¡ÇØ ±× Ç׸ñÀ» ù°/Àå³² ÇüÁ¦·Î Ãß°¡ÇÒ ¼ö ÀÖ½À´Ï´Ù. ¶Ç´ÂSort¸¦ ÁöÁ¤ÇÏ¸é ±× Ç׸ñÀ» ±×ÀÇ ÇüÁ¦µé »çÀÌ¿¡ ¾ËÆĺª ¼ø¼­·Î »ðÀÔÇÒ ¼ö ÀÖ½À´Ï´Ù. Æò¹üÇÑ Á¤¼ö°¡ (N) ÁöÁ¤µÇ¸é, ±× ´ÙÀ½¿¡ »õ Ç׸ñÀ» Ãß°¡ÇÒ ÇüÁ¦ÀÇ ID ¹øÈ£·Î °£Áֵ˴ϴ٠(Á¤¼ö NÀÌ À¯ÀÏÇÑ ¿É¼ÇÀ̶ó¸é, µû¿ÈÇ¥·Î µÑ·¯½Ò ÇÊ¿ä°¡ ¾ø½À´Ï´Ù).

Icon: ´Ü¾î Icon ´ÙÀ½¿¡ ÀÌ Ç׸ñÀÇ ¾ÆÀÌÄÜ ¹øÈ£¸¦ ÁöÁ¤ÇϽʽÿÀ. ÀÌ ¾ÆÀÌÄÜÀº Ç׸ñÀÇ À̸§ ¿ÞÂÊ¿¡ º¸¿©Áý´Ï´Ù. ÀÌ ¿É¼ÇÀÌ ¾øÀ¸¸é, ImageList¿¡¼­ ù ¹ø° ¾ÆÀÌÄÜÀÌ »ç¿ëµË´Ï´Ù. ºó ¾ÆÀÌÄÜÀ» º¸¿©ÁÖ·Á¸é, ImageList ¾È¿¡ ÀÖ´Â ¾ÆÀÌÄܺ¸´Ù Å« ¼ýÀÚ¸¦ ÁöÁ¤ÇÏ¸é µË´Ï´Ù. ÄÜÆ®·Ñ¿¡ ImageList°¡ ¾øÀ¸¸é, ¾ÆÀÌÄܵµ º¸ÀÌÁö ¾Ê°í ¾ÆÀÌÄÜÀ» À§ÇÑ ½ºÆäÀ̽ºµµ º¸Á¸µÇÁö ¾Ê½À´Ï´Ù.

Select: Ç׸ñÀ» ¼±ÅÃÇÕ´Ï´Ù. ÇÑ ¹ø¿¡ ¿ÀÁ÷ ÇϳªÀÇ Ç׸ñ¸¸ ¼±ÅÃÇÒ ¼ö Àֱ⠶§¹®¿¡, ÀÌÀü¿¡ ¼±ÅÃµÈ Ç׸ñÀº ÀÚµ¿À¸·Î ÇØÁ¦µË´Ï´Ù. °Ô´Ù°¡, ÀÌ ¿É¼ÇÀº ÇÊ¿äÇÏ¸é ±×ÀÇ ºÎ¸ð¸¦ È®´ëÇؼ­ »õ·Î ¼±ÅÃµÈ Ç׸ñÀ» ³ëÃâ½Ãŵ´Ï´Ù. ÇöÀç ¼±ÅÃÀ» ¾Ë¾Æ ³»·Á¸é, TV_GetSelection()¸¦ È£ÃâÇϽʽÿÀ.

Sort: TV_Modify()¿¡ ´ëÇÏ¿©, ÀÌ ¿É¼ÇÀº ¾ËÆĺª ¼ø¼­·Î ÁöÁ¤µÈ Ç׸ñÀÇ ÀÚ¼ÕµéÀ» Á¤·ÄÇÕ´Ï´Ù. ´ë½Å¿¡ ¸ðµç ÃÖ»óÀ§ ·¹º§ÀÇ Ç׸ñµéÀ» Á¤·ÄÇÏ·Á¸é, TV_Modify(0, "Sort")¸¦ »ç¿ëÇϽʽÿÀ. ÀÚ¼ÕÀÌ ¾ø´Ù¸é, º¯°æµÈ Ç׸ñÀÇ ID ´ë½Å¿¡ 0À» µ¹·ÁÁÝ´Ï´Ù.

Vis: TreeView¸¦ ½ºÅ©·ÑÇϰųª ÇÊ¿äÇÏ¸é ±×ÀÇ ºÎ¸ð¸¦ È®´ëÇؼ­ Ç׸ñÀÌ ¿ÏÀüÈ÷ º¸À̵µ·Ï È®ÀÎÇÕ´Ï´Ù.

VisFirst: À§¿Í °°Áö¸¸ TreeViewµµ ½ºÅ©·ÑµÇ¾î °¡´ÉÇÏ¸é ±× Ç׸ñÀÌ Ç×»ó À§¿¡ º¸À̵µ·Ï ÇÕ´Ï´Ù. ÀÌ ¿É¼ÇÀº ÀüÇüÀûÀ¸·Î TV_Add() º¸´Ù TV_Modify()¿Í »ç¿ëÇÒ ¶§ ´õ È¿À²ÀûÀÔ´Ï´Ù.

TV_Modify(ItemID [, Options, NewName])

Ç׸ñÀÇ À̸§°ú ¼Ó¼ºÀ» º¯°æÇÕ´Ï´Ù. ¼º°øÇϸé Ç׸ñ ÀÚ½ÅÀÇ ID¸¦ µ¹·ÁÁÝ´Ï´Ù. ½ÇÆнà (¶Ç´Â ºÎºÐÀû ½ÇÆнÃ) 0À» µ¹·ÁÁÝ´Ï´Ù. ù ¸Å°³º¯¼ö¸¸ ÀÖÀ¸¸é, ÁöÁ¤µÈ Ç׸ñÀÌ ¼±Åõ˴ϴÙ. NewNameÀ» »ý·«Çϸé, ÇöÀç À̸§À» ¹Ù²ÙÁö ¾Ê°í ±×´ë·Î µÓ´Ï´Ù. Options¿¡ °üÇؼ­´Â À§ÀÇ ¸®½ºÆ®¸¦ ÂüÁ¶ÇϽʽÿÀ.

TV_Delete([ItemID])

ItemIDÀ» »ý·«Çϸé, TreeView ¾ÈÀÇ ¸ðµç Ç׸ñÀÌ »èÁ¦µË´Ï´Ù. ±×·¸Áö ¾ÊÀ¸¸é, ¿ÀÁ÷ ÁöÁ¤µÈ ItemID¸¸ »èÁ¦µË´Ï´Ù. ¼º°øÇϸé 1À» µ¹·ÁÁÖ°í ½ÇÆнà 0À» µ¹·ÁÁÝ´Ï´Ù.

TreeView·ÎºÎÅÍ µ¥ÀÌÅÍ ¾ò±â

TV_GetSelection()

¼±ÅÃµÈ Ç׸ñÀÇ ID ¹øÈ£¸¦ µ¹·ÁÁÝ´Ï´Ù.

TV_GetCount()

ÄÜÆ®·Ñ¿¡ ÀÖ´Â Ç׸ñÀÇ ÃÑ °³¼ö¸¦ µ¹·ÁÁÝ´Ï´Ù. ÀÌ ÇÔ¼ö´Â ¾ðÁ¦³ª ¼ø°£ÀûÀÔ´Ï´Ù. ¿Ö³ÄÇϸé ÄÜÆ®·ÑÀÇ °³¼ö¸¦ ÃßÀû°ü¸®Çϱ⠶§¹®ÀÔ´Ï´Ù.

TV_GetParent(ItemID)

ÁöÁ¤µÈ Ç׸ñÀÇ ºÎ¸ð¸¦ Ç׸ñ ID·Î µ¹·ÁÁÝ´Ï´Ù. ÃÖ»óÀ§ ·¹º§ÀÇ Ç׸ñµéÀº ºÎ¸ð°¡ ¾øÀ¸¹Ç·Î 0À» µ¹·ÁÁÝ´Ï´Ù.

TV_GetChild(ParentItemID)

ÁöÁ¤µÈ Ç׸ñÀÇ Ã¹Â°/ÃÖ»óÀ§ ÀÚ¼ÕÀÇ ID ¹øÈ£¸¦ µ¹·ÁÁÝ´Ï´Ù (¾øÀ¸¸é 0À» µ¹·ÁÁÝ´Ï´Ù).

TV_GetPrev(ItemID)

ÁöÁ¤µÈ Ç׸ñ À§ÀÇ ÇüÁ¦ÀÇ ID ¹øÈ£¸¦ µ¹·ÁÁÝ´Ï´Ù (¾øÀ¸¸é 0À» µ¹·ÁÁÝ´Ï´Ù).

TV_GetNext([ItemID, "Checked | Full"])

´ÙÀ½ ¸ðµå°¡ ÀÖ½À´Ï´Ù:

  1. ¸ðµç ¸Å°³º¯¼ö¸¦ »ý·«Çϸé, TreeView¿¡¼­ ù°/ÃÖ»óÀ§ Ç׸ñÀÇ ID ¹øÈ£¸¦ µ¹·ÁÁÝ´Ï´Ù (¾øÀ¸¸é 0À» µ¹·ÁÁÝ´Ï´Ù).
  2. ¿ÀÁ÷ ù ¹ø° ¸Å°³º¯¼ö (ItemID)¸¸ ÀÖÀ¸¸é, ÁöÁ¤µÈ Ç׸ñ ¾Æ·¡ ÇüÁ¦ÀÇ ID ¹øÈ£¸¦ µ¹·ÁÁÝ´Ï´Ù (¾øÀ¸¸é 0À» µ¹·ÁÁÝ´Ï´Ù). ù ¹ø° ¸Å°³º¯¼ö°¡ 0À̸é, TreeView¿¡¼­ ù°/ÃÖ»óÀ§ Ç׸ñÀÇ ID ¹øÈ£¸¦ µ¹·ÁÁÝ´Ï´Ù (¾øÀ¸¸é 0À» µ¹·ÁÁÝ´Ï´Ù).
  3. µÎ ¹ø° ¸Å°³º¯¼ö°¡ "Full" ¶Ç´Â "F"À̸é, ÁöÁ¤µÈ Ç׸ñ°úÀÇ °ü°è¿¡ »ó°ü¾øÀÌ ´ÙÀ½ Ç׸ñÀ» ¿­¶÷ÇÕ´Ï´Ù. ÀÌ·¸°Ô ÇÏ¸é ½ºÅ©¸³Æ®´Â ½±°Ô Àüü Æ®¸®¸¦ Ç׸ñº°·Î ¼øȸÇÒ ¼ö ÀÖ½À´Ï´Ù. ¿¹¸¦ µé¾î:
    ItemID = 0  ; ȸµ¹ÀÌÀÇ Ã¹ ¹ø° ¹Ýº¹ÀÌ Æ®¸®ÀÇ ÃÖ»ó´Ü¿¡¼­ °Ë»öÀ» ½ÃÀÛÇϵµ·Ï ¸¸µì´Ï´Ù.
    Loop
    {
        ItemID := TV_GetNext(ItemID, "Full")  ; üũǥ½ÄµÈ Ç׸ñÀ» ¸ðµÎ ãÀ¸·Á¸é "Full"À» "Checked"·Î ±³Ã¼ÇϽʽÿÀ..
        if not ItemID  ; Æ®¸®¿¡ ´õ ÀÌ»ó Ç׸ñÀÌ ¾ø½À´Ï´Ù.
            break
        TV_GetText(ItemText, ItemID)
        MsgBox The next Item is %ItemID%, whose text is "%ItemText%".
    }
  4. µÎ ¹ø° ¸Å°³º¯¼ö°¡ "Check", "Checked", ¶Ç´Â "C"À̸é, À§¿Í °°Àº ÇàÀ§¸¦ ÇÕ´Ï´Ù. ´Ü, üũǥ½ÄÀÌ ¾ø´Â Ç׸ñÀº °Ç³Ê ¶Ý´Ï´Ù. ÀÌ·¸°Ô Çϸé TreeView¿¡ üũǥ½ÄµÈ ¸ðµç Ç׸ñÀ» Çϳª¾¿ ¿­¶÷ÇÒ ¼ö ÀÖ½À´Ï´Ù.

TV_GetText(OutputVar, ItemID)

ÁöÁ¤µÈ ItemIDÀÇ ÅؽºÆ®/À̸§À» ¿­¶÷ÇÏ°í ±×°ÍÀ» OutputVar¿¡ ÀúÀåÇÕ´Ï´Ù. ÅؽºÆ®°¡ 8191 ±æÀ̸¦ ³ÑÀ¸¸é, ¿ÀÁ÷ ¾ÕÂÊ 8191 ¹®ÀÚ¸¸ ¿­¶÷µË´Ï´Ù. ¼º°øÇϸé, ÇÔ¼ö´Â ±× Ç׸ñÀÇ ID¸¦ µ¹·ÁÁÝ´Ï´Ù. ½ÇÆÐÇϸé, 0À» µ¹·ÁÁÝ´Ï´Ù (±×¸®°í OutputVarµµ ºñ¿öÁý´Ï´Ù).

TV_Get(ItemID, "Expand | Check | Bold")

ÁöÁ¤µÈ Ç׸ñ¿¡ ÁöÁ¤µÈ ¼Ó¼ºÀÌ ¾øÀ¸¸é, ±× ÀÚ½ÅÀÇ ItemID°¡ ¹ÝȯµË´Ï´Ù. ±×·¸Áö ¾ÊÀ¸¸é 0ÀÌ ¹ÝȯµË´Ï´Ù. µÎ ¹ø° ¸Å°³º¯¼ö¿¡ ´ëÇÏ¿©, "E", "Expand", ¶Ç´Â "Expanded"À» ÁöÁ¤Çϸé Ç׸ñÀÌ ÇöÀç È®´ëµÇ¾î ÀÖ´ÂÁö ¾Ë¾Æ³¾ ¼ö ÀÖ½À´Ï´Ù (Áï, ±×ÀÇ ÀÚ¼ÕÀÌ º¸¿©Áö°í ÀÖ´ÂÁö¸¦ ¾Ë¾Æ³¾ ¼ö ÀÖ½À´Ï´Ù); "C", "Check", ¶Ç´Â "Checked"¸¦ ÁöÁ¤Çϸé Ç׸ñ¿¡ üũǥ½ÄÀÌ ÀÖ´ÂÁö ¾Ë¾Æ³¾ ¼ö ÀÖ½À´Ï´Ù; ¶Ç´Â "B"³ª "Bold"¸¦ ÁöÁ¤Çϸé ÇöÀç Ç׸ñÀÇ ±Û²ÃÀÌ º¼µåüÀÎÁö ¾Ë¾Æ³¾ ¼ö ÀÖ½À´Ï´Ù.

ÆÁ: IF-¼­¼ú¹®Àº 0 ¾Æ´Ñ °ªÀ» Âü("true")À¸·Î °£ÁÖÇϹǷÎ, ´ÙÀ½ÀÇ µÎ ÁÙÀº ±â´ÉÀûÀ¸·Î µ¿ÀÏÇÕ´Ï´Ù:

  1. if TV_Get(ItemID, "Checked") = ItemID
  2. if TV_Get(ItemID, "Checked")

G-¶óº§ °íÁö (Primary)

gMySubroutine°ú °°Àº g-¶óº§Àº ÄÜÆ®·ÑÀÇ ¿É¼Ç¿¡ ³ª¿­ÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÌ·¸°Ô ÇÏ¸é »ç¿ëÀÚ°¡ ÄÜÆ®·Ñ¿¡ Á¶Ä¡¸¦ ¼öÇàÇÒ ¶§¸¶´Ù MySubroutine ¶óº§ÀÌ ÀÚµ¿À¸·Î ±âµ¿µË´Ï´Ù. ÀÌ ¼­ºê·çƾÀº ³»Àå ÇÔ¼ö A_Gui ±×¸®°í A_GuiControl À» Âü°íÇØ ¾î´À â°ú ¾î´À TreeView°¡ À̺¥Æ®¸¦ ¹ß»ý½ÃÄ×´ÂÁö ¾Ë¾Æ³À´Ï´Ù. ´õ Áß¿äÇÑ °ÍÀº A_GuiEvent¸¦ Âü°íÇÒ ¼ö ÀÖ½À´Ï´Ù. ¾È¿¡ ´ÙÀ½ ¹®ÀÚ¿­ ¶Ç´Â ±âÈ£ Áß Çϳª°¡ µé¾î ÀÖ½À´Ï´Ù (¹Ì·¡ ¹öÀü°úÀÇ È£È¯À» À§ÇØ, ½ºÅ©¸³Æ®´Â À̰͵鸸 À¯ÀÏÇÑ °ªÀ̶ó°í °£ÁÖÇÏ¸é ¾È µË´Ï´Ù):

DoubleClick: »ç¿ëÀÚ°¡ Ç׸ñÀ» ´õºíŬ¸¯Çß½À´Ï´Ù. º¯¼ö A_EventInfo¿¡ ±× Ç׸ñÀÇ ID°¡ ´ã±é´Ï´Ù.

D: »ç¿ëÀÚ°¡ Ç׸ñÀ» ²ø·Á°í ½ÃµµÇß½À´Ï´Ù (ÇöÀç À̸¦ ³»ºÎÀûÀ¸·Î Áö¿øÇÏÁö ¾Ê½À´Ï´Ù). º¯¼ö A_EventInfo¿¡ ±× Ç׸ñÀÇ ID°¡ ´ã±é´Ï´Ù.

d (¼Ò¹®ÀÚ D): À§¿Í °°Áö¸¸ ¿ÞŬ¸¯ ²ø±â°¡ ¾Æ´Ï¶ó ¿ìŬ¸¯ ²ø±âÀÔ´Ï´Ù.

e (¼Ò¹®ÀÚ E): »ç¿ëÀÚ°¡ Ç׸ñ ÆíÁýÀ» ³¡¸¶ÃƽÀ´Ï´Ù (»ç¿ëÀÚ´Â TreeView ¿É¼Ç¿¡ -ReadOnlyÀÏ °æ¿ì¿¡¸¸ Ç׸ñÀ» ÆíÁýÇÒ ¼ö ÀÖ½À´Ï´Ù). º¯¼ö A_EventInfo¿¡ ±× Ç׸ñÀÇ ID°¡ ´ã±é´Ï´Ù.

S: »ç¿ëÀÚ ¶Ç´Â ½ºÅ©¸³Æ® ÀÚü¿¡¼­ »õ Ç׸ñÀ» ¼±ÅÃÇß½À´Ï´Ù. º¯¼ö A_EventInfo¿¡ »õ·Î ¼±ÅÃµÈ ±× Ç׸ñÀÇ ID°¡ ´ã±é´Ï´Ù.

G-¶óº§ °íÁö (Secondary)

TreeViewÀÇ ¿É¼Ç¿¡ ´Ü¾î AltSubmitÀÌ ÀÖ´Ù¸é, ±×ÀÇg-¶óº§Àº ´õ ÀÚÁÖ ±âµ¿µÇ°í A_GuiEvent¿¡´Â ´ÙÀ½ÀÇ °ªÀÌ Ãß°¡·Î ´ã±æ ¼ö ÀÖ½À´Ï´Ù:

Normal: »ç¿ëÀÚ°¡ Ç׸ñÀ» ¿ÞŬ¸¯ Çß½À´Ï´Ù. º¯¼ö A_EventInfo¿¡ ±× Ç׸ñÀÇ ID°¡ ´ã±é´Ï´Ù.

RightClick: »ç¿ëÀÚ°¡ Ç׸ñÀ» ¿ìŬ¸¯Çß½À´Ï´Ù. º¯¼ö A_EventInfo¿¡ ±× Ç׸ñÀÇ ID°¡ ´ã±é´Ï´Ù. ´ëºÎºÐÀÇ °æ¿ì, ÀÌ¿¡ ¹ÝÀÀÇÏ¿© ¸Þ´º¸¦ º¸¿©ÁÖÁö ¾Ê´Â °ÍÀÌ Á¦ÀÏ ÁÁ½À´Ï´Ù. ´ë½Å¿¡, GuiContextMenu ¶óº§À» »ç¿ëÇϽʽÿÀ. ¿Ö³ÄÇϸé Apps Å°µµ ÀÎÁöÇϱ⠶§¹®ÀÔ´Ï´Ù. ¿¹¸¦ µé¾î:

GuiContextMenu:  ; ¿ìŬ¸¯¿¡ ÀÀ´äÇÏ¿© ±âµ¿µÇ°Å³ª Apps ´©¸§¿¡ ÀÀ´äÇÏ¿© ±âµ¿µËˆ•.
if A_GuiControl <> MyTreeView  ; ÀÌ Á¡°ËÀº ¼±ÅÃÀûÀÔ´Ï´Ù. TreeView ¾È¿¡ Ŭ¸¯ÇÒ ¶§¸¸ ¸Þ´º¸¦ º¸¿©ÁÝ´Ï´Ù.
    return
; Á¦°øµÈ A_GuiX ±×¸®°í A_GuiY ÁÂÇ¥¿¡ ¸Þ´º¸¦ º¸¿©ÁÝ´Ï´Ù.
; »ç¿ëÀÚ°¡ Apps Å°¸¦ ´©¸£´õ¶óµµ ¿Ã¹Ù¸¦ ÁÂÇ¥¸¦ Á¦°øÇϱ⠶§¹«¿¡ ÀÌ°ÍÀ» »ç¿ëÇØ¾ß ÇÕ´Ï´Ù:
Menu, MyContextMenu, Show, %A_GuiX%, %A_GuiY%
return

E: »ç¿ëÀÚ°¡ Ç׸ñ ÆíÁýÀ» ½ÃÀÛÇß½À´Ï´Ù (»ç¿ëÀÚ´Â TreeView ¿É¼Ç¿¡ -ReadOnlyÀÌ ÀÖÀ» °æ¿ì¿¡¸¸ Ç׸ñÀ» ÆíÁýÇÒ ¼ö ÀÖ½À´Ï´Ù). º¯¼ö A_EventInfo¿¡ ±× Ç׸ñÀÇ ID°¡ ´ã±é´Ï´Ù.

F: TreeView°¡ Å°º¸µå ÃÊÁ¡À» ¹Þ¾Ò½À´Ï´Ù.

f (¼Ò¹®ÀÚ F): TreeView °¡ Å°º¸µå ÃÊÁ¡À» ÀÒ¾î¹ö·È½À´Ï´Ù.

K: TreeView°¡ ÃÊÁ¡ÀÌ ÀÖ´Â µ¿¾È »ç¿ëÀÚ°¡ Å°¸¦ ´­·¶½À´Ï´Ù. A_EventInfo¿¡ Å°ÀÇ °¡»ó Å° Äڵ尡 ´ã±é´Ï´Ù. ¹üÀ§´Â 1ºÎÅÍ 255±îÁöÀÔ´Ï´Ù. Å°°¡ ¾ËÆĺªÀ̸é, ´ëºÎºÐÀÇ Å°º¸µå ·¹À̾ƿô¿¡¼­ Chr(A_EventInfo)¸¦ ÅëÇÏ¿© »óÀÀÇÏ´Â ¹®ÀÚ·Î º¯È¯ÇÒ ¼ö ÀÖ½À´Ï´Ù. F2 Å°´­¸²Àº WantF2¿¡ »ó°ü¾øÀÌ ¹Þ½À´Ï´Ù. ±×·¸Áö¸¸, Enter Å°´­¸²Àº ¹ÞÁö ¾Ê½À´Ï´Ù; ÀÌ Å°¸¦ ¹ÞÀ¸·Á¸é, ¾Æ·¡¿¡ ±â¼úÇÏ´Â ¹Ù¿Í °°ÀÌ ±âº» ¹öÆ°À» »ç¿ëÇϽʽÿÀ.

+ (Ç÷¯½º »çÀÎ): Ç׸ñÀÌ È®´ëµÇ¾î ±×ÀÇ ÀÚ¼ÕÀ» º¸¿©ÁÝ´Ï´Ù. º¯¼ö A_EventInfo¿¡ ±× Ç׸ñÀÇ ID°¡ ´ã±é´Ï´Ù.

- (¸¶À̳ʽº »çÀÎ): Ç׸ñÀÌ Ãà¼ÒµÇ¾î ±×ÀÇ ÀÚ¼ÕÀ» °¨Ãä´Ï´Ù. º¯¼ö A_EventInfo¿¡ ±× Ç׸ñÀÇ ID°¡ ´ã±é´Ï´Ù.

³íÆò

Gui Submit ¸í·É¾î´Â TreeView ÄÜÆ®·Ñ¿¡ ¾Æ¹« È¿°ú°¡ ¾ø½À´Ï´Ù. ±×·¯¹Ç·Î, ½ºÅ©¸³Æ®´Â (ÀÖ´Ù¸é) TreeViewÀÇ ¿¬°ü º¯¼ö¸¦ »ç¿ëÇØ ±âŸ µ¥ÀÌÅ͸¦ ÀúÀåÇÒ ¼ö ÀÖ½À´Ï´Ù. µ¤¾î¾µ±îºÁ °ÆÁ¤ÇÒ ÇÊ¿ä°¡ ¾ø½À´Ï´Ù.

TreeView¿¡ ÃÊÁ¡ÀÌ ÀÖ´Â µ¿¾È »ç¿ëÀÚ°¡ Enter¸¦ ´­·¶´ÂÁö ŽÁöÇÏ·Á¸é, ±âº» ¹öÆ°À» »ç¿ëÇϽʽÿÀ (¿øÇÏ¸é °¨Ãâ ¼ö ÀÖ½À´Ï´Ù). ¿¹¸¦ µé¾î:

Gui, Add, Button, Hidden Default, OK
...
ButtonOK:
GuiControlGet, FocusedControl, FocusV
if FocusedControl <> MyTreeView
    return
MsgBox % "Enter was pressed. The selected item ID is " . TV_GetSelection()
return

Å°º¸µå·Î ÇÑ Ç׸ñ¿¡¼­ ´Ù¸¥ Ç׸ñÀ¸·Î Ç×ÇØÇÏ´Â °Í ¸»°íµµ, »ç¿ëÀÚ´Â ÇÑ Ç׸ñÀÇ À̸§ÀÇ Ã¹ ¹®ÀÚ¸¦ ŸÀÚÇÏ¿© Á¡Áø °Ë»öÀ» ¼öÇàÇÒ ¼öµµ ÀÖ½À´Ï´Ù. ÀÌ·¸°Ô ÇÏ¸é ¼±ÅÃÀÌ ºÎÇÕÇÏ´Â °¡Àå °¡±î¿î Ç׸ñÀ¸·Î Á¡ÇÁÇÕ´Ï´Ù.

±æÀÌ¿¡ »ó°ü¾øÀÌ ÅؽºÆ®¸¦ TreeViewÀÇ °¢ Ç׸ñ¿¡ ÀúÀåÇÒ ¼ö ÀÖÁö¸¸, ¿ÀÁ÷ ¾ÕÂÊ 260 ±ÛÀÚ¸¸ º¸¿©ÁÝ´Ï´Ù.

ÀÌ·ÐÀûÀ¸·Î TreeView¿¡¼­ Ç׸ñÀÇ °³¼ö´Â ÃÖ´ë 65536ÀÌÁö¸¸, Ç׸ñÀ» Ãß°¡ÇÒ ¼ö·Ï ¾ó¸¶ °¡Áö ¾Ê¾Æ ¼öÇ༺´ÉÀÌ ´«¿¡ ¶ç°Ô ÁÙ¾îµì´Ï´Ù. TV_Add()¿¡ ±â¼úµÈ ´Ù½Ã ±×¸®±â ÆÁÀ» »ç¿ëÇϸé À̸¦ ¾à°£ ÁÙÀÏ ¼ö ÀÖ½À´Ï´Ù.

ListViews¿Í ´Ù¸£°Ô, TreeViewÀÇ ImageList´Â TreeView°¡ Æı«µÉ ¶§ ÀÚµ¿À¸·Î Æı«µÇÁö ¾Ê½À´Ï´Ù. ±×·¯¹Ç·Î, ½ºÅ©¸³Æ®´Â TreeViewÀÇ Ã¢À» Æı«ÇÏ°í ³ª¸é ¹Ýµå½Ã IL_Destroy(ImageListID)¸¦ È£ÃâÇØ¾ß ÇÕ´Ï´Ù. ImageList¸¦ ´Ù¸¥ °÷¿¡ »ç¿ëÇÒ »ý°¢ÀÌ ¾ø´Ù¸é ¸»ÀÔ´Ï´Ù. ±×·¸Áö¸¸, ½ºÅ©¸³Æ®°¡ °ð ³¡³¯ °æ¿ì¶ó¸é ºÒÇÊ¿äÇÕ´Ï´Ù. ¿Ö³ÄÇÏ¸é ±× ¶§ ¸ðµç ImageListsµµ ÀÚµ¿À¸·Î Æı«µÇ±â ¶§¹®ÀÔ´Ï´Ù.

½ºÅ©¸³Æ®´Â â ´ç Çϳª ÀÌ»óÀÇ TreeView¸¦ »ý¼ºÇÒ ¼ö ÀÖ½À´Ï´Ù. ±âº» ¸»°í ´Ù¸¥ TreeView¸¦ ó¸®ÇÏ·Á¸é, ³»Àå ÇÔ¼ö¸¦ ÂüÁ¶ÇϽʽÿÀ.

TreeViewÀÇ ±Û²ÃÀ» ¹Ù²Ù°Å³ª Å©±â¸¦ ¹Ù²Ù°Å³ª ¼û±â·Á¸é GuiControlÀ» »ç¿ëÇϽʽÿÀ.

Æ®¸®ºä È®Àå(Tree View eXtension (TVX))À¸·Î TreeViews¸¦ À̵¿ÇÏ°í »ðÀÔÇÏ°í Á¦°ÅÇÒ ¼ö ÀÖ½À´Ï´Ù. ´ÙÀ½ µ¥¸ð¸¦ ÂüÁ¶ÇϽʽÿÀ: www.autohotkey.com/forum/topic19021.html

°ü·Ã Ç׸ñ

ListView, Other Control Types, Gui, GuiContextMenu, GuiControl, GuiControlGet, TreeView ½ºÅ¸ÀÏ Å×À̺í

¿¹Á¦

; ´ÙÀ½ ½ºÅ©¸³Æ®´Â ÀÌ ÆäÀÌÁö À§¿¡ ÀÖ´Â ¿¹Á¦º¸´Ù ´õ Á¤±³ÇÕ´Ï´Ù.
; ¸ðµç-»ç¿ëÀÚ ½ÃÀÛ ¸Þ´ºÀÇ ¸ðµç Æú´õ¸¦ ´ãÀº TreeView¸¦ »ý¼ºÇÏ°í ºÎ¿©ÁÝ´Ï´Ù.
; »ç¿ëÀÚ°¡ Æú´õ¸¦ ¼±ÅÃÇϸé, ±×ÀÇ ³»¿ëÀÌ ListView ¿À¸¥ÂÊ¿¡ ³ªÅ¸³³´Ï´Ù (À©µµ¿ìÁîÀÇ Å½»ö±âó·³).
; °Ô´Ù°¡, StatusBar ÄÜÆ®·Ñ¿¡ ÇöÀç ¼±ÅÃµÈ Æú´õ¿¡ °üÇÑ Á¤º¸¸¦ º¸¿©ÁÝ´Ï´Ù.

; ´ÙÀ½ Æú´õ´Â TreeView¿¡ ´ëÇÏ¿© ·çÆ® Æú´õ°¡ µË´Ï´Ù.
; C:\¿Í °°ÀÌ Àüü µå¶óÀ̺긦 ÁöÁ¤ÇÏ¸é ¾à°£ ÀûÀç ½Ã°£ÀÌ °É¸³´Ï´Ù:
TreeRoot = %A_StartMenuCommon%
TreeViewWidth := 280
ListViewWidth := A_ScreenWidth - TreeViewWidth - 30

; »ç¿ëÀÚ°¡ âÀ» ²ø¾î Å©±â¸¦ ¹Ù²Ü ¼ö ÀÖµµ·Ï Çã¿ëÇÕ´Ï´Ù:
Gui +Resize

; ImageList¸¦ ¸¸µé°í °Å±â¿¡ Ç¥ÁØ ½Ã½ºÅÛ ¾ÆÀÌÄÜÀ» ¹èÁ¤ÇÕ´Ï´Ù:
ImageListID := IL_Create(5)
Loop 5 
    IL_Add(ImageListID, "shell32.dll", A_Index)
; TreeView¿Í ListView¸¦ ³ª¶õÈ÷ ¸¸µé¾î ¸¶Ä¡ À©µµ¿ìÁîÀÇ Å½»ö±âó·³ ÇàÀ§ÇÕ´Ï´Ù:
Gui, Add, TreeView, vMyTreeView r20 w%TreeViewWidth% gMyTreeView ImageList%ImageListID%
Gui, Add, ListView, vMyListView r20 w%ListViewWidth% x+10, Name|Modified

; ListViewÀÇ Ä÷³ ³Êºñ¸¦ ¼³Á¤ÇÕ´Ï´Ù (ÀÌ°ÍÀº ¼±ÅÃÀûÀÔ´Ï´Ù):
Col2Width = 70  ; ¿ÀÁ÷ YYYYMMDD ºÎºÐ¸¸ º¸À̵µ·Ï ³Êºñ¸¦ ÁÙÀÔ´Ï´Ù.
LV_ModifyCol(1, ListViewWidth - Col2Width - 30)  ; ¼öÁ÷ ½ºÅ©·Ñ¹Ù¸¦ À§ÇØ °ø°£À» Çã¿ëÇÕ´Ï´Ù.
LV_ModifyCol(2, Col2Width)

; ÆÄÀÏÀÇ °³¼ö¿Í ±×ÀÇ ÃÑ Å©±â¿¡ °üÇÑ Á¤º¸¸¦ º¸¿©ÁÙ »óÅ ¹Ù¸¦ »ý¼ºÇÕ´Ï´Ù:
Gui, Add, StatusBar
SB_SetParts(60, 85)  ; ¹Ù¸¦ ¼¼ ºÎºÐÀ¸·Î »ý¼ºÇÕ´Ï´Ù (¼¼ ¹ø° ºÎºÐ¿¡ ³ª¸ÓÁö ³Êºñ¸¦ ¸ðµÎ ä¿ó´Ï´Ù).

; Æú´õ¿Í ±×ÀÇ ºÎÆú´õ´úÀ» Æ®¸®¿¡ Ãß°¡ÇÕ´Ï´Ù. ÀûÀç ½Ã°£ÀÌ °É¸± °æ¿ì´Â ÇöÀç »óŸ¦ º¸¿©ÁÝ´Ï´Ù:
SplashTextOn, 200, 25, TreeView and StatusBar Example, Loading the tree...
AddSubFoldersToTree(TreeRoot)
SplashTextOff

; âÀ» º¸¿©ÁÖ°í µ¹¾Æ°©´Ï´Ù. OS´Â ½ºÅ©¸³Æ®¿¡°Ô »ç¿ëÀÚ°¡ ÀûÀýÇÑ ÇàÀ§¸¦ ¼öÇàÇÒ ¶§¸¶´Ù °íÁöÇÕ´Ï´Ù:
Gui, Show,, %TreeRoot%  ; Á¦¸ñ ¹Ù¿¡ ¼Ò½º µð·ºÅ丮¸¦ º¸¿©ÁÝ´Ï´Ù (TreeRoot).
return

AddSubFoldersToTree(Folder, ParentItemID = 0)
{
    ; ÀÌ ÇÔ¼ö´Â ÁöÁ¤µÈ Æú´õÀÇ ¸ðµç ºÎÆú´õ¸¦ TreeView¿¡ Ãß°¡ÇÕ´Ï´Ù..
    ; ¶ÇÇÑ ±íÀÌ¿¡ »ó°ü¾øÀÌ ÀÚ±â ÀÚ½ÅÀ» Àç±ÍÇØ ³»Æ÷µÈ Æú´õµéÀ» ¼öÁýÇÕ´Ï´Ù.
    Loop %Folder%\*.*, 2  ; ¸ðµç Æú´õÀÇ ºÎÆú´õµéÀ» ¿­¶÷ÇÕ´Ï´Ù.
        AddSubFoldersToTree(A_LoopFileFullPath, TV_Add(A_LoopFileName, ParentItemID, "Icon4"))
}

MyTreeView:  ; ÀÌ ¼­ºê·çƾÀº »ç¿ëÀÚ ÇàÀ§¸¦ ó¸®ÇÕ´Ï´Ù (¿¹¸¦ µé¾î Ŭ¸¯).
if A_GuiEvent <> S  ; Áï, "»õ·Î¿î Æ®¸® Ç׸ñ ¼±ÅÃ"ÀÌ ¾Æ´Ñ À̺¥Æ®.
    return  ; ¾Æ¹«°Íµµ ÇÏÁö ¾ÊÀ½.
; ±×·¸Áö ¾ÊÀ¸¸é, ListView ³»¿ëÀ» ¼±ÅÃµÈ Æú´õ·Î ä¿ó´Ï´Ù.
; ¸Õó ¼±ÅÃµÈ Æú´õÀÇ ¿ÏÀüÇÑ °æ·Î¸¦ ¾Ë¾Æ³À´Ï´Ù:
TV_GetText(SelectedItemText, A_EventInfo)
ParentID := A_EventInfo
Loop  ; ¼±ÅÃµÈ Æú´õ¿¡ ´ëÇÑ Àüü °æ·Î¸¦ ±¸¼ºÇÕ´Ï´Ù.
{
    ParentID := TV_GetParent(ParentID)
    if not ParentID  ; ´õ ÀÌ»ó Á¶»ó ¾øÀ½.
        break
    TV_GetText(ParentText, ParentID)
    SelectedItemText = %ParentText%\%SelectedItemText%
}
SelectedFullPath = %TreeRoot%\%SelectedItemText%

; ÆÄÀϵéÀ» ListView ¾È¿¡ »ðÀÔÇÕ´Ï´Ù:
LV_Delete()  ; ¸ðµç ÇàµéÀ» Áö¿ó´Ï´Ù.
GuiControl, -Redraw, MyListView  ; ÀûÀçÇÏ´Â µ¿¾È ´Ù½Ã ±×¸®±â¸¦ ¸·¾Æ¼­ ¼öÇ༺´ÉÀ» Çâ»ó½Ãŵ´Ï´Ù.
FileCount = 0  ; ¾Æ·¡ ȸµ¹À̸¦ ½ÃÀÛÇϱâ Àü¿¡ ÃʱâÈ­ÇÕ´Ï´Ù.
TotalSize = 0
Loop %SelectedFullPath%\*.*  ; °£´ÜÇÏ°Ô Ã³¸®Çϱâ À§ÇØ, Æú´õ¸¦ »ý·«ÇÏ°í ListView¿¡ ÀÖ´Â ÆÄÀϵ鸸 º¸ÀÔ´Ï´Ù.
{
    LV_Add("", A_LoopFileName, A_LoopFileTimeModified)
    FileCount += 1
    TotalSize += A_LoopFileSize
}
GuiControl, +Redraw, MyListView

; »óÅ ¹ÙÀÇ ¼¼ ºÎºÐÀ» ¾÷µ¥ÀÌÆ®ÇØ ÇöÀç ¼±ÅÃµÈ Æú´õ¿¡ °üÇÑ Á¤º¸¸¦ º¸¿©ÁÝ´Ï´Ù:
SB_SetText(FileCount . " files", 1)
SB_SetText(Round(TotalSize / 1024, 1) . " KB", 2)
SB_SetText(SelectedFullPath, 3)
return

GuiSize:  ; »ç¿ëÀÚÀÇ Ã¢ Å©±â º¯°æ¿¡ ÀÀ´äÇÏ¿© ListView¿Í TreeView Å©±â¸¦ Á¶ÀýÇÕ´Ï´Ù.
if A_EventInfo = 1  ; âÀÌ ÃÖ¼ÒÈ­µÇ¾ú½À´Ï´Ù. ¾Æ¹« Á¶Ä¡µµ ÇÊ¿äÇÏÁö ¾Ê½À´Ï´Ù.
    return
; ±×·¸Áö ¾ÊÀ¸¸é, âÀº Å©±â°¡ º¯°æµÇ°Å³ª ÃÖ´ëÈ­µÇ¾ú½À´Ï´Ù. ºÎÇÕÇÏ´Â ÄÜÆ®·ÑµéÀÇ Å©±â¸¦ Á¶ÀýÇÕ´Ï´Ù.
GuiControl, Move, MyTreeView, % "H" . (A_GuiHeight - 30)  ; StatusBar¿Í ¿©¹é¿¡ -30À» ÁöÁ¤ÇÕ´Ï´Ù.
GuiControl, Move, MyListView, % "H" . (A_GuiHeight - 30) . " W" . (A_GuiWidth - TreeViewWidth - 30)
return

GuiClose:  ; »ç¿ëÀÚ°¡ TreeViewÀÇ GUI âÀ» ´ÝÀ¸¸é ½ºÅ©¸³Æ®¸¦ Á¾·áÇÕ´Ï´Ù.
ExitApp