Delphi Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
델파이 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
FreePascal/Lazarus
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
델마당
볼랜드포럼 광고 모집

델파이 Q&A
Delphi Programming Q&A
[418] [해결] [답변]간단한 한/영전환 방법과 예제
pss0303 [ ] 2384 읽음    1997-12-24 14:38

{ 공부하시는데 조금이라도 도움이 될까 해서
  현재의 한영전환 모드 얻는 방법과 모드 전환 하는 방법을
  간단한 소스와 함께 적어 봅니다.
  그럼 도움 되시길...
  - 충청도 에서 상식이 였습니다. -  }

// 'uses' Clause 에 'Imm' 을 추가함.

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics,
  Controls, Forms, Dialogs, Imm, StdCtrls;

type
  TForm1 = class(TForm)
    Memo1: TMemo;
    Button1: TButton;
    Label1: TLabel;
    procedure Button1Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
    procedure ConvK_Emode;
    function GetK_Mode: Boolean;
  end;

var
  Form1: TForm1;

implementation

{$R *.DFM}
var
  K_Emode : HIMC;
procedure TForm1.ConvK_Emode;   // 한/영 모드 전환
begin
  K_Emode := ImmGetContext(handle);
  if GetK_Mode then    // 한글모드이면 영문모드로
     ImmSetConversionStatus(K_Emode, IME_CMODE_ALPHANUMERIC,
                           IME_CMODE_ALPHANUMERIC)
  else                // 영문모드이면 한글모드로
     ImmSetConversionStatus(K_Emode, IME_CMODE_HANGEUL,
                           IME_CMODE_HANGEUL);
end;

function TForm1.GetK_Mode: Boolean;  // 한/영 모드 얻기
var
  Conversion, S: DWORD;
begin
  K_Emode := ImmGetContext(handle);
  ImmGetConversionStatus(K_Emode, Conversion, S);
  if Conversion = IME_CMODE_HANGEUL then
     GetK_Mode := True
  else
     GetK_Mode := False;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  ConvK_Emode;
  if GetK_Mode then Label1.Caption := '한글'
  else Label1.Caption := '영문';
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  if GetK_Mode then Label1.Caption := '한글'
  else Label1.Caption := '영문';
end;

end.


+ -

관련 글 리스트
418 [해결] [답변]간단한 한/영전환 방법과 예제 pss0303 2384 1997/12/24
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.