※델파이의 소스를 창조에 맞게 변환하여 올립니다^^
원본 델파이 소스 :
unit Unit1;
interface
uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;
type TForm1 = class(TForm) Button1: TButton; Edit1: TEdit; procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end;
var Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject); var defstyle: dWord;
begin defstyle := GetWindowLong(Edit1.Handle, GWL_STYLE); SetWindowLong(Edit1.Handle, GWL_STYLE, defstyle or ES_NUMBER);
end;
end.
|
그러면.. 창조로 변환해본 소스를 한번 볼까요? ^^
일단, API가 사용되므로, 사용자함수가 필요합니다. 사용자함수의 설정은 아래와 같이 해주세요.
<사용자함수 설정> 연결여부 := 참; 연결파일 := "user32.dll";
<사용자함수 함수정의> 실수함수:GetWindowLongA(실수:핸들, nIndex); 실수함수:SetWindowLongA(실수:핸들, nIndex, dwNewLong); |
그렇다면.. 본론으로 들어가보죠~
실수:스타일1;
스타일1 := 사용자함수0.GetWindowLongA(에디트0.핸들, 4294967280); // 4294967280 는, GWL_STYLE의 상수값입니다.
사용자함수0.SetWindowLongA(에디트0.핸들, 4294967280, bOR(스타일1,8192)); // 8192는, ES_NUMBER의 상수값입니다. |
저번에.. 올려드린 것과는 달리, 한글입력시에도 문제가 되지 않습니다^^
※ 예제파일첨부했습니다. |
|