控件大小自由拖放,这样的功能如何实现?

baifeng 2001-11-17 06:45:39
就像是在设计期时,在FORM上放上一个MEMO控件,
可以用MOUSE自由拖放MEMO大小及其位置???
...全文
92 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
Miracle 2001-11-18
  • 打赏
  • 举报
回复
自己派生一个TCustomButton的Button类,处理WM_NCHITTEST消息
taxi 2001-11-18
  • 打赏
  • 举报
回复
TMyButton = class (TButton)
public
....
procedure WMNcHitTest(var Msg: TWMNcHitTest); message WM_NcHitTest;



......
......
procedure TMyButton.WMNcHitTest(var Msg: TWMNcHitTest);
var
Pt: TPoint;
begin
Pt := Point(Msg.XPos, Msg.YPos);
Pt := ScreenToClient(Pt);
if (Pt.x < 5 ) and (Pt.y < 5) then
Msg.Result := htTopLeft
else if (Pt.x > Width - 5) and (Pt.y < 5) and
Msg.Result ;= htTopRight
else if (Pt.x > Width - 5) and (Pt.y > Height - 5) then
Msg.Result := htBottomRight
else if (Pt.x <5) and (Pt.y > height - 5) then
Msg.Result := htBottomLeft
else if (Pt.x < 5) then
Msg.Result := htLeft
else if (Pt.y < 5) then
Msg.Result := htTop
else if (Pt.x > Width - 5) then
Msg.Result := htRight
else if (Pt.y > Height - 5) then
Msg.Result := htBottom
else
inherited;
end;
riseifuku 2001-11-18
  • 打赏
  • 举报
回复
在开发稳当里找找
baifeng 2001-11-18
  • 打赏
  • 举报
回复
up !
baifeng 2001-11-17
  • 打赏
  • 举报
回复
g z
baifeng 2001-11-17
  • 打赏
  • 举报
回复
to xp2001:能不能说具体点?
baifeng 2001-11-17
  • 打赏
  • 举报
回复
u p
xp2001 2001-11-17
  • 打赏
  • 举报
回复
控件有自己的拖动事件,在其中输入改变控件的width及height属性的代码即可,要改变其位置则修改top及left属性。
baifeng 2001-11-17
  • 打赏
  • 举报
回复
g z

5,931

社区成员

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

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