문제

C ++ MFC로 작성된 Windows Mobile 5.0 앱이 많은 대화 상자가 있습니다. 현재 타겟팅하고있는 장치 중 하나에는 탭 키가 없으므로 다른 키를 사용하여 컨트롤 간 이동하고 싶습니다. 버튼에는 적합하지만 컨트롤이나 콤보 상자를 편집하지는 않습니다. 나는 a를 보았다 비슷한 질문 그러나 대답은 실제로 적합하지 않습니다. CDialog :: OnkeyDown을 소용돌이 치는 것을 시도했지만 모든 대화 상자의 모든 컨트롤에 대해 KeyStroke 기능을 무시할 필요가 없습니다. 지금까지 내 생각은 Cedit 및 Ccombobox를 대체하는 새로운 수업을 작성하는 것이지만, 다른 키를 일시적으로 다시 프로그래밍하는 것과 같은 더 쉬운 방법이 있는지 확인하는 것입니다.

도움이 되었습니까?

해결책

나는 MFC를 모른다 그 좋아요, 그러나 아마도 단일 클래스로 모든 컨트롤의 서브 클래스 윈도우 프로 시저로 꺼낼 수 있습니다.이 클래스는 커서 키를 누르는 경우 만 처리하고 나머지 이벤트를 원래 절차로 전달합니다.

어떤 커서 키가 누른지에 따라 적절한 제어로 이동하는 자체 메커니즘을 제공해야하지만 사용 가능성 이익이 가치가있을 수 있습니다.

그것이 작동하면 모든 대화 상자 컨트롤을 열거하고 자동으로 하위 클래스를 할 수 있습니다.

Windows Mobile 6을 사용하면 기본적으로 커서를 사용하여 대화 상자 컨트롤을 전환 할 수 있습니다. UI를 돌아 다니는 새로운 "SmartPhoney"방법이며 매우 편리합니다.

다른 팁

D-PAD를 사용하여 필드 사이를 탐색 할 수 없습니까?

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top