Q&A

  • 키보드의 한/영키을 자동으로 바꾸고 싶어요.
DBGrid의 특정 Column에서 한/영키를 상태에 따라 자동으로
바꾸고 싶어요...

TEdit에는 imemode가 있어 쉽게 사용이 가능했는데...

DBGrid에서는 어떻게 해야할지 모르겠어요.

그럼 즐고하시고... 20000
1  COMMENTS
  • Profile
    김상호 2002.03.14 06:43


    음.. 일케하면 어떨까요??

    이전에 제가 퍼온 소스가 있어요...

    누가 올린 글인지는 기억이 안나네요.. ^^;; 죄송함다... 소스 주인님..

    한영키 전환하는거...

    디비 그리드가 포커스를 받을때.. 아님 키입력 될때..

    현재 활성된 컬럼을 확인한후에... 변환하고자 하는 상태로 세팅하는게..

    ^^;;

    소스는 아래에 있슴다..

    허접이지만... 주제 넘게..제가 아는대루 주절 거렸슴다...

    ///////////////////////////////////////////////////////////////////
    // 현글 모드로 바꾸기..

    콤보박스의 OnKeyPress 이벤트에다가 Key := #0; 로 셋팅하고
    OnKeyDown 이벤트에
    setHangeuIMode(false); // 영문모드로 바꾼다.
    //SetHangeulMode(True); 한글모드시..

    이케 해주시면 되여.
    아참 글구 uses문에다가 Imm 포함해주세요.
    이케
    uses
    Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
    StdCtrls, Imm;


    procedure TForm1.SetHangeulMode(SetHangeul: Boolean);
    var
      tMode : HIMC;
    begin
      tMode := ImmGetContext(handle);
      if SetHangeul then  // 한글모드로
        ImmSetConversionStatus(tMode, IME_CMODE_HANGEUL,
                                    IME_CMODE_HANGEUL)
      else                // 영문모드로
        ImmSetConversionStatus(tMode, IME_CMODE_ALPHANUMERIC,
                                    IME_CMODE_ALPHANUMERIC);
    end;
    ////////////////////////////////////////////////////////////////////