|
우리집 님이 쓰신 글 :
:
:
: 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);
그럼 참고하시길...
|