관리 메뉴

why don't do your best

Windows7 에서 ImmGetContext(handle(gv_win)) 이 정상적으로 작동 안될때 본문

Programming/PowerBuilder

Windows7 에서 ImmGetContext(handle(gv_win)) 이 정상적으로 작동 안될때

빅셔 2012. 4. 30. 11:46

FUNCTION long ImmGetContext(long hwnd) LIBRARY "imm32.dll" alias for "ImmGetContext;Ansi"
FUNCTION long ImmSetConversionStatus(Long himc,long dw1,long dw2) LIBRARY "imm32.dll" alias for "ImmSetConversionStatus;Ansi"

 

 

long himc
himc = ImmGetContext(handle(gv_win))
ImmSetConversionStatus(himc,1,0)
return 0

 

를 이용해서 한글 변환을 할때가 있는데 XP에서는 정상적으로 잘되는데 Windows7 에서는

안될 때가 있습니다.

 

되긴되는데 최초 1회 안먹고 그다음부터는 되더라고요.

 

예를 들어 거래처 조회하는 조회항목 sle_customcd 오브젝트에 처음 getfocus에 이벤트를 주어도

첫번째 포커스를 먹었을 때는 영문으로 나오고 그다움부터 포커스를 먹으면 한글로 나오더라고요..

 

아무튼 이럴때 여기를 확인해보세요.

 

제어판 - 시계 언어 및 국가별 옵션 - 키보드 또는 기타 입력 방법 변경 - 키보드 및 언어 - 키보드 변경 을 눌러서 설정으로 들어가서 보면...

위 창에서 키보드 변경을 누르세요

다음과 같은 창이나오는데

마이크로 Office ime 로 설정되어 있는걸 볼수 있습니다. 이런경우 정상적으로

ImmGetContext(handle(gv_win)) 처리 되지 않네요.

 

오른 쪽에 추가를 눌러서

Microsoft 입력기도 추가해주세요.

Microsofit 입력기로 설정하고

ImmGetContext(handle(gv_win)) 함수를 태워보면 정상작동하는 걸 볼수 있습니다.

Microsoft office ime 와 Microsoft ime 의 차이점은 잘 모르겠습니다.

좋은 방법 있으시다면, 의견 바랍니다.

 

ggjeong 직접작성 2012.4.30

Comments