::: 델파이 Tip&Trick :::

델파이 Tip&Trick 성격에 맞지 않는 광고,비방,질문의 글은 즉시 삭제하며
내용을 복사하여 사용할 경우 반드시 이곳(http://www.howto.pe.kr)을 출처로 명시하여 주세요


Category

  김영대(2003-03-05 22:13:37, Hit : 5993, Vote : 1854
 Application 수준에서 한글/영문 제한두기

// 예를들어 Edit 콤포넌트에서 한글입력을 막으려면 ImeMode 프로퍼티를
// imSAlpha 로 바꾸면 되지만 Application 전체의 모든 Edit 를 다
// 이렇게 하려면 손이 많이 가지요
// 아래 예제는 IME 윈도우즈 메시지를 처리하며 막는 소스입니다

unit Unit1;

interface

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

type
TModes = (Native, English);

type
TForm1 = class(TForm)
   Edit1: TEdit; // 테스트용
   Edit2: TEdit; // 테스트용
   Edit3: TEdit; // 테스트용
   procedure FormCreate(Sender: TObject);
private
   { Private declarations }
public
   { Public declarations }
   procedure AppMessage(var msg: TMsg; var handled: boolean);
   procedure SetIMEMode(Value : TModes);
end;

var
Form1: TForm1;

implementation
{$R *.DFM}

procedure TForm1.AppMessage(var msg: TMsg; var handled: boolean);
begin
if (Msg.Message = WM_IME_KEYDOWN) then
begin
   SetIMEMode(English); // 한가지 모드로 고정
   Dispatch(Msg);
   handled := True;
end;
end;

procedure TForm1.SetIMEMode(Value : TModes);
var
TIMC: HIMC;
dwSentence : DWORD;
dwConversion : DWORD;
begin
TIMC := ImmGetContext(Application.Handle);
ImmGetConversionStatus(TIMC, dwConversion, dwSentence);
case Value of
   Native  : ImmSetConversionStatus(TIMC, IME_CMODE_NATIVE, dwSentence);
   English : ImmSetConversionStatus(TIMC, IME_CMODE_ALPHANUMERIC , dwSentence);
end;
ImmReleaseContext(Application.Handle, TIMC);
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
Application.OnMessage := AppMessage;
end;

end.





691   [일반/컴포넌트] ListView 의 컬럼별로 Sort (내림차순 포함)  김영대 2003/03/05 5175 1098
690   [일반/컴포넌트] 명령행 인자 받아오기  김영대 2003/03/05 7195 1882
689   [네트웍/인터넷] List of raw FTP commands  김영대 2003/03/05 7228 1894
688   [네트웍/인터넷] RFC: Request for Comments  김영대 2003/03/05 7749 2039
687   [네트웍/인터넷] 윈도우즈 소켓의 에러번호에 대한 설명  김영대 2003/03/05 7803 2701
686   [일반/컴포넌트] 파일의 해부  김영대 2003/03/05 6343 1694
685   [일반/컴포넌트] ListBox의 스크롤바를 움직여보자  김영대 2003/03/05 4483 1095
684   [일반/컴포넌트] PopupMenu의 특정 MenuItem으로 이동하기  김영대 2003/03/05 2891 779
683   [일반/컴포넌트] 데스크탑의 아이콘을 몽땅 움직여보자!!  김영대 2003/03/05 6392 1897
682   [일반/컴포넌트] 마우스커서를 특정위치로 이동시키기  김영대 2003/03/05 5798 1210
681   [일반/컴포넌트] 제어판의 applet 띄우기  김영대 2003/03/05 2836 759
680   [일반/컴포넌트] INI 파일이 저장을 안 해?  김영대 2003/03/05 4083 1086
679   [일반/컴포넌트] 마우스영역 제어하기  김영대 2003/03/05 3605 978
678   [일반/컴포넌트] 리스트뷰에서 동적으로 칼럼삭제하기  김영대 2003/03/05 5235 1405
677   [일반/컴포넌트] Interesting Delphi Keystrokes !  김영대 2003/03/05 3595 1063
  [일반/컴포넌트] Application 수준에서 한글/영문 제한두기  김영대 2003/03/05 5993 1854
675   [데이터베이스] dBASE Table File Extensions  김영대 2003/03/05 4592 1296
674   [데이터베이스] Paradox Table File Extensions  김영대 2003/03/05 3654 1033
673   [일반/컴포넌트] 파일의 속성(Attribute) 읽기 / 바꾸기  김영대 2003/03/05 4033 1048
672   [데이터베이스] DBGrid 에서 수직 Scroll Bar 감추기  김영대 2003/03/05 4633 1266
671   [윈도우즈 API] 인터넷 링크 만들기  김영대 2003/03/06 4553 1271
670   [네트웍/인터넷] 내 PC의 IP주소는 ?  김영대 2003/03/06 5278 1229
669   [일반/컴포넌트] 문자열의 암호화(Password 처리) & INI 파일  김영대 2003/03/06 6277 1488
668   [윈도우즈 API] 윈도우의 타이틀바를 없애보자!  김영대 2003/03/06 4444 1355
667   [윈도우즈 API] 클립보드의 내용을 TXT 파일에 담아보자!  김영대 2003/03/06 6314 1760
666   [시스템] 프로세서를 생성시켜보자!  김영대 2003/03/06 4552 1210
665   [일반/컴포넌트] 델파이의 Object Inspector 모방  김영대 2003/03/06 3585 825
664   [시스템] 시스템의 각종 정보  김영대 2003/03/06 7529 1306
663   [데이터베이스] DBGrid 특정 Cell에 색상넣기  김영대 2003/03/06 7695 1582
662   [데이터베이스] DBGrid 의 특정필드만 Highlighting 시키기  김영대 2003/03/06 4652 1140
661   [COM/OLE] How to register an OCX  김영대 2003/03/06 4996 1171
660   [윈도우즈 API] "Windows 정보" About 화면 사용하기  김영대 2003/03/06 6437 1985
659   [일반/컴포넌트] 문자열에 한글이 있는지 검사  김영대 2003/03/06 3840 980
658   [일반/컴포넌트] TColor값을 16진수 문자열로 바꾸기  김영대 2003/03/06 6145 1774
657   [일반/컴포넌트] 화면변경시 콤포넌트 위치와 크기를 조정  김영대 2003/03/06 4623 1128
656   [시스템] 마우스 포인터 속도 구하기  김영대 2003/03/06 5462 1715
655   [시스템] 마우스 포인터 속도 바꾸기  김영대 2003/03/06 4952 1251
654   [시스템] 마우스 자취(trails)의 갯수 조정하기  김영대 2003/03/06 5816 1838
653   [시스템] 마우스 두 번 누르기 속도 조정하기  김영대 2003/03/06 5876 1827
652   [데이터베이스] 설치된 BDE Language Drivers 구하기  김영대 2003/03/06 3423 825

[1][2][3][4][5][6][7] 8 [9][10]..[25] [다음 10개]
 

Copyright 1999-2022 Zeroboard / skin by zero