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
[5475] [질문] 컨트롤들의 색상 변경 다시 질문(소스동봉 ^^)
쌈개 [] 2962 읽음    2001-02-15 10:35
임프님.. 답변 감사합니다.

참 여담인데.. 임프가 임펠리테리인가염?
저두 임펠리테리 무지 조아하는뎅.. 씬쓔빈곤이나.. 썸웨어오버더렌보우두 멋있구..
아이오브허리케인이나 온엔온도.. -_-;;

잠시 다른 곳으로 새었네요...

에헴.. 일단 알려주신대로...
메세지 후킹을 시도해 보았습니다만.. 결과는 -_- 묵묵..

현재 리스트박스 옆에 나오는 스크롤바가 보기 시러서
색상을 조금 바꾸려고 합니다.
API 시절에는 WM_CTLCOLORSCROLLBAR라는 게 있어서 그려질때 스크롤바의 부모에게로 날라가져.
그럼 이거 가로채서 칠할 브러쉬 맹근다음 리턴하면 되었는뎅.. -_-;;

다음에 소스를 같이 올립니다.(참고로 SBListBox1는 TListBox를 상속에서 오너드로하는 겁니다.)
말씀하신데로 리스트박스의 메세지프로시져를 가로채서 테스트해본 결과
아예 들어오지를 않는군요.


혹시 어디가 잘못 된 건지 좀 봐주시구요..
안된다면.. 흑흑..


혹시 스크롤바나 버튼 그리고 콤보박스의 화살표 등등의 색깔을 바꾸는 방법 아시면 알려주심이.
그냥 쉽게 말씀드리자면 윈도우 테마 제작하는 거랑 같아요..
근데 왜 안되는겨.. -_-;;;

그럼...


신슈빈곤.. 신슈빈곤... (^^)/~



LRESULT CALLBACK NewWindowProc(HWND hWnd, UINT msg, WPARAM w,
LPARAM l)
{
  if (msg == WM_CTLCOLORSTATIC)
    ShowMessage("The vertical scrollbar is scrolling!");

  return CallWindowProc((FARPROC)Form1->OldWindowProc, hWnd, msg, w, l);
}



//---------------------------------------------------------------------------
void __fastcall TForm1::FormCreate(TObject *Sender)
{
     OldWindowProc = (WNDPROC)SetWindowLong(SBListBox1->Handle, GWL_WNDPROC, (long)NewWindowProc);
}

//---------------------------------------------------------------------------
void __fastcall TForm1::FormDestroy(TObject *Sender)
{
     SetWindowLong(SBListBox1->Handle, GWL_WNDPROC, (long)OldWindowProc);
}
//---------------------------------------------------------------------------

+ -

관련 글 리스트
5475 [질문] 컨트롤들의 색상 변경 다시 질문(소스동봉 ^^) 쌈개 2962 2001/02/15
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.