我可以使用GetClientRect和GetWindowRect Win32调用来获取窗口的整个区域以及客户端区域的坐标。但是问题在于,GetClientRect总是返回左上角的0,0坐标。如何确定实际的客户端区域相对于窗口矩形的位置?
您可以使用 ClientToScreen 函数获取屏幕坐标系中左上角 (0,0) 点的坐标。通过 GetClientRect 返回的 RECT 结构体可获取右下角的坐标(只需将 ClientToScreen 返回的 POINT 结构体加上即可)。
你也可以使用MapWindowPoints函数一次性将整个RECT转换为屏幕坐标。
Control.RectangleToScreen
及其相似的方法Control.RectangleToClient
中找到。 - lmat - Reinstate Monica
Control.ClientRectangle
和Control.Bounds
。 - lmat - Reinstate Monica