Форум: "Основная";
Текущий архив: 2005.10.30;
Скачать: [xml.tar.bz2];
ВнизПочему не вижу на экране динамически созданные кнопки, метки... Найти похожие ветки
← →
apellido (2005-10-10 10:01) [0]В форму frmMain поместил два листа с закладками,ограничив по
краям GroupBox - ами
type
TfrmMain = class(TForm)
PageControl1: TPageControl;
Sheet1: TTabSheet;
Sheet2: TTabSheet;
GroupBox1: TGroupBox;
GroupBox2: TGroupBox;
Желаю создать динамически оформление листов с кнопками,
метками и т.п. для последующего ввода в БД, сгруппировав
внутри GroupBox - ов, для массового изменения аттрибутов.
Пишу следующее: (фрагмент процедуры)
---------------------------------
var
Temp : TComponent;
begin
Temp:=frmMain.Sheet1.FindComponent("Edit_1");
if (Temp is TEdit) and ((Temp as TEdit).Name="Edit_1") then begin
(Temp as TEdit).Visible:=true;
(Temp as TEdit).Text :="Проба";
(Temp as TEdit).Top :=150;
(Temp as TEdit).Left :=150;
(Temp as TEdit).Width :=50;
(Temp as TEdit).Height :=50;
(Temp as TEdit).Color :=clWhite;
end
else begin
TEdit.Create(frmMain.Sheet1).Name:="Edit_1";
end;
Запускаю на выполнение, но на экране ничего не появляется.
Вставлял ShowMessage для отладки - все ветки работают.
Пробовал вместо Sheet1 писать GroupBox1, но результат тот же.
Цвет фона листов не белый. Процедуру, содержащую сей код,
запускаю внутри
procedure TfrmMain.FormResize(Sender: TObject)
Есть вариант нарисовать все эл-ты с большим запасом по кол-ву в форме и в нужный момент ставить для каждого эл-та Visible=true, но ведь некрасиво и запаса может не хватить.
Так в чем же моя ошибка?
ps:
"Еdit_1" приведен для примера, на самом деле в дальнейшем будет переменная.
← →
kblc © (2005-10-10 10:07) [1]Попробуй так:
else with TEdit.Create(frmMain.Sheet1) do begin
Name:="Edit_1";
Parent:=frmMain.Sheet1;
end;
← →
apellido (2005-10-10 10:25) [2]Действительно! Все появилось!
Тема закрыта.
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2005.10.30;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.04 c