Форум: "Основная";
Поиск по всему сайту: 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.03 c
4-22513           Oxy2                  2001-10-23 23:23  2002.01.08  
Как создавать формы с разными контролами на чистом API?


1-22187           mitry                 2001-12-15 02:53  2002.01.08  
Thread: Suspend/Resume & Synchronize


6-22281           Verona                2001-10-04 12:22  2002.01.08  
Отправка сообщений на e-mail


14-22369          Victor Tsay           2001-11-08 09:11  2002.01.08  
Как в редакторе Делфи смещать блоки текста?


3-21937           ANDREY196             2001-12-04 18:24  2002.01.08  
Как мне поменять цвет в определённой строке таблице в DBGRID