Top/Delphi/StringGridでセル編集終了時のイベントを取得する の編集

Delphi/StringGridでセル編集終了時のイベントを取得する の編集

以下の方法で実現できます。

サンプルソース~

TStringGridEx = class(TStringGrid)
private
 FOnEditEnd:TNotifyEvent;
protected
 procedure WMCommand(var Msg:TWMCommand);message WM_COMMAND;
published
 property OnEditEnd:TNotifyEvent read FOnEditEnd write FOnEditEnd;
end;

 TForm1 = class(TForm)
   procedure FormCreate(Sender: TObject);
   procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
 private
   { Private 宣言 }
 public
   SG:TStringGridEx;
   procedure SGEditEnd(Sender:TObject);
 end;

var
 Form1: TForm1;

implementation

{$R *.DFM}

procedure TStringGridEx.WMCommand(var Msg:TWMCommand);
begin
 inherited;
 if Msg.NotifyCode = EN_KILLFOCUS then
   if Assigned(FOnEditEnd) then FOnEditEnd(Self);
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
 SG := TStringGridEx.Create(self);
 SG.Parent := self;
 SG.Top := 10;
 SG.Left := 10;
 SG.Options := SG.Options+[goEditing];
 SG.OnEditEnd := SGEditEnd;
end;

procedure TForm1.SGEditEnd(Sender:TObject);
begin
  MessageBeep($FFFFFFFF);
end;

procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
  ShowMessage(SG.Cells[1,1]);
end;

end.
このページを共有:
  • このページをはてなブックマークに追加 このページを含むはてなブックマーク
  • このページをlivedoor クリップに追加 このページを含むlivedoor クリップ
  • このページをYahoo!ブックマークに追加
  • このページを@niftyクリップに追加
  • このページをdel.icio.usに追加
  • このページをGoogleブックマークに追加

このページのURL:

ページ新規作成

新しいページはこちらから投稿できます。

TOP