Вниз
Скачать: CL | DM;

Не могу изменить размер Edit a   Найти похожие ветки 

← →
jack128 ©   (2004-02-19 16:30) [0]

Вот такой код компонента (едит и рядом кнопочка)
TButtonEdit = class(TWinControl)
private
FEdit: TEdit;
FButton: TSpeedButton;
{ Private declarations }
protected
{ Protected declarations }
procedure InitSize;
procedure Resize; override;
property Edit: TEdit read FEdit;
property Button: TSpeedButton read FButton;
public
{ Public declarations }
constructor Create(AOwner: TComponent); override;
end;

{ TButtonEdit }

constructor TButtonEdit.Create(AOwner: TComponent);
begin
inherited;
FEdit := TEdit.Create(Self);
FEdit.Parent := Self;
FButton := TSpeedButton.Create(Self);
FButton.Parent := Self;
FButton.Caption := "...";
FButton.Width := FEdit.Width - 2;
FButton.Height := FButton.Width;
Width := FEdit.Width;
Height := FEdit.Height + FButton.Height;
InitSize;
end;

procedure TButtonEdit.InitSize;
begin
FButton.Top := 0;
FEdit.Top := 0;
FEdit.Height := Self.Height;
FButton.Height := FEdit.Height;
FButton.Width := Self.Height;
FEdit.Left := 0;
FEdit.Width := Self.Width - FButton.Width;
FButton.Left := FEdit.Width;
end;

procedure TButtonEdit.Resize;
begin
inherited;
InitSize;
end;
В дизин тайм при измении размеров все выгледит ОК, а вот в ран тайм едит не меняет своих размеров. Я так поминаю delphi где то еще меняет размеры едита, но не вызывает Resize? Пробовал вызывать InitSize в обработчике wm_size - тот же нулевой эффект. Почему так происходит?


← →
NAlexey ©   (2004-02-19 16:52) [1]

Все нормально ресайзится, мож что не так делаю? Я выставляю у TButtonEdit Anchors := [akLeft, akTop, akRight, akBottom] и меняю размеры формы. Все выглядит хорошо.


← →
jack128 ©   (2004-02-19 17:08) [2]

Да, с якорями все нормально выглядит. А попробуй вот так

type
TForm1 = class(TForm)
....
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
BE1: TButtonEdit;
public
{ Public declarations }
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
BE1 := TButtonEdit.Create(Self);
BE1.Parent := Self;
BE1.Top := 10;
BE1.Left := 10;
BE1.Height := 100;
end;


← →
_none_ ©   (2004-02-19 18:12) [3]

to [jack128]
создай свойства Left, Top и т.д. у TButtonEdit и при их изменении подифицируй св-ва кнопки и едита



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

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.01 c
1-6056
DmitryNekl
2004-02-18 21:39
2004.03.03
Массив элементов TStringList


1-6106
Ал
2004-01-23 13:38
2004.03.03
Функция в Делфи


1-6125
Dysan
2004-01-23 13:18
2004.03.03
никак не могу разобраться с методом


6-6176
Checist [root]
2003-12-27 03:04
2004.03.03
Проверка полной загрузки


4-6267
LameFox
2003-12-26 16:38
2004.03.03
Оформление в Windows 2000 как в Windows XP




   Наверх