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

Вниз

Создание компонентов   Найти похожие ветки 

 
JBL   (2005-10-29 16:01) [0]

Вопрос заключается не в том как создавать компоненты для делфи, а в том как ПРОГРАММНО создать компонент на форме?
К примеру приведу TCheckBox !!! Как мне их натыкать программно????


 
begin...end ©   (2005-10-29 16:04) [1]

http://delphikingdom.com/asp/viewitem.asp?catalogid=342


 
SergProger ©   (2005-10-30 01:56) [2]

var
 Form1: TForm1;
 NB: TButton;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
 NB:=TButton.Create(Self);
 NB.Parent:=Self;
 NB.Left:=100;
 NB.Top:=100;
 NB.Caption:="New Button";
end;

procedure TForm1.FormDestroy(Sender: TObject);
begin
 NB.Free;
end;


 
Юрий Зотов ©   (2005-10-30 05:31) [3]

> SergProger ©   (30.10.05 01:56) [2]

Переменная NB и обработчик OnDestroy - лишние.


 
SergProger ©   (2005-10-30 12:18) [4]

А ты знаешь как это сделать? Покажи мне, пожалуйста!


 
Юрий Зотов ©   (2005-10-30 13:40) [5]

> SergProger ©   (30.10.05 12:18) [4]

Переменная NB не нужна, потому что существует with:

procedure TForm1.FormCreate(Sender: TObject);
begin
 with TButton.Create(Self) do
 begin
   Parent := Self;
   SetBounds(100, 100, Width, Height);
   Caption := "New Button";
 end
end;

А обработчик OnDestroy не нужен, потому что владельцем (Owner) кнопки мы сделали форму, поэтому при уничтожении формы она уничтожит кнопку сама, без нашего участия.


 
SergProger ©   (2005-10-30 14:46) [6]


> Юрий Зотов ©   (30.10.05 13:40) [5]


А как ты потом будешь к ней обращаться? Например, уже при обработке события FormClick?


 
Юрий Зотов ©   (2005-10-30 15:01) [7]

> SergProger ©   (30.10.05 14:46) [6]

При обработке OnClick - через Sender. А если действительно требуется сохранить ссылки, то введу массив, причем введу его, как поле формы. Но уж точно не буду использовать скалярную глобальную переменную.

Вопрос к Вам: а как обращаться к контролам, если "их натыкать программно" Вашим кодом?


 
JBL   (2005-10-30 20:41) [8]


> При обработке OnClick - через Sender.

а попдробнее насчёт этого можно? и желательно в примерах, чтобы можно было изменять разные всвойства компонента по ходу работы программы...


 
sniknik ©   (2005-10-30 20:55) [9]

procedure TForm1.ButtonClick(Sender: TObject);
begin
 TButton(Sender).Font.Style:= [fsBold];
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
with TButton.Create(Self) do
begin
  Parent := Self;
  SetBounds(100, 100, Width, Height);
  Caption := "New Button";
  OnClick:= ButtonClick;
end
end;


 
Юрий Зотов ©   (2005-10-30 22:17) [10]

> JBL   (30.10.05 20:41) [8]

Прочитайте статью по ссылке в посте [1] - исчезнут все вопросы по этой теме.



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

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

Наверх





Память: 0.46 MB
Время: 0.044 c
2-1131029615
DelphiLexx
2005-11-03 17:53
2005.11.20
class function


2-1131083532
Gia
2005-11-04 08:52
2005.11.20
DBEdit


5-1111751604
Gennadiy
2005-03-25 14:53
2005.11.20
Проблема с созданием компонента!


2-1130834044
Got
2005-11-01 11:34
2005.11.20
Как передать в функцию перечесляемый тип?


1-1130404652
leonon
2005-10-27 13:17
2005.11.20
Работа с TWebBrowser





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский