되는데요.
그래서 그냥 다른 방법 하나 알려드릴께요.
Form 의 OnMouseWheel 이벤트에서 마우스가 ScrollBox 안에 있을 때 Scroll 의 Position 을 변경하는 것입니다.
TPoint ptClient = ScrollBox1->ScreenToClient(MousePos);
TRect rtClient(0, 0, ScrollBox1->Width, ScrollBox1->Height);
if (PtInRect(rtClient, ptClient))
ScrollBox1->VertScrollBar->Position -= WheelDelta;
김태성 님이 쓰신 글 :
:
:
http://cbuilder.borlandforum.com/impboard/impboard.dll?action=read&db=bcb_qna&no=63131
:
: 이글을 보고서 따라해 보았는데 작동하지않습니다.
:
: 그런데 지금 스크롤박스 위에 TPanel이 전체를 덮고 있어서 TPanel 클릭 이벤트에
:
: void __fastcall TfrmMain::pnlBackClick(TObject *Sender)
: {
: scrollboxBack->SetFocus();
: }
:
: void __fastcall TfrmMain::scrollboxBackMouseWheel(TObject *Sender,
: TShiftState Shift, int WheelDelta, TPoint &MousePos, bool &Handled)
: {
: scrollboxBack->VertScrollBar->Position -= WheelDelta;
: }
: (scrollboxBack 위에 pnlBack이 덮고있는상태입니다.)
:
: 요렇게 포커스를 주고 했는데도 휠이 먹지를 안습니다.
: 혹시나 해서 스크롤박스 클릭이벤트에서도 포커스를 주어봤구요. (역시 안됨)
:
: 이런경우 특별히 또 따로 설정을 해줘야 하는것이 있나요??