C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[10917] Re:ListBox의 선택항목 캐취
김백일 [cedar] 2090 읽음    2001-09-10 16:09
<현> 님이 쓰신 글 :
: ListBox에서 선택된 항목을
: Panel이나 Edit로 가져올려구 합니다.
: TreeView에서는 잘되던것이 잘안되네요..^^

: void __fastcall TForm1::ListBox1Click(TObject *Sender)
: {
:         int i;
:         for(i=0;i<ListBox1->Items->Count;i++)
:         {
:                 if(ListBox1->Selected[i])
:                           Edit1->Text=ListBox1->Items->Text;
:         }
: }
:
: 이렇게 코드 작성을 했는데 왜 안되는건지 잘모르겠습니다.
: (if문에서 ListBox1->Selected[i]->Text라고 써넣고 싶었지만..
: 에러라구 하네요..ㅜ.ㅜ)
: 시작한지가 얼마안되서..^^
: 알려주세요~~~
: 꾸벅

ListBox의 Selected[i] 속성은 MultiSelected 속성이 true일 때
(다중 선택 가능할 때)만 사용하는 것입니다.
MultiSelected은 default로 false 이므로 위의 코드는 당연히
동작하지 않을 것입니다.
만약 MultiSelected 속성이 true라고 가정하고
다중 선택한 문자열을 Memo에 표시한다고 가정하면
다음과 같이 하면 됩니다.

void __fastcall TForm1::ListBox1Click(TObject *Sender)
{
    Memo1->Clear();
    for (int i = 0; i < ListBox1->Items->Count; i++)
        if (ListBox1->Selected[i])
            Memo1->Lines->Add(ListBox1->Items->Strings[i]);
}

만일 님의 의도가 단일 선택(MultiSelected == false)라면
코드는 엄청 간단합니다.

Edit1->Text = ListBox1->Items->Strings[ListBox1->ItemIndex]

이게 끝입니다.
MultiSelected == false 일때
ItemIndex는 선택한 문자열의 인덱스 값을 나타냅니다.

그럼 즐프...

+ -

관련 글 리스트
10909 ListBox의 선택항목 캐취 <현> 2012 2001/09/10
10917     Re:ListBox의 선택항목 캐취 김백일 2090 2001/09/10
10916     Re:ListBox의 선택항목 캐취 공동현 1671 2001/09/10
10912     Re:ListBox의 선택항목 캐취 개박살.U&I 1060 2001/09/10
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.