unit winadd; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ActnList, StdCtrls, ExtCtrls, ComCtrls; type TApp_TOOLScrBlockAddFromWindow = class(TForm) ActionList1: TActionList; actFile_Get: TAction; actFile_Cancel: TAction; edtMemo: TRichEdit; rdoSelectKey: TRadioGroup; Timer1: TTimer; btnCancel: TButton; procedure FormCreate(Sender: TObject); procedure actFile_GetExecute(Sender: TObject); procedure actFile_CancelExecute(Sender: TObject); procedure rdoSelectKeyClick(Sender: TObject); procedure Timer1Timer(Sender: TObject); private { Private 宣言 } F_iKey: Integer; public { Public 宣言 } procedure SetRadioItemIndex(iIndex: Integer); end; var App_TOOLScrBlockAddFromWindow: TApp_TOOLScrBlockAddFromWindow; implementation uses // myDebug, myWindow, main; {$R *.dfm} procedure TApp_TOOLScrBlockAddFromWindow.FormCreate(Sender: TObject); begin edtMemo.Width := ClientWidth - (8 * 2); // edtMemo.Lines.Clear; // edtMemo.Lines.Add(''); edtMemo.WordWrap := True; rdoSelectKey.Width := edtMemo.Width; rdoSelectKeyClick(nil); //F_iKeyのセット btnCancel.Left := (ClientWidth - btnCancel.Width) div 2; with App_TOOLScrBlockEx do begin Self.SetBounds( Left + (Width - Self.Width) div 2, // Top + (Height - Self.Height) div 2, lstAppList.ClientOrigin.Y, //ファイル情報欄の下 Self.Width, Self.Height ); end; end; //登録 procedure TApp_TOOLScrBlockAddFromWindow.actFile_GetExecute(Sender: TObject); begin Beep; ModalResult := mrYes; // Close; NG ModalResultがmrCancelに変わってしまう end; //キャンセル procedure TApp_TOOLScrBlockAddFromWindow.actFile_CancelExecute(Sender: TObject); begin ModalResult := mrCancel; // Close; end; procedure TApp_TOOLScrBlockAddFromWindow.SetRadioItemIndex(iIndex: Integer); begin rdoSelectKey.ItemIndex := iIndex; rdoSelectKeyClick(nil); end; procedure TApp_TOOLScrBlockAddFromWindow.rdoSelectKeyClick(Sender: TObject); begin case rdoSelectKey.ItemIndex of 0: F_iKey := VK_SHIFT; 1: F_iKey := VK_SPACE; 2: F_iKey := VK_F12; 3: F_iKey := VK_RBUTTON; else begin F_iKey := VK_SHIFT; end; end; end; //キーボード監視 procedure TApp_TOOLScrBlockAddFromWindow.Timer1Timer(Sender: TObject); begin if (gfnbKeyState(F_iKey)) then begin Timer1.Enabled := False; actFile_GetExecute(nil); end; end; end.