Форум: "Основная";
Текущий архив: 2005.03.27;
Скачать: [xml.tar.bz2];
Вниз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;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.045 c