여러개의 EditBox를 사용하는데 예를 들어서 아래와 같이
두개의 EditBox를 사용한다고 할때 엔터를 칠때는
EditBox의 내용이 반영됩니다.
그런데 Tab Key를 이용하거나 다른 박스를 클릭할때도 반영되게
하고 싶은데 잘 안되네요...
TabKey는 아래와 같은 식으로 사용할 수 없는건가요?
그리고 다른곳을 Click했을때 어떤 행동을 취하게 하려면
어떻게 해야하는지 궁금합니다.
===============================================================
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls;
type
TForm1 = class(TForm)
Edit1: TEdit;
Edit2: TEdit;
procedure Edit1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
procedure TForm1.Edit1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if (Key=VK_RETURN) or (key=VK_TAB) then //<= TAB Key눌렀을때
begin
edit1.selectall;
edit2.text:=inttostr(strtoint(edit1.text)*10);
end;
end;
end.
포커스를 잃을때를 말씀하시는 건지요?
그럼 Exit이벤트에서 코딩을 하심 될듯 하네요...
아마...이부분도 Exit이벤트에 하셔도 될듯 한데...소스 보강이 조금더...^^
만약 에디트박에서 숫자 이외의 문자값이 들어오면 오류가 나니...