こんにちは。D2007を利用しています。
よくインストーラなんかでシリアルNoを入力する際に、エディットボックスがいくつか横に
並んでいるものがあると思いますが、
1つめの入力欄が埋まると自動的に次の入力欄にカーソルが移り、
さらに、2つ目の入力欄でBackSpaceを押すと1つ前の入力欄の最後の
文字を消して戻ったりできるようにDelphiでやりたいのですが、
どうしたらいいのかさっぱり分かりません。。。
よろしくお願いします。
OnChangeイベント、OnKeyDownイベントで判断するのはどうですか?
procedure TForm1.Edit2Change(Sender: TObject);
begin
if Length(Edit2.Text) >= 3 then
Edit3.SetFocus;
end;
procedure TForm1.Edit2KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if (Length(Edit2.Text) = 0) and (Key = VK_BACK) then
begin
Edit1.SetFocus;
// あと、ここでEdit1.Textの最後の文字を消す?
end;
end;
返信ありがとうです。
なるほどですね、こういう考え方になるんですね。
ありがとうございました!
ツイート | ![]() |