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

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

Создание кнопки программно


Страницы:   1 2 3 4

Mariya ©   (2007-10-02 15:27:00) 

Подскажите мне, пожалуйста, как создать динамически визуальный компонент (кнопку) на форме в Delphi.


Palladin   (2007-10-03 10:37:00) [41]

lbl.Font.Style:=[fsBold];

lbl.Left:=0;
lbl.Top:=0;
lbl.Width:=ClientWidth;
lbl.Height:=по вкусу


Mariya   (2007-10-03 10:32:00) [42]

lbl:=TLabel.Create(Form1);
Lbl.Parent:=Form1;
lbl.Caption:=Ini.ReadString('Label', 'lbl1', 'Добро пожаловать!');
lbl.Font.Size:=20;
lbl.Font. (должен быть жирный, не знаю как правильно написать!)

Как правильно задать, чтобы было в центре сверху формы (типа aligned:=center; top? не знаю, в общем заголовок!)
lbl.Left:=?
lbl.Top:=?
lbl.Height:=?
lbl.Width:=?


clickmaker   (2007-10-03 09:48:00) [43]


> [21] Mariya   (03.10.07 09:18)

Огласите весь список, пожалста


Ega23   (2007-10-03 09:25:00) [44]


> Подскажите, а как создать программно Label? Задать шрифт,
>  размер? Расположение?


Аналогично как и TButton


Mariya   (2007-10-03 09:18:00) [45]

Подскажите, а как создать программно Label? Задать шрифт, размер? Расположение?


korneley   (2007-10-03 02:18:00) [46]


> Юрий Зотов ©  [18]
Ок, нашел. Картина мира опять приобрела несвойственную ей гармоничность ;-)


Германн   (2007-10-03 02:09:00) [47]


> Юрий Зотов ©   (03.10.07 02:01) [18]
>
> Справка D7,

Ну нет  у меня Д7! Максмум - это Д6!
А BDS установлен в другой ОС :)


Юрий Зотов   (2007-10-03 02:01:00) [48]

Справка D7, раздел Delphi Language Reference / Visibility of class members:

Members at the beginning of a class declaration that don't have a specified visibility are by default published, provided the class is compiled in the {$M+} state or is derived from a class compiled in the {$M+} state; otherwise, such members are public.


Германн   (2007-10-03 01:48:00) [49]


> Юрий Зотов ©   (03.10.07 01:39) [15]

Посмотрю завтра в книге Рэя. Сейчас уже лень искать в хардкопи. :)
Ну нет у меня Конопки  в эл -формате. :-(


korneley   (2007-10-03 01:40:00) [50]


> Германн ©

> А какую доку, Юр?
Вот я и говорю, что как-то... невнятно, что ли. И это при том, что Паскаль = однозначность толкования на этапе трансляции (ну, или предполагается, что так)


Юрий Зотов   (2007-10-03 01:39:00) [51]

> Германн ©   (03.10.07 01:31) [14]

У Конопки это есть точно. Видел где-то еще, но где - не помню.


Германн   (2007-10-03 01:31:00) [52]


> Юрий Зотов ©   (03.10.07 01:20) [12]
>
> > korneley ©   (03.10.07 00:42) [11]
>
> > Сиди, гадай по косвенным признакам
>
> Или не гадай, а прочитай доку.
>
> Для классов, откомпилированных с директивой {$M+} и их наследников
> дефолтная секция - published, для остальных - public.
>

А какую доку, Юр?
Справка из Д6 говорит о..., но не объясняет ничего:
"The $M switch directive controls generation of runtime type information (RTTI). When a class is declared in the {$M+} state, or is derived from a class that was declared in the {$M+} state, the compiler generates runtime type information for fields, methods, and properties that are declared in a published section. If a class is declared in the {$M-} state, and is not derived from a class that was declared in the {$M+} state, published sections are not allowed in the class. Note that if a class is forward declared, the first declaration of the class must be declared with the $M switch.

Note: The TPersistent class defined in the Classes unit of the VCL and CLX is declared in the {$M+} state, so any class derived from TPersistent will have RTTI generated for its published sections. The VCL/CLX uses the runtime type information generated for published sections to access the values of a component's properties when saving or loading form files. Furthermore, the IDE uses a component's runtime type information to determine the list of properties to show in the Object Inspector.

There is seldom, if ever, any need for an application to directly use the $M compiler switch."


Германн   (2007-10-03 01:20:00) [53]


> Но вот почему в дельфи секция published явно не прописывается
> - непонятно.

Так она предназначена именно для компонент, имхо. Для проекта она избыточна. Опять же имхо.

> Но вот так, с ходу, ни могу припомнить ни одной книги, в
> которой говорилось, что верхняя, неименованая секция - published.
>

Ну раз дядя Борланд её так не именует, значит и ни в какой книге (Флёнов идёт лесом) этого не прочитаешь! :-)


Юрий Зотов   (2007-10-03 01:20:00) [54]

> korneley ©   (03.10.07 00:42) [11]

> Сиди, гадай по косвенным признакам

Или не гадай, а прочитай доку.

Для классов, откомпилированных с директивой {$M+} и их наследников дефолтная секция - published, для остальных - public.


korneley   (2007-10-03 00:42:00) [55]


> > Пошел сделаю себе пару-тройку харакири...> "Достаточно
> одной таблэтки" (с)
Да это я харакири с хачапури перепутал :) Но вот почему в дельфи секция published явно не прописывается - непонятно. Сиди, гадай по косвенным признакам (хотя, всего и один раз). При создании компонент(ов) понятно: хочешь видеть  свойство в ИО - помещай в published. Но! Они все в левой части! А то, что навешивается - в правой. Кроме дочерних (сыновьих?) компонент(ов). Они вообще сверху. Но вот так, с ходу, ни могу припомнить ни одной книги, в которой говорилось, что верхняя, неименованая секция - published.


Германн   (2007-10-03 00:26:00) [56]


> Пошел сделаю себе пару-тройку харакири...
>

"Достаточно одной таблэтки" (с)


korneley   (2007-10-03 00:16:00) [57]


> Германн ©

>  ...доступно через ИО...
Аргумент, однако... Пошел сделаю себе пару-тройку харакири...


Германн   (2007-10-03 00:07:00) [58]


> korneley ©   (02.10.07 23:31) [7]
>
>
> >Германн ©
> > ...Там, кстати, слова published нет
>
>  так и не надо. По моему, это все таки public. Или нет?
>

Нет. public там в другом месте. И явно указан.

Но ес-но в том месте, где обработчик создается по умолчанию подразумевается published, поскольку всё что там есть доступно через ИО.


korneley   (2007-10-02 23:31:00) [59]


>Германн ©
> ...Там, кстати, слова published нет

 так и не надо. По моему, это все таки public. Или нет?


Германн   (2007-10-02 21:49:00) [60]


> evvcom ©   (02.10.07 16:01) [5]
>
>
> > а то после Ctrl+S процедура исчезнет :)
>
> Это если декларация в published.

Эээ. Это если декларация там, где она по умолчанию создаётся. Там, кстати, слова published нет. ;-(


Страницы:   1 2 3 4

Наверх

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