Главная страница
    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.036 c
14-1101932095
k@rt
2004-12-01 23:14
2004.12.26
Моделирующие программы по физике


4-1098681675
pavel_guzhanov
2004-10-25 09:21
2004.12.26
Проблема с WMI


14-1101808213
Sur
2004-11-30 12:50
2004.12.26
PL/1 - Programming Language One


14-1102510077
chelovek
2004-12-08 15:47
2004.12.26
Интересно?


14-1102433005
Сергей Г
2004-12-07 18:23
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский