|
같은문제로 저도 고민한적이 있는데
ImeMode를 imhanguel로 변경해도 windows7이상에는
안되는 경우가 종종있더군요. (C++builder 6.0 사용)
그래서 해당 에디트를 클릭하는 시점에
현재 한영키의 상태가 어떤지를 확인하여 한글이아닐경우 강제로 한/영키를 변경시키는 방법으로 처리했습니다.
void __fastcall Form1::TRzEditClick(TObject *Sender)
{
unsigned long Conversion, Sentence;
HIMC Mode = ImmGetContext(Application->Handle);
ImmGetConversionStatus(Mode, &Conversion, &Sentence);
if (Conversion == IME_CMODE_HANGEUL) ; //현재모드가 한글이면 패스
else //현재모드가 한글이 아니면 한/영키 누른 효과를준다.
ImmSetConversionStatus(Mode, IME_CMODE_HANGEUL, IME_CMODE_HANGEUL);
}
정성훈.해미 님이 쓰신 글 :
: 문자열을 입력할 수 있는 콤포넌트 속성중에
:
: ImeMode가 있습니다.
: 기본이 imDontCare로 되어 있는데
: 이것을 imHanguel로 바꾸면 기본이 한글모드로 됩니다.
:
:
: That 님이 쓰신 글 :
: : 현재는 입력폼을 Raize Component의 TRzEdit을 사용하고 있습니다.
: :
: : 검색창 용도인데, 한번 검색할때마다 기본이 영문으로 되어있어 일일이 한/영 키를 눌러야 하니 불편하다는 얘기가 나와서..
: : 혹시 입력폼의 언어(?)를 기본으로 한글로 설정해줄 수 있는 방법이 있을까요?
|