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




Вниз

Как работать с TInplaceEdit 


Tosov   (2001-12-15 10:43) [0]

Как "подключить" его к StringGrid и вообще работать с ним (если можно маленький пример)



Tosov   (2001-12-15 22:10) [1]

И еще - в хелпе написано, что есть TCustomGrid.InplaceEditor TCustomGrid.CreateEditor и др. А е его потомке TStringGrid их нет.
Помогите разобраться с InplaceEdit.Очень надо !!!



Tosov   (2001-12-16 00:10) [2]

Очень надо !!!



Suntechnic   (2001-12-16 05:28) [3]

Ты лучше скажи, ты свой компонент на базе TStringGrid или TCustomGrid пишешь или просто добраться хочешь? Во втором случае никак. Надо наследоваться...



Suntechnic   (2001-12-16 05:47) [4]

Извини, я сразу не нашёл тот вопрос, который ты первый раз задавал. Теперь по сути...

У TCustomGrid есть метод CreateEditor. Тебе надо его переопределить. Для того чтобы получить полный контроль над TInplaceEdit тебе также придётся от него отнаследоваться. Т.е. написать свой TInplaceEdit например TInplaceEditEx А в переопределённом методе CreateEditor создавай уже новый TInplaceEditEx.



Tosov   (2001-12-16 07:09) [5]

Я пишу от TStringGrid (просто у TCustomGrid я нашел св-во InplaceEditor а у StringGrid"a не нашел. И как в таком случае мне с ним работать (у TInplaceEdit.Grid только для чтения :( )



Suntechnic   (2001-12-16 08:19) [6]

Теперь я уже не понял... Ты про наследование когда-нибудь слыхал? TStringGrid наследник от TCustomGrid, а это значит, что всё то, что есть у TCustomGrid присутствует у TStringGrid и будет присутствовать у класса, который ты породишь от TStringGrid...



Tosov   (2001-12-16 09:13) [7]

TStringGrid наследник от TCustomGrid, а это значит, что всё то, что есть у TCustomGrid присутствует у TStringGrid и будет присутствовать у класса, который ты породишь от TStringGrid...
Я про то-же. Но где у TStringGrid InplaceEditor я не обнаружил.
Насколько я понял, ты предлагаешь следующее:

type
TMyEdit=class(TInplaceEdit)
public
function Что_то_наподобие_onEndEdit(llll);override;
end;

Type
TMyGrid=class(TStringGrid)
public
Editor:TMyEdit;
CreateEditor;override;
end;

procedure TMyGrid.CreateEditor;
begin
Editor:=TMyEdit.Create(nil);
end;

P.S. У TInplaceEdit"а Events нет :( В общем я уже запутался

С начала.. На форме есть TMyGrid (от TStringGrid)
1.юзер начинает редактировать ячейку -> Данные передаются в Editor и обрабатываются там
2.юзер завершает редактирование -> Данные из Editor"a передаются в редактируемую ячейку
3. Все это делается "автоматически" (мне надо создать Editor и "прицепить" его к определенному компоненту.
(это как я понимаю. если ошибся-поправь..)

? Как сказать Editor"у что твой грид =MyGird1 или как в TMyGrid создать Editor ?
? У TInplaceEdit в хелпе нет ни функций ни событий связанных с окончанием редактирования (может плохо хелп читал??)?



Suntechnic   (2001-12-16 18:58) [8]

>Tosov © (16.12.01 09:13)
TMyGrid=class(TStringGrid)
public
Editor:TMyEdit;!!!!!!!!!Лишнее

Всё верно за исключением вот этой строчки. Editor и так существует, просто тебе надо положить туда свой.

И создавать вот так:
function TMyGrid.CreateEditor: TMyEdit;
begin
Result := TMyEdit.Create(Self);
end;


>У TInplaceEdit в хелпе нет ни функций ни событий связанных с окончанием >редактирования
А что тебе мешает их написать? Ведь ты же создаешь свой класс. Это в любом случае окно, а окно всегда получает фокус и теряет его.
...конкретно с началом и окончанием редактирования в InplaceEditor я не сталкивался так что могу многих камней не видеть, но копать надо именно здесь...



Tosov   (2001-12-16 22:55) [9]

Suntechnic
Спасибо. Попробую сделать так..




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




Наверх





Память: 0.73 MB
Время: 0.022 c
3-21945           asafr                 2001-12-04 18:11  2002.01.08  
FastReport. frBand.Visible


14-22415          Wetnose               2001-11-12 06:42  2002.01.08  
Темы для WinXP


1-22235           DDDeN                 2001-12-17 06:47  2002.01.08  
Заставка


6-22275           Moscower              2001-10-08 12:43  2002.01.08  
Как можно через TNMFTP послать команду chmod на Linux-сервер?


14-22343          Merlin                2001-11-02 14:17  2002.01.08  
Со смеху чуть не упал на пол!