탭컨트롤 상단에 오른쪽 마우스를 이용하여 어떤 탭을 클릭했는지 출력하도록 구성한다면
아래와 같이 작성할수 있습니다. 제가 링크해드린 예제에서처럼 CTabCtrl에서 계승 받은 클래스에
WM_RBUTTONUP 메시지를 등록하시고 아래와 같은 코드를 추가하세요 ^^;;
WM_LBUTTONDOWN 메시지 핸들러에서 다음과 같은 처리를 해줍니다...
CRect rt; // 픽쳐 컨트롤의 사각형 영역 조사
// 픽쳐 컨트롤의 사각형 좌표를 구함
// GetClientRect 는 크기를 구하니 GetWindowRect 이용...
((CStatic*)GetDlgItem(IDC_STATIC_PIC))->GetWindowRect(&rt);
// GetWindowRect 로 얻은 좌표는 스크린 좌표(물리적) 이니 이를
// 화면 좌표(논리적, 클라이언트 좌표)로 변환
ScreenToClient(&rt);
if (rt.PtInRect(point)) // 픽쳐 컨트롤의 사각형 영역에 마우스 클릭 좌표(point) 가 있으면...TRUE
{
DoSomething...
}
else // 픽쳐 컨트롤 영역에 마우스 클릭 좌표가 없으면... FALSE
{
DoSomething...
}
'old drawer > C, C++, MFC' 카테고리의 다른 글
[MFC] CEdit Styles (0) | 2012.07.13 |
---|---|
[MFC] GetDlgItem() (0) | 2012.07.12 |
[MFC] SDI 환경에서 이벤트 처리 OnCommand() (0) | 2012.07.12 |
[MFC] SDI 환경에서 버튼의 동적 생성과 메시지를 처리하는 방법 (0) | 2012.07.12 |
[MFC] 컨트롤 동적 생성 (3) | 2012.07.11 |