写控件的问题

一点点凋落 2003-04-15 09:00:35
我写了个控件,从TPanel上继承的,上面还有一个TEdit和一个TButton
procedure TDropTree.WMSize(var message: TWMSize);
begin
inherited;
FEdit.Width:=message.Width-20;
FButton.Left:=FEdit.Width;
FButton.Width:=20;
end;

这样在设计期显示是正常的,但是在运行期FEdit的宽度没有改变,是什么原因?
...全文
18 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
一点点凋落 2003-04-27
  • 打赏
  • 举报
回复
怎么设置,可以说具体点吗
Kingron 2003-04-27
  • 打赏
  • 举报
回复
搂住:这个可是你要的?
unit ButtonEdit;

interface

uses
Windows, Messages, SysUtils, Classes, Controls, StdCtrls;

type
TButtonEdit = class(TWinControl)
private
{ Private declarations }
FButton: TButton;
FEdit: TEdit;
protected
{ Protected declarations }
public
{ Public declarations }
constructor Create(AOwner: TComponent); override;
destructor Destroy;override;
published
{ Published declarations }
property Button: TButton read FButton write FButton;
property Edit: TEdit read FEdit write FEdit;
end;

procedure Register;

implementation

procedure Register;
begin
RegisterComponents('Samples', [TButtonEdit]);
end;

{ TButtonEdit }

constructor TButtonEdit.Create(AOwner: TComponent);
begin
inherited Create(AOwner);
FButton := TButton.Create(Self);
FButton.Parent := Self;
FButton.Align := alRight;
FButton.Width := 30;
FButton.Caption := '...';

FEdit := TEdit.Create(Self);
FEdit.Align := alClient;
FEdit.Parent := Self;

Height := FEdit.Height;
Width := FEdit.Width + FButton.Width;
end;

destructor TButtonEdit.Destroy;
begin
FButton.Free;
FEdit.Free;
inherited;
end;

end.

Kingron 2003-04-26
  • 打赏
  • 举报
回复
设置Anchors就可以了,干吗要写代码?
cjsh 2003-04-26
  • 打赏
  • 举报
回复
你设计时就应该放到变更里面去后然后再变更里面读。
wooden954 2003-04-26
  • 打赏
  • 举报
回复
是不是需要把设计期间的数据保存起来?
一点点凋落 2003-04-26
  • 打赏
  • 举报
回复
就是panel拖动时候,里面的EDIT和BUTTON也跟着动。
上面的代码在设计期是对的,结果运行就还是老样子。
citytramper 2003-04-15
  • 打赏
  • 举报
回复
你要实现什么效果
qiuafa 2003-04-15
  • 打赏
  • 举报
回复
劫分&捧场
一点点凋落 2003-04-15
  • 打赏
  • 举报
回复
不行,能解释一下吗?
xiaocha 2003-04-15
  • 打赏
  • 举报
回复
procedure TDropTree.WMSize(var message: TWMSize);
begin
inherited;
FEdit.Width:=Width-20;
FButton.Left:=FEdit.Width;
FButton.Width:=20;
end;

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧