|
박지훈.임프 님이 쓰신 글 :
: 우리집 님이 쓰신 글 :
: :
: :
: : int Index; //header Public: 란에 추가!!!!
: :
: : void __fasttcall TForm1::ListBox1MouseDown(.......)
: : {
: : Index=ListBox1->ItemIndex;
: : }
: :
: : void __fastcall TForm1::Button1Click(TObject *Sender)
: : {
: : ListBox1->Items->Move(Index,Index--);
: : SendMessage(ListBox1->Handle, WM_VSCROLL, SB_LINEUP, 0)
: : }
: :
: : 위와 같은 코딩을 하고나서
: :
: : 리스트 박스에는 아이템이 많아 수직 스크롤바가 나타납니다.
: : 맨 아래의 아이템을 선택한후 버튼1을 누르면 하나씩 위로 이동하는데
: : 하다가 보면 수직스크롤바가 움직여 지지 않아 선택된 아이템의 이동되는 모습이
: : 보이질 않습니다.... 왜그럴까요?
: :
: : 해결하는 방법좀 주세요
: :
:
:
: 임펠리테리입니다.
:
: WM_VSCROLL 대신 리스트박스 메시지인 LB_SETTOPINDEX 메시지를 쓰세요. LB_SETTOPINDEX 메시지는 특정 인덱스의 아이템이 항상 리스트박스에서 보이도록 자동으로 스크롤해주는 메시지입니다.
: SendMessage(ListBox1->Handle, LB_SETTOPINDEX, Index, 0);
:
: 그럼 참고하시길...
허걱!! 박지훈님 감사합니다...
해결했는데 저 버튼이 하는 기능은 위로 아이템을 올리는 기능인데
그러타면 밑으로 이동되게 할때 스크롤바의 처리는 어케 해야하나요?
다른 메시지가 있나요?
무지 하게 감사합니다.
|