问题标签 [getclientrect]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
779 浏览

delphi - 将图形添加到 TLabel 的问题

我正在尝试使用 Delphi 创建一个从 TLabel 继承的组件,并在 TLabel.Paint 上添加了一些自定义图形。我希望图形位于文本的左侧,所以我覆盖了 GetClientRect:

该解决方案有我想解决的主要问题:无法单击控件的“图形区域”,只能单击标签区域。如果标题为空字符串,则根本无法通过单击在设计器中选择组件。有任何想法吗?

0 投票
3 回答
895 浏览

winapi - 如何获得完整的客户权利?

根据 MSDN,GetClientRect 函数实际上只适用于确定客户端的宽度和高度,因为 left 和 top 始终为零。有没有办法获得完整的客户端坐标,包括左和上(在屏幕空间或窗口空间中)?

0 投票
1 回答
2732 浏览

mfc - MoveWindow 之后的 MFC GetClientRect/GetWindowRect

m_PICTURE_OD 是一个 IDC_STATIC,

myrect.bottom = 288; myrect.top = 0; myrect.left = 0; myrect.right = 480;

myrect.bottom = 508; myrect.top = 220; myrect.left = 802; myrect.right = 1282;

我想重新获得 myrect.left = 640, myrect.top = 96 ...

我能做些什么 ?

谢谢,

0 投票
1 回答
1175 浏览

c# - GetClientRect 的替代方案?

我正在监控 Vista 上处于窗口模式的 DirectX 应用程序。GetClientRect 报告正确的大小,直到应用程序最小化并恢复,然后它总是返回预览大小 (106x160)。

除了使用 GetClientRect WinAPI 之外,还有其他方法可以查询客户区的窗口吗?也许向窗口发送消息,或者检查 Windows 对窗口客户区的了解?

任何帮助将不胜感激,如果您可以使用 C# 或 .NET,那将是一个奖励,但任何其他语言都可以

0 投票
1 回答
405 浏览

javascript - Android WebView 是否支持 getClientRects?还是有错误?

我发现 Javascript 方法 getClientRects 总是只产生一个只有 1 个元素的数组,例如,即使它被多行 p 调用也是如此。我希望显示 p 的行数与显示的行数一样多,因为它比单行长。Android WebView 是否支持此方法或存在错误?

0 投票
1 回答
4238 浏览

c# - 调用 GetClientRect winAPI

我在尝试调用 GetClientRect 并传入一个 Stuct 以填充返回的值时遇到问题。这是我的代码。

我不断收到 RECT 上的错误消息,即错误 1 ​​嵌入式语句不能是声明或标记语句。

我只需要帮助从 GetClientRect 取回左上右下角的值

0 投票
0 回答
2046 浏览

mfc - 如何获取基于 CView 的客户区的大小?

我有一个 MFC MDI 应用程序。为了在视图中放置一些控件(MyView 派生自 CView),我需要知道视图客户区的大小。我将在控件的 Create 函数中使用基于客户区大小的尺寸。

当我使用 MyView.GetClientRect() 时,我得到 1154 x 466。但实际客户端大小(以像素为单位)为 1410 x 725,使用 Spy++ 和在屏幕截图上绘制。

如何获取客户区的像素大小?

C++、Visual Studio 2010、64 位 Windows 7 专业版

0 投票
0 回答
213 浏览

mfc - COleControl GetClientRect 返回底部为 0 的区域

我有一个从 COleControl 派生的控件。加载此控件时,它调用 OnSize,在 OnSize 内,我通过调用 GetClientRect 并将控件移动到从 GetClientRect 获得的区域来获取 ClientRect 区域。

第一次初始化 GetClientRect 时返回右侧和底部的大小。但是下次发生引用时,GetClientRect会返回底部为0的区域。所以我无法查看控件。

有没有办法在referesh中获得正确的客户端矩形区域?

或者知道这个客户的矩形大小是如何确定的吗?

0 投票
2 回答
365 浏览

javascript - 如何从浏览器中的字体大小获取行高?

Range.getClientRects()方法返回ClientRect占用的列表,range当范围在具有文本的正常范围内时,这很有效。

ClientRect但是当 span 为空时它无法获取。(就像在第二个跨度中)

我尝试了以下方法,但是结果并不令人满意。

  • 将 span 的 display 属性设置为inline-block
  • 插入'\ufeff'跨度。在这种情况下,我可以得到ClientRect,但这会弄乱代码的其他部分。

如果我可以从 计算行高font-size,那将是最好的。有什么办法可以得到 px 中空跨度的行高吗?

注意:我不是想获得line-heightcss 属性。在这种情况下,line-height将是normal

0 投票
0 回答
1725 浏览

javascript - 当空锚在 HTML 段落中时,范围 getClientRects()、getBoundingClientRect() 错误

我发现了一个可能很奇怪的行为getClientRects() [getBoundingClientRect()]

看看这个 HTML 代码:

[注意a元素里面没有文字,我只测试了这种代码,不知道其他排列是否给出相同的'bug'。]

假设当用户选择 p 'estate' 中包含锚点的范围时,例如“word1 word2”,JS 函数存储开始/结束元素和偏移量。下次另一个函数创建一个具有这些边界的范围。但是如果getClientRects()在该范围内调用它会产生许多矩形而不是预期的两个矩形:数组的第一个和最后一个矩形确实是预期的,但是在它们之间,有许多矩形实际上覆盖了整个 p 元素。[range.getBoundingClientRect()也受到影响。]如何避免这种情况?