Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2004.12.26;
Скачать: [xml.tar.bz2];

Вниз

StringGrid событие, которое происходит после редактировния ячейки   Найти похожие ветки 

 
Zloy ©   (2004-12-08 12:58) [0]

Приветствую!!!
Почти все собития таблицы перерыл, но ни как не могу найти, событие, которое происходит после того, как поюзал ячейку и перешел к другой, при чем не важно клавой или мышью


 
MBo ©   (2004-12-08 13:13) [1]

OnSelectCell


 
Leonid Troyanovsky   (2004-12-08 13:26) [2]

> Zloy ©   (08.12.04 12:58)  

> Почти все собития таблицы перерыл, но ни как не могу найти,
> событие, которое происходит после того, как поюзал ячейку
> и перешел к другой, при чем не важно клавой или мышью


type
 TForm1 = class(TForm)
   procedure FormCreate(Sender: TObject);
 private
   { Private declarations }
   procedure ChangedMode(Sender: TObject);
 public
   { Public declarations }
 end;

implementation

{$R *.dfm}

uses
 grids;

type
 TSpecInplaceEdit = class(TInplaceEdit)
 private
   FMode: Boolean;
   FOnChangeMode: TNotifyEvent;
 protected
   procedure WndProc(var msg: TMessage); override;
   procedure ChangeMode(mode: Boolean);
 end;

 TStringGridSE=class(TStringGrid)
 private
   SpecEditor: TSpecInplaceEdit;
   FOnChangeMode: TNotifyEvent;
   function CreateEditor: TInplaceEdit;  override;
 public
   function IsEditMode: Boolean;
   constructor Create(AOwner: TComponent); override;
 published
   property OnChangeMode: TNotifyEvent read FOnChangeMode write
FOnChangeMode;
 end;

procedure TSpecInplaceEdit.wndproc;
begin
 if (msg.Msg = WM_SETFOCUS) or (msg.Msg = WM_KILLFOCUS) then
   ChangeMode(msg.Msg = WM_SETFOCUS);
 inherited;
end;

procedure TSpecInplaceEdit.ChangeMode;
begin
 FMode := mode;
 if Assigned(FOnchangeMode) then
   FOnchangeMode(Grid);
end;

function TStringGridSE.CreateEditor;
begin
 SpecEditor := TSpecInplaceEdit.Create(Self);
 SpecEditor.FOnChangeMode := FOnChangeMode;
 Result := SpecEditor;
end;

constructor TStringGridSE.Create;
begin
 inherited;
 Options := Options + [goEditing];
end;

function TStringGridSE.IsEditMode;
begin
 Result := SpecEditor.FMode;
end;

var
 g: TStringGridSE;

procedure TForm1.ChangedMode;
begin
 if g.IsEditMode then
   Caption := (Sender as TStringGrid).ClassName + " :Edit"
 else
   Caption := "";
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
 g := TStringGridSE.Create(nil);
 g.Parent := Self;
 g.OnChangeMode := ChangedMode;
end;


--
С уважением, LVT.


 
Zloy ©   (2004-12-08 13:43) [3]

это личное творчество?, если да, то как этим воспользоваться. К примеру, после редактирования, чтобы вылетел ShowMessage.

OnSelectCell срабатывает после переключению на любую ячейку, и не важно редактировалась ли она.


 
MBo ©   (2004-12-08 13:53) [4]

редактировалась ли она - можно запоминать последнюю ред. ячейку в OnSetEditText и сравнивать с текущей в OnselectCell


 
Leonid Troyanovsky   (2004-12-08 14:32) [5]

> Zloy ©   (08.12.04 13:43) [3]
> это личное творчество?, если да, то как этим воспользоваться.

Да ладно уж, пользуйся ;)

> К примеру, после редактирования, чтобы вылетел ShowMessage.

OnChangeMode по вкусу (в примере меняется заголовок формы).

--
С уважением, LVT.



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2004.12.26;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.052 c
6-1097594243
PiOnEr
2004-10-12 19:17
2004.12.26
Mozilla & Delphi


3-1101746372
Iova
2004-11-29 19:39
2004.12.26
Drop Table


14-1102323016
infom
2004-12-06 11:50
2004.12.26
Верите ли вы в победу ЦСКА в Париже ?


14-1102295598
просто юзер
2004-12-06 04:13
2004.12.26
Нашествие


14-1101970888
vecna
2004-12-02 10:01
2004.12.26
Льготы и компенсации





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский