Carpe diem  
  Front Page
Notice | Tag | Location | Guestbook | Admin   
 
'키'에 해당하는 글(1)
2007/04/23   MFC 키 입력 처리하는 방법


2007/04/23 17:09 2007/04/23 17:09
MFC 키 입력 처리하는 방법
메시지 처리 전에 입력 값(키, 마우스 등)을 가로 채는 법
- PreTranslateMessage 을 구현한다.

ex)
http://support.microsoft.com/kb/601935/ko

HowTo : MFC Dialog상의 WebBrowser 컨트롤에서 키 입력 처리하는 방법

MFC에서 Dialog based로 어플리케이션을 만들고 만든 Dialog에 WebBrowser 컨트롤을 추가하면 특정 Web Page에서 [Enter]키를 누른 경우의 동작이 IE와 다른 경우가 있다. 이를 해결하기 위해서는 리소스 파일에서 디폴트로 만들어지는 [OK]버튼을 없애고 WebBrowser 컨트롤의 IOleInPlaceActiveObject의 TranslateAccelerator 메서드를 콜하여 키 입력 문제를 해결할 수 있다.

1. 리소스 파일을 편집하여 [OK]버튼 및 OnOK 함수를 없앤다.
2. MFC Dialog 클래스의 PreTranslateMessage 함수내에서 IOleInPlaceActiveObject의 TranslateAccelerator 메서드를 호출한다.


BOOL CWebCtrlDlg::PreTranslateMessage(MSG* pMsg)
{
  if( pMsg->message == WM_KEYDOWN && pMsg->wParam == VK_RETURN )
  {
     TRACE("WM_KEYDOWN & VK_RETURN\n");
     IDispatch *pDisp = NULL;
     IOleInPlaceActiveObject *pActive = NULL;
     pDisp = m_ctrlWeb.GetDocument();
     HRESULT hr = pDisp->QueryInterface(IID_IOleInPlaceActiveObject, (void**)&pActive);
     pDisp->Release();

     if (S_OK == hr) {
          hr = pActive->TranslateAccelerator(pMsg);
          pActive->Release();
     }

     return hr;
  }

  return CDialog::PreTranslateMessage(pMsg);
}


크리에이티브 커먼즈 라이센스
Creative Commons License
이올린에 북마크하기(0) 이올린에 추천하기(0)
Tag : ,


BLOG main image
Passionate, Crazy
 Notice
 Category
전체 (71)
여행 (22)
취미/여가 (8)
지식/공부 (28)
독서/감상 (6)
 TAGS
환형연결리스트 캐리비안의 해적 한글 하이버네이트 어거스트 러쉬 태그 제4물결 Anita Roddick 이순신 엠티 온라인 구글 치한 미친소 iphone 주몽 호랑이 요요기공원 북카페 학교 NSString 언론 길이 친구 뮤직비디오 코코아 추억 네이버 구글애드센스 스위스 jsp java 자작극 대만 선물 오라클 KTX 온라인 촛불 고3 타이페이역 미래 개편 custom tag 딴수이 낙동강 금강산 한글처리 건강 초고수 레몬펜 독서 야경 KFC 비누 분양 대만여행정보 카르멘 태터툴즈 영어공부 교육 명품 야구 비트 매니아 profile 시먼딩 IBM 앨빈 토플러 개발툴 사전 행복 휴식 구매기 바탕화면 fox 제거 치산 노력 O-fone 일본여행 공감 freemarker 뉴스 타센 전시회 쿼리문 대학로 펀드 시부야 만화 911 스린야시장 부산항 한국인 고양이 근황보고 성공
 Calendar
«   2012/02   »
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29      
 Recent Entries
[Hibernate] criteria or...
[Hibernate] 중복된 row...
[freemarker] 숫자 콤마 빼기
고베의 일품 야경을 늦게...
간사이 지역 여행 준비하기
object param 값
[FLEX] Renderer를 이용하...
아이폰 SDK - md5
NSString 문자열 길이를 U...
JSP Get 방식 한글 parame... (3)
 Recent Comments
get방식으로 받은 한글이...
데잇 - 2009
당연히 해봤죠 ~ ^^; 여...
euni - 2009
request.setCharacterEnco...
꼼즈 - 2009
궁금하던 정보 잘 얻고 갑...
해피포터 - 2008
나는 언제 성장하는 거냐?
SEAN。 - 2008
받아들이는 관점에 따라...
euni - 2008
성장이 맞는 것 같지만,...
euni - 2008
거럼 뭐가 메카지? ㅋㅋㅋ...
euni - 2008
종합선물세트 아닐까요 ㅎㅎ
ho - 2008
성장만화 아니었습니까?
SEAN。 - 2008
 Recent Trackbacks
 Archive
2011/10
2010/06
2010/03
2009/09
2009/06
 Link Site
소니톤/개발/애니/여행/e-...
지식보다 지혜를...
 Visitor Statistics
Total : 185885
Today : 7
Yesterday : 44
태터툴즈 배너
rss