안녕 하세요?
BacTeria 박종민 입니다.
델파이 어느 버전을 쓰는지 모르겠는데요.
델파이 3부터(맞나???) 입력을 받는 컴포넌트(예:에디트 박스, 메모 에디트,...)의
Property Editor에 ImeMode 라는 프로퍼티가 생겼습니다.
아래 코드를 보세요.
------------------------------------------------------------------------------
procedure TForm1.Button1Click(Sender: TObject);
begin
Memo1.ImeMode := imSAlpha;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
Memo1.ImeMode := imSHanguel;
end;
------------------------------------------------------------------------------
위와 같이 한/영 전환을 코드로도 할 수 있습니다.
아래 코드는 델파이 3 이전 버전 사용자나 ImeMode 속성 쓰기가 싫으신(?) 분들을
위해 덧붙였습니다. 바로 한/영 전환 소스 입니다.
100% 위의 코드와 똑같은 역할을 합니다.
이만... 청주에서 박종민...
PS. "Source\Rtl\Win\Imm.pas"를 Lib 디렉토리로 복사한 후
uses 구문에 Imm을 추가 해주어야 합니다.
------------------------------------------------------------------------------
procedure CharMode(Hwnd: THandle; Mode: Integer);
var
hIMC: Integer;
begin
hIMC := ImmGetContext(Hwnd);
if hIMC = 0 then Exit;
ImmSetConversionStatus(hIMC, Mode, IME_SMODE_NONE);
ImmReleaseContext(Hwnd, hIMC);
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
CharMode(Memo1.Handle, IME_CMODE_ALPHANUMERIC);
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
CharMode(Memo1.Handle, IME_CMODE_HANGEUL);
end;
|