2012-04-09 1 views
1

안녕하세요 저는 아직 내 답변에 대한 답변이 아직없는 다른 게시물 (예 : this)을 읽고있었습니다. 나는 지금 같은 문제가있다. 나는 메인 윈도우 (C/Win32)에 아래와 같은 형태로 많은 편집 컨트롤이 있습니다. 이 버튼들은 내 메인 애플리케이션 윈도우에서만 작동합니다 ...Tab을 사용하여 기본 앱 창에서 다른 수정 컨트롤로 이동

hEdit = CreateWindowEx(WS_EX_CLIENTEDGE, "EDIT", "1", 
      WS_GROUP | WS_VISIBLE | ES_NUMBER | ES_RIGHT, 
      180, 94, 28, 20, hwnd, (HMENU)IDC_ATTRIBUTE_FITNESS, GetModuleHandle(NULL), NULL); 

그리고 나는 탭 키를 사용하여 하나에서 다른 것으로 이동하고 싶습니다. 당신이 상상할 수 있듯이 나는 할 수없고 무엇이든 시도했습니다. 어떤 조합을 사용해도 시도했습니다. WS_EX_CLIENTEDGEWS_GROUP하지만 아무 것도 작동하지 않았습니다. 편집 컨트롤 중 하나에서 Tab 키를 누를 때마다 Windows에서 '삐'소리가 들립니다. 누구든지 그 정보를 얻을 수있는 약간의 튜토리얼이나 데모에 대한 통찰력있는 정보를 제공 할 수 있습니까? 미리 감사드립니다.

답변

2

컨트롤에 WS_TABSTOP 스타일을 부여한 다음 메시지 루프에 IsDialogMessage을 사용하십시오. 또한 자세한 내용과 샘플 코드는 Raymond Chen의 "Using the TAB key to navigate in non-dialogs"기사를 참조하십시오.

+1

Oh yea 그냥 if (IsDialogMessage (hwnd, & Msg))를 사용한 다음 다른 사람 안에 코드를 넣는 대신 Translate (Msg) 등을 사용했습니다. 고맙습니다. –

+1

다음과 같이 확장 스타일 WS_EX_CONTROLPARENT를 지정해야 할 수도 있습니다. http://blogs.msdn.com/b/oldnewthing/archive/2010/09/30/10069580.aspx – pcunite

관련 문제