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
[57094] Re:[초보]리스트 박스 질문입니다.
장성호 [nasilso] 983 읽음    2009-06-02 16:40
왕꼼수이지만
다음과 같은 식으로 하니.. ListBox의 가운데에 원하는 Item이 오네요..

void __fastcall TForm1::Button3Click(TObject *Sender)
{
   int cnt=ListBox1->ClientHeight / ListBox1->ItemHeight;
   ListBox1->ItemIndex=50+cnt/2;
   ListBox1->ItemIndex=50;
}
//---------------------------------------------------------------------------


위코드는 50번째 Item을 Listbox의 세로로 가운데 쯤에 오도록 한것인데..

문제점은 좀 있습니다.
    * ListBox의 Item의 갯수가 ( SelectIndex + 화면ItemCount /2 ) 보다 작을때..
    * SelectIndex가 (화면ItemCount /2 ) 보다 작을때 등..


그럼..


일월영측 님이 쓰신 글 :
: m_fpDoing = fopen(szInfo,"r+");
: // nLine는 파일안에 쓰여져 있는 전체 라인수를 의미합니다.
: for(int i=0; i<nLine; i++)
:         {
:             fgets(szInfo, 255,m_fpDoing);                       // 파일 안의 라인 데이터를 얻어오는데 사용
:             sprintf(szFinal,"No.%04d %s",i,szInfo);
:             listDoFileInfo->Items->Add(szFinal);
:         }
:         fclose(m_fpDoing)
: 이렇게 리스트 박스에 파일의 내용을 추가를 합니다.
:
: 그 후
: listDoFileInfo->ItemIndex = 100;
:         listDoFileInfo->SetFocus();
:
: 이렇게 소스를 작성하면, 현재 리스트 박스에 100번째 줄에 위치한 곳으로 포커스가 이동하면서
: 화면도 그쪽으로 이동하게 되는데 리스트 박스 맨 밑부분에 표시가 됩니다.
:
: 이 위치를 리스트 박스 가운데로 옮기는 방법이 없을까요??

+ -

관련 글 리스트
57079 [초보]리스트 박스 질문입니다. 일월영측 788 2009/06/02
57094     Re:[초보]리스트 박스 질문입니다. 장성호 983 2009/06/02
57126         Re:Re:[초보]리스트 박스 질문입니다. 일월영측 992 2009/06/05
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.