|
답변해주신 방태윤님께 감사드립니다...
WM_VSCROLL으로 바꾸니 기능이 잘 되네요....
근데 이벤트로 ShowMessage대신 RichEdit1->Lines로 바꾸어보니 RichEdit1를 인식을 하지 못하드라구요...(undefined symbol)
NewWinProc의 함수선언부분문제인 것 같은데 어딜 고쳐야 할 지 난감하네요...
조언 부탁드립니다....
방태윤 님이 쓰신 글 :
: SC_HSCROLL 보다 WM_HSCROLL,WM_VSCROLL 로 해보세요.끝.
:
:
: 구르미 님이 쓰신 글 :
: : 안녕하세요...
: : 저번에 경호님이 답변을 해주셨던 것으로 기억이 되는데요..
: : richedit의 스크롤 메시지를 가로채는 방법에 대해서 질문 좀 드릴께요..
: : richedit에서 스크롤을 하게 될 때 뭔가 이벤트를 주고 싶은데요....
: : 팁의 25번글을 보고 아래처럼 해보았습니다...
: : 틀린 점이 있으면 좀 가르쳐주세요....
: :
: : WNDPROC FOriginalProc;
: : LRESULT WINAPI NewWinProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
: : {
: : switch (uMsg)
: : { // wndproc SubClassWndProc
: : case SC_VSCROLL:
: : ShowMessage("스크롤");
: : break;
: : case SC_HSCROLL:
: : ShowMessage("옆스크롤");
: : break;
: : default :
: : return CallWindowProc((FARPROC)FOriginalProc, hWnd,uMsg,wParam, lParam);
: : }
: : }
: : //---------------------------------------------------------------------------
: :
: : void __fastcall TForm1::FormCreate(TObject *Sender)
: : {
: : FOriginalProc = (WNDPROC)SetWindowLong(RichEdit1->Handle,GWL_WNDPROC,(LONG)NewWinProc);
: : }
: : //---------------------------------------------------------------------------
: :
: : void __fastcall TForm1::FormDestroy(TObject *Sender)
: : {
: : SetWindowLong(RichEdit1->Handle,GWL_WNDPROC,(LONG)FOriginalProc);
: : }
: :
: : 감사합니다...
|