이번에는 .. 드롭다운박스를 다뤄보도록 하겠습니다.
Go
func comboTest1() {
mgr, _ := NewWindowMgrNoResize("콤보박스 테스트", 640, 200, GetIcon())
dd1 := mgr.DropDownBox([]string{"1.하하", "2.호호", "3.ㅋㅋ", "4.ㅎㅎ"})
dd1.CurrentIndexChanged().Attach(func() {
fmt.Printf("선택된 인덱스 : %d, 선택된 값 : %s\n", dd1.CurrentIndex(), dd1.Text())
})
mgr.StartForeground()
}

요래 DropDownBox 메소드를 사용하시면 되구요 인자는 []string 배열로 지정 됩니다.
보통 드롭다운박스는 보여지는 텍스트 값 또는 현재 선택된 인덱스 값을 가지고 다루는 경우가 많구요 현재 선택된 인덱스는 CurrentIndex() 함수로 현재 선택된 인덱스에 해당하는 텍스트 값은 Text()함수로 얻을 수 있습니다.

생성시에 전달한 인자의 배열 인덱스 값을 기준으로 생각하시면 되겠지요. []string{ “1.하하” 였으니 0번 인덱스가 “1.하하”가 되겠습니다.
기본적으로 초기에 선택된 인덱스는 0인데요 만약 다른 인덱스 번호를 초기 값으로 생성하고 싶은경우
Go
func comboTest1() {
mgr, _ := NewWindowMgrNoResize("콤보박스 테스트", 640, 200, GetIcon())
dd1 := mgr.DropDownBox([]string{"1.하하", "2.호호", "3.ㅋㅋ", "4.ㅎㅎ"})
dd1.SetCurrentIndex(3)
dd1.CurrentIndexChanged().Attach(func() {
fmt.Printf("선택된 인덱스 : %d, 선택된 값 : %s\n", dd1.CurrentIndex(), dd1.Text())
})
mgr.StartForeground()
}
이렇게 SetCurrentIndex 함수로 인덱스를 지정하시면

3번 인덱스가 초기 선택된 값으로 표시됩니다.
예제코드에 CurrentIndexChanged 이벤트에 대해서 함수를 Attach 한걸 보실 수 있을겁니다. 값 변경시에 처리하셔도 되고. 특정 버튼이 눌리거나 창이 닫히거나 원하시는 상황에서 CurrentIndex 함수를 통해 얻은 인덱스로 초기 지정한 배열의 값을 얻어 오시던지 그냥 Text()함수로 선택된 값을 직접 받아서 처리하시던지 하시면 되겠습니다.
이상입니다.