父窗体与子窗体问题

huhaomcu 2013-12-22 10:11:23
想让子窗体的位置限制在父窗体内(就是子窗体只能在其父窗体大小范围内移动),可不知怎么实现,我将子窗体的Parent属性设置为某父窗体后还是不行!!!
...全文
130 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
zbdzjx 2013-12-23
  • 打赏
  • 举报
回复
有点丑的效果:
unit Unit2;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm2 = class(TForm)
    Label1: TLabel;
  private
    { Private declarations }
  public
    { Public declarations }
    procedure WndProc(var message:TMessage);override;
  end;

var
  Form2: TForm2;

implementation

uses Unit1;

{$R *.dfm}

procedure TForm2.WndProc(var message: TMessage);
begin
  if message.Msg =WM_MOVE then
  begin
    Label1.Caption := IntToStr(self.Left);
    if self.Left< Form1.Left then
      self.Left := form1.Left;
    if Self.Top < form1.Top then
      self.Top := form1.Top;
    if self.Top > form1.Top + form1.Height - Form2.Height then
      self.Top := form1.Top + form1.Height - Form2.Height;
    if self.Left > form1.Left + form1.Width - form2.Width then
      self.Left := form1.Left + form1.Width - form2.Width;
  end;
  inherited WndProc(message);
end;

end.
stmal 2013-12-22
  • 打赏
  • 举报
回复
我是这样想的: 父窗体 与 子窗体 同时设置桌面居中 之后,子窗体限制矩形移动区域。 你说的 子窗体 是父窗体内的一个控件, 还是新建一个新的窗体啊????
huhaomcu 2013-12-22
  • 打赏
  • 举报
回复
我将子窗体的Parent属性设为父窗体后子窗体根本就不显示了,如果不设的话就能显示。原因是什么咧?????
JohnYale 2013-12-22
  • 打赏
  • 举报
回复
用MDI窗体吧 不过MDI窗体还有用的吗
stmal 2013-12-22
  • 打赏
  • 举报
回复
WinForm 子窗体在父窗体范围内移动,不能出父窗体 http://blog.csdn.net/huanshanv20008/article/details/5729362 你看这个,适用不?
huhaomcu 2013-12-22
  • 打赏
  • 举报
回复
引用 2 楼 stmal 的回复:
我是这样想的:

父窗体 与 子窗体 同时设置桌面居中

之后,子窗体限制矩形移动区域。


你说的 子窗体 是父窗体内的一个控件, 还是新建一个新的窗体啊????

还有一个问题,就是我将窗体的Parent属性设为某个窗体后,照理说这个子窗体显示后,它应该成为Active窗体,边框应该是Windows的激活态颜色,可它还是那种非激活态的颜色!见下图:
huhaomcu 2013-12-22
  • 打赏
  • 举报
回复
引用 2 楼 stmal 的回复:
我是这样想的: 父窗体 与 子窗体 同时设置桌面居中 之后,子窗体限制矩形移动区域。 你说的 子窗体 是父窗体内的一个控件, 还是新建一个新的窗体啊????
新建的一个窗体,你说的子窗体限制矩形移动区域要怎样去实现?

16,748

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 语言基础/算法/系统设计
社区管理员
  • 语言基础/算法/系统设计社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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