unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
procedure FormCreate(Sender: TObject);
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
memo1:Tmemo;
memo2:Tmemo;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
begin
memo1:=Tmemo.Create(Form1); memo1.Parent:=Form1;
memo1.Visible:=false;
memo2:=Tmemo.Create(Form1); memo2.Parent:=Form1;
memo2.Visible:=false;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
button1.Tag:=button1.Tag+1;
if button1.Tag=1 then
begin
with memo1 do
begin
memo1.Visible:=true;
Left:=100; Top:=100;
Width:=100; Height:=200;
end;
end;
if button1.Tag=2 then
begin
with memo2 do
begin
memo2.Visible:=true;
Left:=250; Top:=100;
Width:=100; Height:=200;
end;
end;
end;
end.
как сопоставить две процедуры
Код:
то есть при нажатии на кнопку добавляется сначало одно мемо, потом второе, и просто требуется сделать чтобы эти мемы уменьшались до размеров текста при выходе из них, вот код
Код:
procedure TForm1.Memo1Exit(Sender: TObject);
var Memo: TMemo;
begin
Memo := Sender as TMemo;
Memo.Height := Memo.Lines.Count * Abs(Memo.Font.Height * 2);
end;
end.
var Memo: TMemo;
begin
Memo := Sender as TMemo;
Memo.Height := Memo.Lines.Count * Abs(Memo.Font.Height * 2);
end;
end.
не понятно как соединить эти коды
я думаю что можно сделать через функцию в неё передавать параметры и забирать из неё уже готовые результаты, но не понятно что передавать надо
Процедуру Memo1Exit надо навесить на OnExit обоих Memo, если я правильно понимаю что надо сделать.
Цитата: IL84
Процедуру Memo1Exit надо навесить на OnExit обоих Memo, если я правильно понимаю что надо сделать.
а как это записать то? причём мемо же создаётся и хз как не существующему компоненту написать процедуру
Код:
procedure TForm1.Button1Click(Sender: TObject);
begin
button1.Tag:=button1.Tag+1;
if button1.Tag=1 then
begin
with memo1 do
begin
memo1.Visible:=true;
Left:=100; Top:=100;
Width:=100; Height:=200;
OnExit := Memo1Exit;
end;
end;
if button1.Tag=2 then
begin
with memo2 do
begin
memo2.Visible:=true;
Left:=250; Top:=100;
Width:=100; Height:=200;
OnExit := Memo1Exit;
end;
end;
end;
end.
begin
button1.Tag:=button1.Tag+1;
if button1.Tag=1 then
begin
with memo1 do
begin
memo1.Visible:=true;
Left:=100; Top:=100;
Width:=100; Height:=200;
OnExit := Memo1Exit;
end;
end;
if button1.Tag=2 then
begin
with memo2 do
begin
memo2.Visible:=true;
Left:=250; Top:=100;
Width:=100; Height:=200;
OnExit := Memo1Exit;
end;
end;
end;
end.