名前 題名 ▼ takiさん > Editに数字を入力後、Enterキーで次のEditへ移動するという事を > したくてコードを書いたのですが以前に使っていた方法が使えません。 > > 環境 > Delphi XE4 Starter(Update1) + Windows7(32bit)+SP1 > > 新規作成、VCLフォームアプリケーションにて新しいプロジェクトを作成 > > FormにEditを2つ配置 > 以下にソース > > unit Unit1; > > interface > > uses > Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, > Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Vcl.ExtCtrls; > > type > TForm1 = class(TForm) > Edit1: TEdit; > Edit2: TEdit; > procedure FormKeyPress(Sender: TObject; var Key: Char); > procedure Edit1KeyPress(Sender: TObject; var Key: Char); > private > { Private 宣言 } > public > { Public 宣言 } > end; > > var > Form1: TForm1; > > implementation > > {$R *.dfm} > > // 機能する ただしEdit1の時のみ > procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char); > begin > if (Key = #13) then > begin > Perform(WM_NEXTDLGCTL,0,0); > Key := #0; > end; > end; > > // 機能しない 以前に使っていた方法 > procedure TForm1.FormKeyPress(Sender: TObject; var Key: Char); > begin > if (Key = #13) then > begin > Perform(WM_NEXTDLGCTL,0,0); > Key := #0; > end; > end; > > end. > > 愛読書である「Delphi5 裏技170…」では > TForm1.FormKeyPress(Sender: TObject; var Key: Char);にコードが > 書いてあり、そのフォーム全体で機能していたような記憶があるのですが、 > フォーカスは移動せず、beep音が出るだけです。 > > でも、TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);に > 同じコードを書くとEdit1ではEnterキーで移動できます。 > > まあ、機能するんだからEdit毎にコードを書いたらいいのですが、 > なんだかな〜。 > > Delphi XE4 Starter(安物)では動きが違うのかなぁ。 GIF,JPEG,PNG画像ファイル及びLZH,ZIPファイルをアップロードできます.600 x 1200 ピクセルを超える画像は縮小表示されます(画像クリックで拡大表示). (上限122000(120k)バイト) 削除キー Link