to :一生中最爱,请问SizeControl,如何获得他的坐标?left 和 top? (2分)

  • 主题发起人 主题发起人 cjg325
  • 开始时间 开始时间
C

cjg325

Unregistered / Unconfirmed
GUEST, unregistred user!
to :一生中最爱,请问SizeControl,如何获得他的坐标?left 和 top?
 
应该是关联控件的left,top
 
应该是关联控件的left,top
不对啊,当移动了关联控件。该控件的LEFT TOP 不会随着改变。
你试试看?
 
帮定控件失去焦点,再得到焦点就变了
var
SizeControl: TSizerControl;
procedure TForm1.Button1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);

begin
SizeControl := TSizerControl.Create(self, Button1);
button1.Caption:=inttostr(SizeControl.Left);
end;
 
怎样再得到他的焦点?
给个例子好吗?
 
我的信箱cjg325@sina.com谢谢了。
 
procedure TForm1.Button2Click(Sender: TObject);
begin
postmessage(button1.handle,WM_LBUTTONDOWN,MK_LBUTTON ,0);
end;
 
不行啊!还是不能得到更改以后的坐标!
怎样才能得到移动控件后的坐标?
 
有没有办法获得他的坐标?应该很简单的可是我不会:(
 
上面的语句postmessage后,button1.caption上就是其left,top类似,不一定放在caption
上,不一定在button2的click中post,可以在button1的parent的mousemove上。
我想你是拖动后马上得吧,若时的话,可以这样
procedure TSizerControl.WmMove(var Msg: TWmMove);
var
R: TRect;
begin
R := BoundsRect;
InflateRect( R, -2, -2);
FControl.Invalidate;
FControl.BoundsRect := R;
Tform(fcontrol.Parent).caption:=inttostr(Left);
end;
关键是最后一句,修改移动控件的代码fcontrol.hint也可,放在那都行
 
好象还是不行,我是在一个IMAGE 上绑定的,你试试看。
 
没问题,我发个可执行程序给你
procedure TForm1.Image1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
SizeControl := TSizerControl.Create(self, Image1);
end;
 
已发,拖图片,form的caption变。

是否你修改后控件单元的dcu时老的
 
我要接帖了 ,虽然分少了点,但是还是十分感谢你。
 
to :一生中最爱
又有问题了
不能在得到的坐标上面 StretchDraw
即使StretchDraw了在他移动的时候也将StretchDraw的内容擦掉了?
 
StretchDraw肯定不行,就是你没用这拖动控件也照样会把画的内容擦掉。
为什么需要StretchDraw,iamge本身不是有Stretch属性么。
若要擦步调,你可以画在另一个image上,visible:=false;画完后把图形assign过来,存成
bmp后load也行
 
后退
顶部