如何用delphi得到指定窗口的坐标 delphi 如果获得窗口坐标?

www.zhiqu.org     时间: 2024-06-02
GetClientRect

[编辑本段]函数功能
该函数获取窗口客户区的坐标。客户区坐标指定客户区的左上角和右下角。由于客户区坐标是相对子窗口客户区的左上角而言的,因此左上角坐标为(0,0)
[编辑本段]函数原型
在Win32 SDK, 该API函数原型为 BOOL GetClientRect( HWND hWnd, // 窗口句柄 LPRECT lpRect // 客户区坐标 ); 在MFC中,该函数的原型为void GetClientRect(LPRECT lpRect) const;
[编辑本段]参数
hWnd [输入]是程序窗口的句柄。 lpRect [输出]是一个指针,指向一个RECT类型的rectangle结构。该结构有四个LONG字段,分别为left、top、right和bottom。GetClientRect将这四个字段设定为窗口显示区域的尺寸。left和top字段通常设定为0。right和bottom字段设定为显示区域的宽度和高度(像素点数)。
[编辑本段]返回值
如果函数成功,返回一个非零值。 如果函数失败,返回零。要得到更多的错误信息,请使用GetLastError函数。

//edit1用来输入窗口标题

var
h :THandle;
r :TRect;
begin
h := FindWindow(nil,PChar(Edit1.Text));
if h <> 0 then
begin
GetWindowRect(h,r);
ShowMessage(IntToStr(r.Left));
ShowMessage(IntToStr(r.Top));
end;
end;

delphi怎么获取窗口的客户区顶点所在的实际坐标???~

你首先要获得这个按钮得句柄,根据句柄再来弄就可以了

你的意思是不是:只要鼠标动了,然后,窗体的坐标就是鼠标的坐标?也就是说,窗口跟着鼠标走?如果是那样的话,下面的这个程序就可以了……
procedure TForm1.Timer1Timer(Sender: TObject);
var
P: TPoint;
begin
GetCursorPos(P);
form1.Caption:= Format('X: %d, Y: %d',[P.X, P.Y]);
form1.left:=p.X;
form1.top:=p.Y;
form1.Show;
end;


#古侦卷# delphi获取该窗口上的'下一步'按钮的坐标
(18885833741): 你首先要获得这个按钮得句柄,根据句柄再来弄就可以了

#古侦卷# 用delphi怎么实现状态栏显示鼠标坐标在窗口中的位置? -
(18885833741): 呵呵,将获取鼠标坐标的代码放到FormMouseMove事件中就可以啦,你写到StatusBarMouseMove中,表示鼠标在状态栏上滑动的时候才执行这些代码,当然在窗口中没有反应啦.

#古侦卷# delphi 获得鼠标坐标 -
(18885833741): Image1.Top:=Mouse.CursorPos.y; Image1.Left:=Mouse.CursorPos.x;

#古侦卷# delphi 遍历桌面上图标,并且获得文字(图标标题)以及坐标 -
(18885833741): 对于应用程序图标都保存在 C:\Documents and Settings\%当前用户名%\桌面 C:\Documents and Settings\All Users\桌面 两个文件夹内,以快捷方式文件的形式存在,用遍历文件的方式就可以遍历这些图标. 对于系统图标,如:“我的文档”、...

#古侦卷# 如何让一个窗体定位在另一个窗体上指定的位置 delphi -
(18885833741): 用panel控件. 如:有两个窗体,form1、form2,且form2是主窗体.希望把 form2 放在form1的某个位置,你可以这样做:先在form1上放置一个panel,然后,在form1的OnShow事件中,添加如下代码:procedure TForm1.FormShow(Sender: TObject); begin with form2 do begin Parent:=panel1; Left:=0; Top:=0; Show; end; end; 运行一下,看看form2是不是跑到了panel1中?

#古侦卷# delphi 如何获得控件对于屏幕的坐标?在线等待.....
(18885833741): YourControl.ClientToScreen

#古侦卷# 怎样用delphi获取打开的windows资源管理器窗口中的地址 -
(18885833741): 有个函数 只不过不是用Windows的资源管理器 而是类似于普通程序打开/保存窗口一样的东西引用单元 FileCtrl函数原型 function SelectDirectory(const Caption: string; const Root: WideString; out Directory: string): Boolean; caption弹出的“资源管理器”的标题Root指定浏览的根目录out Directory返回所选目录例如var a:string;begin SelectDirectoy('请选择一个目录','',a);end;那么就会弹出一个标题为“请选择一个目录”的窗口 a就是用户选中的目录

#古侦卷# 用delphi怎么实现状态栏显示鼠标坐标在窗口中的位置? -
(18885833741): 当然在窗口中没有反应啦,表示鼠标在状态栏上滑动的时候才执行这些代码,将获取鼠标坐标的代码放到FormMouseMove事件中就可以啦,你写到StatusBarMouseMove中呵呵

#古侦卷# delphi 怎么在WebBrowser控件里获得光标的位置 -
(18885833741): 网上借鉴的,思路如下 WebBrowser没有mouseMove事件,但它还是由WinControl继承下来的,所以有窗体handle,自定义一个win消息捕获来自此handle的鼠标移动 use MSHTML; private { Private declarations } FLoaded: Boolean; procedure ...

#古侦卷# Delphi 鼠标怎么在窗体中移动
(18885833741): SetCursorPos(Left ,Top ); 把 left 和 top 加上 你的 XY 坐标 就等于 窗体的坐标了~