Форум: "Основная";
Текущий архив: 2004.03.03;
Скачать: [xml.tar.bz2];
ВнизНе могу изменить размер 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 вся ветка
Форум: "Основная";
Текущий архив: 2004.03.03;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.006 c