안녕하세요. 천리안 프로그래머 포럼 C++Builder 담당자 임펠리테리입니다.
질문하신 것과 같은 코딩 방법은, 제가 알려드리기 보다는 직접 해보시면서 익히시는
것이 나으리라 생각되는군요. 물론 제가 코딩을 해서 보여드려도 별로 어려울것은 없
습니다만, 직접 해보시지 않고 익힌것은 잃기도 쉬울뿐 아니라 디버깅을 통해 간접적
으로 얻을 수 있는 많은 테크닉을 잃는것과도 같다고 생각하기 때문이죠. 너무 섭섭
해하시진 마시구요..
그럼 간단히 방법만 알려드리겠습니다. 리스트박스를 놓으시구요, 물론 실행할 프로
그램들의 리스트가 리스트박스에 포함되어 있어야겠죠? 그리고 그 리스트박스의 더블
클릭이벤트의 핸들러를 만들어서, 거기서 현재 선택된 항목의 문자열을 읽어오면 됩
니다. 이때 만약 멀티셀렉트 속성이 false로 되어있는 상태, 즉 한 항목만 선택가능
하게 하셨을 경우엔 리스트박스의 ItemIndex 속성을 읽어서 그에 해당하는 아이템,
즉 ListBox1->Items->Strings[ListBox1->ItemIndex] 와 같이 읽어오면 되구요,
멀티셀렉트가 가능하도록 하려면 ListBox1->Items->Countfor문을 돌리고,
ListBox1-->Selected 배열의 각 인덱스의 참/거짓을 구별하여 처리하면 됩니다.
이대로 직접 해보시면 코딩은 생각보다 간단합니다. 그리고 참, 리스트박스에는 당연
히 실행할 프로그램의 전체 패스가 들어있어야겠죠? 만약 그렇지 않고 이름만 포함시
킨 경우라면 배열이나 TList 객체를 만들어서 전체 패스를 저장하고 있다가 인덱스에
의해서 읽어와야겠죠.
그럼 도움되시길 바라면서, 이만...
독립문에서 임펠리테리였습니다.
(cbuilder, skyhi18)
|