Модераторы: Snowy, MetalFan, bems, Poseidon
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Динамически создать Label ? 
V
    Опции темы
Данкинг
Дата 16.7.2007, 22:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: 11
Всего: 130



Пытаюсь динамически создать TLabel на панели Panel1, но она почему-то не появляется. Что не так??


Код

labels:array[1..10000] of tlabel;

labels[1]:=tlabel.Create(panel1);
labels[1].Left:=100;
labels[1].Top:=200;
labels[1].Caption:='aaa';
labels[1].Color:=clWhite;
labels[1].Visible:=true;
labels[1].Show;



--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
ALeXandrK
Дата 16.7.2007, 22:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 342
Регистрация: 31.1.2007
Где: Санкт-Петербург

Репутация: 1
Всего: 6



Установи Label.Parent := Компонент, на котором создаешь.
Возможно поможет smile 

Проверил! Точно поможет. 
А строчки
Код

labels[1].Visible:=true;
labels[1].Show;

Можешь убрать - лишние они.

Это сообщение отредактировал(а) ALeXandrK - 16.7.2007, 22:31


--------------------
Богат не/ни тот, у кого много, а тот, кому хватает
PM WWW   Вверх
Данкинг
Дата 16.7.2007, 22:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: 11
Всего: 130



Да, помогло, спасибо:

Код

labels[1].Parent:=panel1;

 smile 


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
ALeXandrK
Дата 16.7.2007, 22:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 342
Регистрация: 31.1.2007
Где: Санкт-Петербург

Репутация: 1
Всего: 6



Рад помочь smile 
Тем более, что сам сегодня решил такую
же проблему.
Я думал, что конструкор сам это делает,
ан нет smile 


--------------------
Богат не/ни тот, у кого много, а тот, кому хватает
PM WWW   Вверх
Данкинг
Дата 16.7.2007, 22:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: 11
Всего: 130



Да, visible по умолчанию присваивается, всё правильно, без него тоже нормально работает. А шрифт вот так:

Код

labels[1].Font.Style:=[fsbold];


Просто я с динамическими компонентами ни разу ещё не работал.


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
ALeXandrK
Дата 16.7.2007, 23:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 342
Регистрация: 31.1.2007
Где: Санкт-Петербург

Репутация: 1
Всего: 6



Так стили не присваиваются!
Стиль - это множество!
Нужно сначала проверить есть ли в этом множестве то, что
тебе нужно, и потом добавить это, если там его нету.

От слов к делу:

Код

if not([fsbold] in labels[1].Font.Style)
then labels[1].Font.Style:=labels[1].Font.Style+[fsbold];


Это сообщение отредактировал(а) ALeXandrK - 16.7.2007, 23:15


--------------------
Богат не/ни тот, у кого много, а тот, кому хватает
PM WWW   Вверх
lukas
Дата 17.7.2007, 07:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 771
Регистрация: 23.2.2007

Репутация: 3
Всего: 15



ALeXandrK,

можно присваивать как хочешь и даже так:

 labels[1].Font.Style:=[];

Добавлено через 1 минуту и 55 секунд
кстати, тебе не обязательно хранить лейблы в массиве, ведь это занимаемая память, такой массив уже существует заранее

form.components[n]

ну или если хочешь сделать массив, то лучше используй TObjectList, он гораздо лучше подходит для этих целей


--------------------
http://code.google.com/p/orionphp/ - opensource скриптовой язык Orion (аналог PHP) для freepascal/delphi.
PM MAIL WWW   Вверх
ALeXandrK
Дата 17.7.2007, 17:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 342
Регистрация: 31.1.2007
Где: Санкт-Петербург

Репутация: 1
Всего: 6



Цитата

можно присваивать как хочешь и даже так:

 labels[1].Font.Style:=[];


Раньше не получалось, ... ну это у меня, может что-то криво писал.
Будем знать, спасибо за поправку smile 


--------------------
Богат не/ни тот, у кого много, а тот, кому хватает
PM WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Для новичков"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0722 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.