다른곳에서 퍼 온 글입니다.
특정위치에 커서가 왔을 때 자동으로 한글 또는 영문으로 변환되도록 하려 할 때 사용하시면 될 것 같네요.
함수명을 f_lang_change(long al_handle,integer ai_lang) 라 하면 다음과 같이 정의할 수 있습니다.
한글/영문 변환 Function
//작성자:임창석
//WINDOWS API 함수 사용
//-----------------------------------------------------------------------------------------
//External Function에 선언
function LONG ImmGetContext( long handle ) LIBRARY "IMM32.DLL"
function LONG ImmSetConversionStatus( long hlMC,long fFlag,long cFlag) LIBRARY "IMM32.DLL"
function LONG ImmReleaseContext( long handle,long hlMC) LIBRARY "IMM32.DLL"
//-----------------------------------------------------------------------------------------
//사용법: f_lang_change(Handle(Parent), 0) // 영문
// f_lang_change(Handle(Parent), 1) // 한글
//** Datawindow의 itemfocuschanged event 에서 사용하면 좋을 것 같군요.
// ex)
// CHOOSE CASE lower(dwo.name)
// CASE '한글Column명1', '한글Column명2', '한글Column명..'
// f_lang_change(Handle(Parent), 1) // 한글
// CASE ELSE
// f_lang_change(Handle(Parent), 0) // 영문
// END CHOOSE
long hlMC
hlMC = ImmGetContext(al_Handle)
ImmSetConversionStatus(hlMC,ai_lang,0) // ai_lang가 1은 한글,0은 영문
ImmReleaseContext(al_Handle,hlMC)