エディットからエディットに自動的にフォーカスを移すには?

解決


ぱじ  2008-09-02 23:30:36  No: 31765

こんにちは。D2007を利用しています。
よくインストーラなんかでシリアルNoを入力する際に、エディットボックスがいくつか横に
並んでいるものがあると思いますが、
1つめの入力欄が埋まると自動的に次の入力欄にカーソルが移り、
さらに、2つ目の入力欄でBackSpaceを押すと1つ前の入力欄の最後の
文字を消して戻ったりできるようにDelphiでやりたいのですが、
どうしたらいいのかさっぱり分かりません。。。

よろしくお願いします。


igy  2008-09-03 00:24:47  No: 31766

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;


ぱじ  2008-09-03 18:44:16  No: 31767

返信ありがとうです。
なるほどですね、こういう考え方になるんですね。
ありがとうございました!


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加