일단...가상키보드를 구현하는지라, 키보드는 사용을 할수 없습니다.
그래서 한영키가 눌리면...
ImmSetConversionStatus(tMode, IME_CMODE_HANGEUL,IME_CMODE_HANGEUL);
이 함수로 한영을 전환하는데...
문제가여...
가령....한글상태에서...A버튼을 클릭하면...'ㅁ'은 잘찍혀요...근데...
B버튼을 클릭하면....'ㅠ'가 찍히긴 하는데...'뮤'이런식으로 조합된 문장이 아닌
'ㅁㅠ' 이런식으로 찍히니 환장하겠습니다.
A버튼 클릭 이벤트에...
Keybd_Event(ord('A'), 0, 0, 0 ); 와 같이 코딩을했고...
B버튼클릭 이벤트에..
Keybd_Event(ord('B'), 0, 0, 0 ); 와 같이 코딩을 했습니다.
이거 어케 해결해야죠?
정말 환장하겠네요...다 된줄알고....마음 놓고 있었더니....이런문제가...떱~
> 일단...가상키보드를 구현하는지라, 키보드는 사용을 할수 없습니다.
>
> 그래서 한영키가 눌리면...
> ImmSetConversionStatus(tMode, IME_CMODE_HANGEUL,IME_CMODE_HANGEUL);
> 이 함수로 한영을 전환하는데...
>
> 문제가여...
> 가령....한글상태에서...A버튼을 클릭하면...'ㅁ'은 잘찍혀요...근데...
> B버튼을 클릭하면....'ㅠ'가 찍히긴 하는데...'뮤'이런식으로 조합된 문장이 아닌
> 'ㅁㅠ' 이런식으로 찍히니 환장하겠습니다.
>
> A버튼 클릭 이벤트에...
> Keybd_Event(ord('A'), 0, 0, 0 ); 와 같이 코딩을했고...
>
> B버튼클릭 이벤트에..
> Keybd_Event(ord('B'), 0, 0, 0 ); 와 같이 코딩을 했습니다.
>
> 이거 어케 해결해야죠?
>
> 정말 환장하겠네요...다 된줄알고....마음 놓고 있었더니....이런문제가...떱~
>
혹시 가상 키보드를 만드시는 건지요?
가상키보드를 만들었다면 Button Event를 사용 해서 코딩을 했다면 당연히 그러한 문제는 발생합니다.
이유인 즉슨 만일 메모장에 'ㅁ'이라는 글자를 쓰고난 다음 가상키보드의 보튼을 누른 다면 당연히 메모장은 포커스를 잃어 버렸기 때문에'ㅁ'의 한글자가 완성 된것으로 간주 합니다.
따라서 다음의 'ㅠ'자를 넣었다 해도 '뮤'자가 나오는 것이 아니고 'ㅁㅠ'자가 나오는 것이죠.
그리고 아래한글은 Keybd_Event에 스캔 코트값을 '0'으로만 넣어 주면 아예 직히지 않습니다.
질문의 상황을 해결 하기 위해서는 다음과 같이 코딩하시기 바랍니다.
1. 가상키보드의 버튼에 눌리는 마우스 이벤트를 후킹해서 사용 할것.
2. Keybd_Event에 스캔코드값을 넣어줄것.
그럼 존 코딩...^^