// 주소 에디트 박스 핸들값으로 오는건 break를 걸어서 Dialog로 메시지를 보내고 아닌것은...
// SendAcceleratorToWeb함수를 이용해서 웹페이지로 보냄
// 힘들었음 이거 알아낸다고 ㅠ
// CEdit *hWndUrlAdress;
BOOL CNBrowserSetupCtrl::PreTranslateMessage(MSG* pMsg)
{
// TODO: 여기에 특수화된 코드를 추가 및/또는 기본 클래스를 호출합니다.
switch (pMsg->message)
{
case WM_KEYDOWN:
if(GetKeyState(VK_CONTROL))
{
// 67 = 'c' , 86 = 'v'
if(pMsg->wParam == 67)
{
hWndUrlAdress = (CEdit*)NitsViewDlg.GetDlgItem(IDC_ADC);
MyOutputDebugString("Ctrl Message [%d],[%d],[%d],[%d],[%d]",hWndUrlAdress->m_hWnd,pMsg->hwnd,pMsg->lParam,pMsg->message,pMsg->wParam);
if(!(hWndUrlAdress->m_hWnd == pMsg->hwnd))
return SendAcceleratorToWeb(pMsg);
break;
}
if(pMsg->wParam == 86)
{
hWndUrlAdress = (CEdit*)NitsViewDlg.GetDlgItem(IDC_ADC);
MyOutputDebugString("Ctrl Message [%d],[%d],[%d],[%d],[%d]",hWndUrlAdress->m_hWnd,pMsg->hwnd,pMsg->lParam,pMsg->message,pMsg->wParam);
if(!(hWndUrlAdress->m_hWnd == pMsg->hwnd))
return SendAcceleratorToWeb(pMsg);
break;
}
}
case WM_KEYUP:
switch (pMsg->wParam)
{
case VK_TAB:
case VK_RETURN:
MyOutputDebugString("VK_TABffffffffffff");
hWndUrlAdress = (CEdit*)NitsViewDlg.GetDlgItem(IDC_ADC);
MyOutputDebugString("Ctrl Message [%d],[%d],[%d],[%d],[%d]",hWndUrlAdress->m_hWnd,pMsg->hwnd,pMsg->lParam,pMsg->message,pMsg->wParam);
// urlAdress의 핸들값이 아니면 웹으로 키보스 마우스를 보내고
// 아니면 urlAdress핸들로 키보스 메시지를 보낸다
if(!(hWndUrlAdress->m_hWnd == pMsg->hwnd))
return SendAcceleratorToWeb(pMsg);
break;
}
break;
}
return COleControl::PreTranslateMessage(pMsg);
}
'개발지식창고 > ActiveX' 카테고리의 다른 글
브라우저 컨트롤에서 웹페이지 소스를 가져오기 (0) | 2010.12.31 |
---|---|
다이얼로그 베이스에서 ATL 변수사용하기 (0) | 2010.10.19 |
웹브라우저 내에서의 TAB,ENTER 안먹히는부분 (0) | 2010.10.13 |
FindElement (0) | 2010.09.12 |
익스플로러 현재 모든 url 가져오기 (0) | 2010.09.08 |