程序需要动态的获取Form想对于屏幕的Left、Top等位置
利用Form.Left得不到,该怎么获取呢?
利用Form.Left得不到,该怎么获取呢?
解决方案 »
- 在窗体上画一个黑白相间的圆(貌似足球平面图)
- 简单源码:热血江湖游戏双开delphi源码
- DirectoryListBox目录选择问题
- 数据库恢复后为何应用程序不能用了,需要重新启动才能用?
- 开第二贴,帮一帮各位,关于打印对话框
- Animate控件的大小
- fastreport打印dbgrid,有没有好的方法??
- delphi 编译生成的文件360杀毒直接认为病毒
- 为什么ado以及很多控件无缘无故不见了?
- TClientDataSet的问题!
- 中国的ISP服务真差,尤其是Lycos,光收钱不做事!!!搞WebSnap开发的人一定要来看看,引以为戒。可怜,我花了一个月开发的Web 应用程序
- 文件操作
而通过ShowModal调用的窗体则无法动态的获得其Left属性,即使挪动窗体,读出来的Left值仍然没有变化,不知道为什么?可不可以通过API函数获取窗体的Left、TOP值,怎么获取?
rect: TRect;
begin
GetWindowRect(Form1.Handle, rect);
ShowMessage(IntToStr(rect.Left) + ',' + IntToStr(rect.Top));
end;
不过这个方法和直接读取Form.Left属性的结果是一样的,对于用ShowModal调用的窗体,不好用,不知道为什么?
我ShowModal的窗体Left,Top当移动时都变化了
我是这么做的:Form1中添加一个Button,其响应如下:procedure TForm1.Button1Click(Sender: TObject);
var Form2 : TForm2;
begin
Form2 := TForm2.Create(Application);
Form2.ShowModal;
end;这样弹出Form2,结果在Form2中就只能得到最初的设定时的Left和Top,即使移动了Form2,也获取不到改变后的值。
然而在Form1中却可以获得Form2移动后的Left和Top。真是郁闷。