Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.023 c
1-1110853007
secher
2005-03-15 05:16
2005.03.27
читаем из файла


1-1110553752
awk
2005-03-11 18:09
2005.03.27
TabSheet


1-1110489591
GL00m
2005-03-11 00:19
2005.03.27
Не могу сконвертить 01Dec04 в TDate...


1-1110852340
diabolik_krsk
2005-03-15 05:05
2005.03.27
Tmenu + TResourceStream + TBitmap


14-1109929469
Doxygen
2005-03-04 12:44
2005.03.27
Немецкие умляуты




   Наверх