Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2004.04.04;
Скачать: [xml.tar.bz2];

Вниз

Создание компонента на форме во время выполнения программы   Найти похожие ветки 

 
Max75   (2004-03-15 12:04) [0]

Уважаемые мастера, можно-ли создавать визуальные компоненты не на этапе проектирования формы, а после запуска программы. В частности, в программе должны использоваться переменное количество экземпляров компонента TImage, количество которых соответсвует количеству записей в таблице БД. Пробовал создавать массив
p:array of TImage в описании класса формы

type
 TMainF = class(TForm)
   PopupMenu1: TPopupMenu;
   N5: TMenuItem;
   procedure N5Click(Sender: TObject);
 private
   { Private declarations }
 public
  p:array of TImage
   { Public declarations }
 end;

В программе пытаюсь создать обект, так

p[0]:=TImage.Create(Application);
p[0].Picture.LoadFromFile("c:\test.bmp");

Объект в памяти создается, но не отображается на форме.

При просмотре (Inspect) объекта при выполнении программы Owner=nil

Как правильно создавать и отображать визуальный компонент, в книжках про это не пишут


 
Noname   (2004-03-15 12:12) [1]

для созданного объекта необходимо указать его родителя, через parent, например P[0].Parent := Form1;


 
Anatoly Podgoretsky ©   (2004-03-15 12:17) [2]

Можно.
Правильно с помощью конструктора Create
Отображение на форме совсем другое дело, не относится к созданию. Но и для него существуют несколько методов. Например присвоение Parent


 
Романов Р.В. ©   (2004-03-15 12:18) [3]

Грузи
http://www.delphikingdom.com/asp/section.asp?ID=16

Читай
Жизнь и смерть в режиме run-time


 
Max75   (2004-03-15 12:24) [4]

Большое Вам спасибо!



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

Форум: "Основная";
Текущий архив: 2004.04.04;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.033 c
6-1074870110
Sirruf
2004-01-23 18:01
2004.04.04
Права доступа к сетевому ресурсу


1-1079279982
Dmk
2004-03-14 18:59
2004.04.04
Что быстрее?


14-1078826846
RIMMER
2004-03-09 13:07
2004.04.04
ОСТОРОЖНО! Новый Лесной кодекс!


3-1078773828
ceval
2004-03-08 22:23
2004.04.04
как названия поля сделать по середине


1-1079366686
DmitryNekl
2004-03-15 19:04
2004.04.04
Оптимизация кода





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский