문제

문서 응용 프로그램 과이 응용 프로그램의 일부 작업을 수행하고 있습니다. 키보드 프레스 이벤트를 읽고 키보드 항목이 사전 드레인드 짧은 양식/Word와 일치하는 경우 사전 정의 된 문자를 교체하도록 지원을 추가해야합니다. 실제 응용 프로그램은 C ++에서 구현되었습니다.

이것을 구현하는 방법에 대한 의견을 알려주십시오. 참조 할 샘플 C ++ 프로그램이 있습니까? 알고리즘/개념?

도움이 되었습니까?

해결책

Standard C ++는 Keypress 이벤트를 지원하지 않으므로 OS 기능 또는 프레임 워크 기능을 살펴 봐야합니다. WXWIDGET 또는 QT와 같은 휴대용 C ++ 프레임 워크는 Windows, Mac 및 Linux에서 Keypress 이벤트를 지원합니다.

다른 팁

WXWIDGETS API를 사용하여 키 다운 이벤트를 찾는 방법에 대해 알아보십시오.http://docs.wxwidgets.org/stable/wx_eventhandlingoverview.html#eventhandlingoverview주의를 기울이십시오 중요 행사들. C ++의 스위치를 구현하여 어떤 키 조합이 누르는지 확인하고 그에 따라 텍스트를 편집으로 설정하십시오. 여기서 생각하는 것은 Ctrl-Shift-A Keypress를 편집 상자의 Ctrl-Shift-A와 같은 텍스트로 변환하는 것입니다.

Kanji 또는 Hiragana와 같은 문자의 조합을 다른 문자로 변환 할 생각이라면 알고리즘은 더 길고 더 많은 데이터 구조가 필요할 수 있습니다.

Windows 아래에있는 경우 GetAsynckeyState API 호출을 사용하고 변경 사항을 확인하거나 저수준 키보드 후크 (약간 더 복잡한) (CreateHookex + 관련 기능)를 사용할 수 있습니다.

DOS (또는 아마도 Linux)에서 Conio.h에서 _KBHIT를 사용할 수 있습니다. 콘솔 모드에서는 일반적으로 루프에 이것을 고착합니다 (while (! _ kbhit ());) "계속하려면 어떤 키를 누르십시오". 누른 키를 검색하십시오

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