Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Почему не вижу на экране динамически созданные кнопки, метки... [D5, WinXP]


apellido ©   (2005-10-10 10:01:00) 

В форму 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' приведен для примера, на самом деле в дальнейшем будет переменная.


apellido   (2005-10-10 10:25:00) [1]

Действительно! Все появилось!
Тема закрыта.


kblc   (2005-10-10 10:07:00) [2]

Попробуй так:
else with TEdit.Create(frmMain.Sheet1) do begin
         Name:='Edit_1';
         Parent:=frmMain.Sheet1;
         end;


Наверх

Титульная страница Поиск, карта сайта Написать письмо