0

我只是想知道是否有人知道标题栏的坐标是什么。我需要绘制一个与标题栏大小相同的矩形,但我不知道标题栏本身的确切大小。

4

2 回答 2

1

你可能不会喜欢这个,因为它涉及到混乱的 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 中的开始。

于 2013-11-11T18:15:48.457 回答
1

从:

如何获取 Winforms 表单标题栏高度的大小?

矩形 screenRectangle=RectangleToScreen(this.ClientRectangle);

int titleHeight = screenRectangle.Top - this.Top;

这应该给你你需要的东西。

于 2013-11-11T18:18:15.857 回答