none
VB.NET 폼 IME 관련 RRS feed

  • 질문

  • VB.NET에서 DirectX를 이용해 프로그래밍 중인데요.

    한글 입력을 하기 위해서는 자체적으로 IME 메세지를 처리하여 만드는 것을 대부분의 사람들이 권장하더군요.

    그래서, IME를 만들려고 아래와 같이 코딩했습니다.

        Protected Overrides Sub WndProc(ByRef m As Message)
    
            Dim ProcessAsDefault As Boolean = False
            RaiseEvent OnWndProc(m, ProcessAsDefault)
            If ProcessAsDefault Then
                MyBase.DefWndProc(m)
            Else
                MyBase.WndProc(m)
            End If
    
        End Sub

    OnWndProc 이벤트에 핸들러를 추가해 메세지를 처리하게끔 만들었는데요

    WM_IME_SETCONTEXT 메세지는 오는데, 그 외 다른 IME 메세지는 오질 않습니다.

    혹여나 해서, 한/영 키를 눌러봤는데도 WM_KEYDOWN/UP 메세지만 날라오더라구요.

    IME가 비활성화된건가요 ? - _-

    메세지 살펴보면, WM_IME_SETCONTEXT 발생할 때 WParam 값이 1입니다만..

    어떻게 해야 한글 입력도 활성화 시킬 수 있는건가요?

    2014년 1월 2일 목요일 오전 9:22