Всё передаётся, забыл свойство Name присвоить.
Код:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
procedure
TForm1
.
Button2Click(Sender: TObject);
var
MyForm : TForm;
Memo1 : TMemo;
BitButton1,
BitButton2,
BitButton3 : TButton;
begin
MyForm := TForm
.
Create(Self);
with
MyForm
do
begin
Left :=
100
;
Top :=
100
;
Height :=
300
;
Width :=
300
;
BorderStyle := bsDialog;
Memo1 := TMemo
.
Create(MyForm);
with
Memo1
do
begin
Parent := MyForm;
Left :=
10
;
Top :=
10
;
Height :=
210
;
Width :=
270
;
Visible :=
True
;
end
;
BitButton1 := TButton
.
Create(MyForm);
with
BitButton1
do
begin
Parent := MyForm;
Left :=
20
;
Top :=
235
;
Height :=
25
;
Width :=
75
;
Caption :=
'Добавить'
;
Name :=
'BitButton1'
;
Visible :=
True
;
OnClick := BitButtonClass
.
BitClick;
end
;
BitButton2 := TButton
.
Create(MyForm);
with
BitButton2
do
begin
Parent := MyForm;
Left :=
100
;
Top :=
235
;
Height :=
25
;
Width :=
75
;
Caption :=
'Удалить'
;
Name :=
'BitButton2'
;
Visible :=
True
;
OnClick := BitButtonClass
.
BitClick;
end
;
BitButton3 := TButton
.
Create(MyForm);
with
BitButton3
do
begin
Parent := MyForm;
Left :=
180
;
Top :=
235
;
Height :=
25
;
Width :=
75
;
Caption :=
'Отмена'
;
Name :=
'BitButton3'
;
Visible :=
True
;
OnClick := BitButtonClass
.
BitClick;
end
;
end
;
MyForm
.
ShowModal;
MyForm
.
Free;
end
;
class
procedure
BitButtonClass
.
BitClick(Sender: TObject);
begin
if
Sender
is
TButton
then
begin
if
(Sender
as
TButton).Name =
'BitButton1'
then
ShowMessage(
'Кнопка 1'
)
else
if
(Sender
as
TButton).Name =
'BitButton2'
then
ShowMessage(
'Кнопка 2'
)
else
if
(Sender
as
TButton).Name =
'BitButton3'
then
ShowMessage(
'Кнопка 3'
);
end
;
end
;
Можно также не просто показать какая кнопка, но и реальные действия "навесить".
Код:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
procedure
TForm1
.
Button2Click(Sender: TObject);
...
Memo1 := TMemo
.
Create(MyForm);
with
Memo1
do
begin
Parent := MyForm;
Left :=
10
;
Top :=
10
;
Height :=
210
;
Width :=
270
;
Name :=
'Memo1'
;
Visible :=
True
;
end
;
...
end
;
class
procedure
BitButtonClass
.
BitClick(Sender: TObject);
begin
if
Sender
is
TButton
then
begin
if
(Sender
as
TButton).Name =
'BitButton1'
then
TMemo(TForm((Sender
as
TButton).Parent).FindComponent(
'Memo1'
)).Lines
.
Add(
'Новая строка'
)
else
if
(Sender
as
TButton).Name =
'BitButton2'
then
TMemo(TForm((Sender
as
TButton).Parent).FindComponent(
'Memo1'
)).Lines
.
Clear
else
if
(Sender
as
TButton).Name =
'BitButton3'
then
TForm((Sender
as
TButton).Parent).Close;
end
;
end
;
__________________
Je venus de nulle part
55.026263 с.ш., 73.397636 в.д.
Последний раз редактировалось angvelem, 02.02.2013 в 05:11 .