Главная страница
    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.035 c
3-1101980098
intaari
2004-12-02 12:34
2004.12.26
Выбор типа базы данных (Paradox, DBase, FOXPRO или др.)


14-1102570620
uny
2004-12-09 08:37
2004.12.26
Mcafee 9 pro?


3-1101890148
Iova
2004-12-01 11:35
2004.12.26
Можно выполнять системные запросы в Query


3-1101227478
AUS_r4nd0m
2004-11-23 19:31
2004.12.26
Перестройка индексов при добавлении в InterBase c помощью ХП


4-1097650637
Lingo
2004-10-13 10:57
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский