![]() |
|
|
#1
|
|||
|
|||
|
Всем привет. Как нужно вставить код в уже размещенный компонент с помощью кода?
|
|
#2
|
||||
|
||||
|
Если я правильно понял вопрос, то вам нужен хелпер. Это специальный класс, который позволяет интегрировать пользвательские свойства/методы в уже существующий клас. Выглядит это примерно так
|
|
#3
|
|||
|
|||
|
а что за тело программы?
|
|
#4
|
||||
|
||||
|
У вас есть какой-то свой проект. И на одной из форм лежит компонент функционал которого вы хотите улучшить своим кодом. У формы есть модуль, вот в этом модуле и надо размещать код.
|
|
#5
|
|||
|
|||
|
Цитата:
Ия не собираюсь улучшать компонент. Я хочу при нажатии на буттон размещались компоненты, но кнопки переимновать и открыть не работают тк в них не размещен код. Я хочу как то разместить в нем код. Последний раз редактировалось TotKtoNado, 01.01.2011 в 13:38. |
|
#6
|
||||
|
||||
|
Ты имеешь в виду создание компонентов в run time.
На хороший код не рассчитывай, 12 часов дня, 1 число, но все же. Код:
procedure TForm1.Click(Sender: TObject);
begin
ShowMessage('Вы нажали на кнопку.');
end;
...
var
Btn: TButton;
begin
Btn := TButton.Create(Form1);
With Btn1 do begin
parent:=self;
caption:='button';
OnClick := Click;
end; |
|
#7
|
|||
|
|||
|
Цитата:
|
|
#8
|
||||
|
||||
|
Код:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
procedure FormCreate(Sender: TObject);
private
procedure Click(Sender: TObject);
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Click(Sender: TObject);
begin
ShowMessage('Вы нажали на кнопку.');
end;
procedure TForm1.FormCreate(Sender: TObject);
var
Btn: TButton;
begin
Btn := TButton.Create(Form1);
With Btn do begin
parent:=Form1;
caption:='button';
OnClick := form1.Click;
end;
end;
end.ЗЫ просто поищи в гугле информацию о создании компонент в ран тайме... |
|
#9
|
|||
|
|||
|
Цитата:
|
|
#10
|
||||
|
||||
|
Ты меня не понял.
Код:
... btn.ONCLICK := Click_; А твой код размещай в процедуре CLICK_! |
|
#11
|
|||
|
|||
|
Цитата:
и куда вставлять ... btn.ONCLICK := Click_; ? что то вобще не думалка не работает |
|
#12
|
||||
|
||||
|
Код:
procedure TForm1.Click_(Sender: TObject);
begin
ТВОЙ код СЮДА вставляй
ShowMessage('Вы нажали на кнопку.');
end;
procedure TForm1.FormCreate(Sender: TObject);
var
Btn: TButton;
begin
Btn := TButton.Create(Form1);
With Btn do begin
parent:=Form1;
caption:='button';
OnClick := Form1.Click_;
end;
end; |
|
#13
|
|||
|
|||
|
Цитата:
[Error] Unit1.pas(28): Undeclared identifier: 'TButton' |
|
#14
|
|||
|
|||
|
podkluci v Uses StdCtrls
|
|
#15
|
|||
|
|||
|
Цитата:
А я хочу их разместить не одну кнопку а несколько ? Как мне это сделать? Последний раз редактировалось TotKtoNado, 10.01.2011 в 13:54. |