ListBox컨트롤은 여러 개의 항목을 한 번에 표시하고 싶을 때 사용합니다.

많이 본 컨트롤이지요? 자주 사용하지는 않지만 없으면 섭섭합니다.

 


 항목을 한 눈에 보여주는 ListBox 

ListBox컨트롤은 아래와 같이 만듭니다.

Gui, Add, ListBox, x위치 y위치 w너비 h높이, 항목1|항목2|항목3|항목4...

DropDownList처럼 항목과 항목은 바(|)로 구분을 합니다.

 

g레이블은 선택한 항목이 바뀔 때 서브루틴으로 이동하게 되며, v레이블엔 항목 이름이 담기게 됩니다.

Gui, Add, ListBox, x10 y10 w130 h60 vList, 항목1|항목2|항목3|항목4
Gui, Add, Button, x150 y10 w70 h50 gBtn, 뭐 선택?
Gui, Show, w230 h70, 57강
return

Btn:
Gui, Submit, NoHide
MsgBox, %List%
return

GuiClose:
ExitApp

57강_1.ahk
0.00MB

여담으로, ListBox의 내용을 모두 지우고 싶을 땐 아래와 같은 구문을 써주면 됩니다. 저도 기억 못하고, 매번 찾아보게되네요. 여러분들도 필요할때마다 오셔서 찾아보시면 됩니다.

SendMessage, 0x184, , ,listbox1

 

아래 스크립트는 ListBox를 선택할 때마다 선택한 항목을 대화상자로 알려주고, 버튼을 누르면 전체가 지워지는 스크립트입니다.

 

Gui, Add, ListBox, x10 y10 w130 h60 vList gList, 항목1|항목2|항목3|항목4
Gui, Add, Button, x150 y10 w70 h50 gBtn, 다 지워!!
Gui, Show, w230 h70, 57강
return

List:
Gui, Submit, NoHide
MsgBox, %List%
return

Btn:
SendMessage, 0x184, , ,listbox1
return

GuiClose:
ExitApp

57강_2.ahk
0.00MB

좋아요, ListBox의 내용이 버튼을 누르면 모두 지워지는 것을 볼 수 있습니다.

 

그러면 반대로 내용 추가를 해야겠지요?

내용 추가는 59강 내용인 GuiControl 명령어를 통해 가능합니다. 프로그래밍 문제를 하나 풀어보고, GuiControl을 배워봅시다.

 


| 57. ListBox |