{
// 윈도우로 전달되는 메세지를 해당 윈도우가 처리하기 전에 가로채서
// 특정 작업을 수행해야 할 필요성이 있을 때 재정의하여 사용한다.
switch(pMsg->message)
{
case WM_KEYDOWN:
switch(int(pMsg->wParam))
{
case VK_F5:
// 다시 보여주기
return TRUE;
break;
case VK_F2:
HTREEITEM hSel = m_tree1.GetSelectedItem();
m_tree1.SetFocus();
m_tree1.ModifyStyle(0, TVS_EDITLABELS);
CEdit* pEdit = m_tree1.EditLabel(hSel);
ASSERT(pEdit != NULL);
return true;
break;
case VK_RETURN:
if(m_tree1.GetEditControl() != NULL)
{
m_tree1.GetEditControl()->SendMessage(WM_KEYDOWN, pMsg->wParam, pMsg->lParam);
return true;
}
break;
case VK_ESCAPE:
if(m_tree1.GetEditControl() != NULL)
{
CString szItemText = m_tree1.GetItemText(m_tree1.GetSelectedItem());
m_tree1.GetEditControl()->SetWindowText(szItemText);
m_tree1.GetEditControl()->SendMessage(WM_KEYDOWN, pMsg->wParam, pMsg->lParam);
return true;
}
break;
default:
break;
}
break;
default:
break;
}
return CFormView::PreTranslateMessage(pMsg);
}
'프로그래밍 > VC++' 카테고리의 다른 글
다른 Application으로 Drag & Drop. MFC 클래스를 이용해서. (0) | 2007.08.29 |
---|---|
Ole Drag & Drop (0) | 2007.08.28 |
다이얼로그에서 ESC나 Enter키 눌렀다고 창 닫혀지지 않도록 하기 (0) | 2007.08.16 |
MainFrame, Doc, View 포인터 얻기 (0) | 2007.08.16 |
ActiveX 빌드 후 bin 디렉토리에 복사하는 이벤트 (0) | 2007.08.02 |