Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.03.27;
Скачать: CL | DM;

Вниз

Stringgrid и Edit   Найти похожие ветки 

 
xsh   (2005-03-15 18:49) [0]

Здравствуйте! Возникла задача при клике на ячейку Stringgrid"a вставлять в нее TEdit, написал код

procedure TForm1.StringGrid1Click(Sender: TObject);
var
Rect:TRect;
begin
Edit1.Parent:=Stringgrid1;
Edit1.Text:=Stringgrid1.cells[Stringgrid1.Col,Stringgrid1.Row];
Rect:=Stringgrid1.CellRect(Stringgrid1.Col,Stringgrid1.row);
Rect.Left:=Rect.Left+50;
Rect.top:=Rect.top+50;
edit1.BoundsRect:=rect;
end;

Вроде все правильно, но TEdit вообще не отображается. Помогите пожалуйста разобраться.


 
xsh   (2005-03-15 18:51) [1]

Rect.Left:=Rect.Left+50;
Rect.top:=Rect.top+50;
Этих строк нет. По ошибки написал.


 
Virgo_Style ©   (2005-03-15 18:58) [2]

Почему-то мне кажется, что Edit оказался ПОД StringGrid"ом... Проверь :-)


 
xsh   (2005-03-15 19:09) [3]

Его просто не видно, этого Edit"a
Edit1.Parent:=Stringgrid1;

Убрать, то тоже самое.


 
Юрий Зотов ©   (2005-03-15 19:14) [4]

Что-то я не пойму... а чем встроенный InplaceEdit не угодил?


 
Набережных С. ©   (2005-03-15 19:29) [5]

Edit1.Show ?


 
GanibalLector ©   (2005-03-15 19:36) [6]

2 Юрий Зотов ©   (15.03.05 19:14) [4]
>а чем встроенный InplaceEdit не угодил?
Бывает и такое.Я когда-то тоже пробовал все на   InplaceEdit сделать(нужно было блокировать ввод букв,допускать только вещ.числа #,##).В общем кода получилось намного больше(и то,он не решал всех проблем) ,чем если вставить TCurrencyEdit.


 
xsh   (2005-03-15 19:48) [7]


> Что-то я не пойму... а чем встроенный InplaceEdit не угодил?

Тем что я не могу изменить цвет и шрифт ячейки во время ее редактирования.


 
ЮЮ ©   (2005-03-16 04:52) [8]

>Тем что я не могу изменить цвет и шрифт ячейки во время ее редактирования.

Ячейку во время редактирования все-равно не видно, она перекрыты InplaceEdit-ом :) Попробуй изменить цвет и шрифт InplaceEdit-а


 
xsh   (2005-03-16 16:04) [9]


> Попробуй изменить цвет и шрифт InplaceEdit-а

Можете подсказать как?


 
ЮЮ ©   (2005-03-17 05:06) [10]

Если без создания наследника, где всё это сделать красиво, то, например в обработчике StringGrid.OnGetEditText, который вызывется, когда редактор уже создан и им можно управлять:

procedure TForm1.StringGrid1GetEditText(Sender: TObject; ACol,
 ARow: Integer; var Value: String);
var
 ie: TInplaceEditAccess;
begin
 ie := TInplaceEditAccess(TCustomGridAccess(Sender).InplaceEditor);
 if ie <> nil then begin
   ie.Color := clYellow;
   ie.Font.Color := clRed;
 end;
end;

где

type
 TCustomGridAccess = class(TCustomGrid);
 TInplaceEditAccess = class(TInplaceEdit);

описаны в этом же модуле, что обеспечивает доступ к protected свойствам


 
xsh   (2005-03-17 08:55) [11]

Огромное человеческое спасибо!



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

Текущий архив: 2005.03.27;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.033 c
8-1102067003
Shuma
2004-12-03 12:43
2005.03.27
Ошибка QuickTime в DSPack


14-1110174549
Копир
2005-03-07 08:49
2005.03.27
Недолго осталось праздновать 8-е марта:-|


1-1110906643
Oleg_
2005-03-15 20:10
2005.03.27
Обратное построение древа


14-1110363553
R.D.I.
2005-03-09 13:19
2005.03.27
Сайт kladovka.com.ru приостановил работу?


3-1109583378
wolf2541
2005-02-28 12:36
2005.03.27
Не работает etoCanNavigation в dxDbTreeList