我只是想知道是否有人知道标题栏的坐标是什么。我需要绘制一个与标题栏大小相同的矩形,但我不知道标题栏本身的确切大小。
2 回答
你可能不会喜欢这个,因为它涉及到混乱的 hwnds 但你应该能够使用旧的 win32 api 调用来做到这一点,特别是:
1)调用GetDesktopWindow找到父母的父母
GetDestopWindow http://msdn.microsoft.com/en-us/library/windows/desktop/ms633504(v=vs.85).aspx
2)然后使用GetWindow(导航到标题栏窗口) http://msdn.microsoft.com/en-us/library/windows/desktop/ms633515 (v=vs.85).aspx
3) 最后GetWindowRect 放在标题栏hwnd(句柄)上。 http://msdn.microsoft.com/en-us/library/windows/desktop/ms633519(v=vs.85).aspx
如果您要查找其标题栏大小的窗口是您可以控制的表单的一部分,则可以使用其 Handle 属性和步骤 #1 并使用表单作为您在步骤 #2 中的开始。
从:
矩形 screenRectangle=RectangleToScreen(this.ClientRectangle);
int titleHeight = screenRectangle.Top - this.Top;
这应该给你你需要的东西。