85人参与 • 2024-08-03 • ue4
var style = document.createelement('style');style.type = 'text/css';style.innerhtml = '::-webkit-scrollbar {width: 0px;height: 0px;}';document.getelementsbytagname('head')[0].appendchild(style);
//支持中文输入
itextinputmethodsystem* const textinputmethodsystem = fslateapplication::get().gettextinputmethodsystem();
webviewbrowserwidget->bindinputmethodsystem(textinputmethodsystem);
如果是用的ue自带的webbrowser插件那就创建一个继承自webbrowser类的子类,在子类的rebuildwidget函数修改
.h
#pragma once
#include "coreminimal.h"
#include "webbrowser.h"
#include "mywebbrowser.generated.h"
/**
*
*/
uclass()
class myproject_api umywebbrowser : public uwebbrowser
{
generated_body()
public:
virtual tsharedref<swidget> rebuildwidget() override;
};
.cpp
#include "mywebbrowser.h"
#include "swebbrowser.h"
tsharedref<swidget> umywebbrowser::rebuildwidget()
{
tsharedref<swidget> widget = super::rebuildwidget();
if (widget == webbrowserwidget)
{
//支持中文输入
itextinputmethodsystem* const textinputmethodsystem = fslateapplication::get().gettextinputmethodsystem();
webbrowserwidget->bindinputmethodsystem(textinputmethodsystem);
}
return widget;
}
virtual freply ontouchmoved(const fgeometry& mygeometry, const fpointerevent& intouchevent) override;
fvector2d clickpos;
clickpos = mouseevent.getscreenspaceposition();
fvector2d vec = mouseevent.getscreenspaceposition() - clickpos;
if (!(fmath::abs(vec.y) < 1))
{
return freply::handled();
}
freply fwebviewbrowserviewport::ontouchmoved(const fgeometry& mygeometry, const fpointerevent& intouchevent)
{
fvector2d vec = intouchevent.getcursordelta();
fstring str = fstring::printf(text("window.scrollby(0,%f);"), vec.y * -1);
webviewbrowserwindow->executejavascript(str);
return freply::handled();
}
您想发表意见!!点此发布评论
版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。
发表评论