엑티브엑스에서 키, 탭키등을 먹게 하기
오후 3:51 2001-08-07 조경민 bro@shinbiro.com
==========================================================================
////////////////////////////////////////////////////////////////////////
// ActiveX Control내 키 이벤트 문제
// 1. OnCreate에서
// OnActivateInPlace (TRUE, NULL); // == UI-Activate the control
// 2. PreTranslateMessage 추가
// 3. OnMouseActivate 추가
BOOL CActiveApprovalCtrl::PreTranslateMessage(MSG* pMsg)
{
// TODO: Add your specialized code here and/or call the base class
switch (pMsg->message)
{
case WM_KEYDOWN:
case WM_KEYUP:
switch (pMsg->wParam)
{
case VK_UP:
case VK_DOWN:
case VK_LEFT:
case VK_RIGHT:
case VK_HOME:
case VK_END:
case VK_TAB: // 탭키도 쓸수 있다.
::SendMessage( pMsg->hwnd , pMsg->message, pMsg->wParam, pMsg->lParam);
//SendMessage (pMsg->message, pMsg->wParam, pMsg->lParam);
// Windowless controls won't be able to call SendMessage.
// Instead, just respond to the message here.
return TRUE;
}
break;
}
return COleControl::PreTranslateMessage(pMsg);
}
int CActiveApprovalCtrl::OnMouseActivate(CWnd* pDesktopWnd, UINT nHitTest, UINT message)
{
// TODO: Add your message handler code here and/or call default
if (!m_bUIActive)
OnActivateInPlace (TRUE, NULL); // == UI-Activate the control
return COleControl::OnMouseActivate(pDesktopWnd, nHitTest, message);
}
int CActiveApprovalCtrl::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
if (COleControl::OnCreate(lpCreateStruct) == -1)
return -1;
OnActivateInPlace (TRUE, NULL); // == UI-Activate the control
:
return 0;
}
//////////////////////////////////////////////////////////////////////////
오후 3:51 2001-08-07 조경민 bro@shinbiro.com
==========================================================================
////////////////////////////////////////////////////////////////////////
// ActiveX Control내 키 이벤트 문제
// 1. OnCreate에서
// OnActivateInPlace (TRUE, NULL); // == UI-Activate the control
// 2. PreTranslateMessage 추가
// 3. OnMouseActivate 추가
BOOL CActiveApprovalCtrl::PreTranslateMessage(MSG* pMsg)
{
// TODO: Add your specialized code here and/or call the base class
switch (pMsg->message)
{
case WM_KEYDOWN:
case WM_KEYUP:
switch (pMsg->wParam)
{
case VK_UP:
case VK_DOWN:
case VK_LEFT:
case VK_RIGHT:
case VK_HOME:
case VK_END:
case VK_TAB: // 탭키도 쓸수 있다.
::SendMessage( pMsg->hwnd , pMsg->message, pMsg->wParam, pMsg->lParam);
//SendMessage (pMsg->message, pMsg->wParam, pMsg->lParam);
// Windowless controls won't be able to call SendMessage.
// Instead, just respond to the message here.
return TRUE;
}
break;
}
return COleControl::PreTranslateMessage(pMsg);
}
int CActiveApprovalCtrl::OnMouseActivate(CWnd* pDesktopWnd, UINT nHitTest, UINT message)
{
// TODO: Add your message handler code here and/or call default
if (!m_bUIActive)
OnActivateInPlace (TRUE, NULL); // == UI-Activate the control
return COleControl::OnMouseActivate(pDesktopWnd, nHitTest, message);
}
int CActiveApprovalCtrl::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
if (COleControl::OnCreate(lpCreateStruct) == -1)
return -1;
OnActivateInPlace (TRUE, NULL); // == UI-Activate the control
:
return 0;
}
//////////////////////////////////////////////////////////////////////////
'KB > MFC/Win32' 카테고리의 다른 글
ActiveX 컨트롤에서 자신을 로딩한 웹브라우저 포인터 구하기 (0) | 2004.03.19 |
---|---|
MFC ActiveX에서 PARAM 가능하게 하기 (0) | 2004.03.19 |
실제 인증서 디지털서명하기 (0) | 2004.03.19 |
ActiveX odl에서 CLSID 바꾸기.. (0) | 2004.03.19 |
[winsock] 넌블러킹 I/O중 WSAAyncSelect이용시 OnSend 이벤트 가상으로 발생시키기 (0) | 2004.03.19 |