[VC] IE 서브클래싱(subclass)
WNDPROC g_pOldProc;
static LRESULT CALLBACK MyIEProc(HWND, UINT, WPARAM, LPARAM);
void CBand::SubClass(HWND hWnd)
{
// 64bit 환경을 위해서 SetWindowLongPtr() 사용
g_pOldProc = (WNDPROC) SetWindowLongPtr(hwndOfCallingComponent, GWLP_WNDPROC, (LONG_PTR)IEProc);
}
LRESULT CALLBACK CBand::MyIEProc (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
{
BOOL bRes = false;
if (Message == WM_SIZE)
bRes = g_pBand->SetPosition();
if (Message == WM_ERASEBKGND)
bRes = false;
if (bRes == false)
return CallWindowProc (g_pOldProc, hwnd, message, wParam, lParam);
}
// 위치 체크 및 이동
BOOL CBand::SetPosition()
{
RECT rc;
::GetClientRect(m_BandWnd, &rc);
if (rc.top == 0)
{
// 작업내용
}
return false;
}
참고 :
http://0x68.com/shorts/subclass.asp
http://social.msdn.microsoft.com/Forums/en/vclanguage/thread/7cd4b8b5-1cd6-4661-9f29-e0569156cea4
http://www.cyworld.com/soinho/1291233
'IT-개발,DB' 카테고리의 다른 글
[개발/VC++] URLEncode, URLDecode, UTF8 변환 소스 (0) | 2011.02.10 |
---|---|
[개발/VC++] 유니코드 버전으로 된 프로젝트에서 CString 를 char* 로 바꾸는 방법 (0) | 2011.02.08 |
[개발/VC++] 인터넷 익스플로러 윈도우 핸들 구하기 (0) | 2011.02.01 |
[개발/VC++] ActiveX에서 javascript 함수 호출방법 (0) | 2011.01.31 |
[개발] VC++, C#, 웹페이지의 존재여부를 확인하기 위한 팁입니다. (0) | 2011.01.19 |
댓글