c++ 获取滚动条位置wxWebView

xzlaal3s  于 2023-01-10  发布在  其他
关注(0)|答案(1)|浏览(95)

从wxWebView获取垂直滚动条的位置,因为wxWebView::GetScrollPos不起作用(它总是返回0)。

mm9b1k5b

mm9b1k5b1#

我整个晚上都在试图解决这个问题,但最终我找到了解决办法。既然这是一个痛苦,我就把它发表在这里,让后代知道该怎么做。
其思想是运行JavaScript代码,将滚动条位置获取到一个名为“output”的变量中,因为wxWidgets提供了获取JavaScript代码块输出的工具(与WebKitGTK不同)。

wxString output;
//Note that you can use the document.body.scrollLeft to get the horizontal scroll
wxString get_document_text_script = "document.body.scrollTop";
if(!webview->RunScript(get_document_text_script, &output))
{
    output = "0"; //Safeguard against errors or half-loaded pages
}

相关问题