0

Mozilla 开发人员的文档说:

视窗

插件接收到 WM_PAINT 消息。WM_PAINT 的 lParam 参数包含一个指向 RECT 结构的指针,该结构指定更新区域的边界框。不过,有些插件会选择忽略此绘制矩形并始终更新整个插件窗口。另外,由于插件和浏览器共享同一个HDC,插件必须在HDC上保存当前设置,设置自己的环境,绘制自己,将HDC恢复到之前的设置。每当控件返回浏览器时,必须恢复 HDC 设置,无论是在从 NPP_HandleEvent 返回之前还是在调用与绘图相关的浏览器端方法之前。

这一定是一个客户RECT?

RECT r;
GetClientRect(PluginWnd->getHWND(), &r);
NPP_HandleEvent(WM_PAINT, 0, (uint32)&r);

还是窗口的 RECT?

RECT r;
GetWindowRect(PluginWnd->getHWND(), &r);
NPP_HandleEvent(WM_PAINT, 0, (uint32)&r);
4

0 回答 0