UE4初学笔记:
UE4 复制文本到剪切板/从剪切板粘贴文本(Ctrl+C/Ctrl+V), 代码中有已经封装好的方法:
FPlatformMisc::ClipboardCopy(const TCHAR* Str);
FPlatformMisc::ClipboardPaste(class FString& Dest);
但是没有找到怎么直接在蓝图中使用,所以只好自己拿来封装一下。
在编辑器中新建C++方法蓝图
稍微改下名字叫 MyTextBlueprintFunctionLibrary
在.h文件中添加2个方法
UFUNCTION(BlueprintCallable, Category = "")
static void CopyMessageToClipboard(FString text);
UFUNCTION(BlueprintCallable, Category = "")
static FString PasteMessageFromClipboard();
.cpp中实现
void UMyTextBlueprintFunctionLibrary::CopyMessageToClipboard(FString text)
{
FPlatformMisc::ClipboardCopy(*text);
}
FString UMyTextBlueprintFunctionLibrary::PasteMessageFromClipboard()
{
FString ClipboardContent;
FPlatformMisc::ClipboardPaste(ClipboardContent);
return ClipboardContent;
}
保存,回到编辑器编译(Compile)项目
完成之后就可以在蓝图中使用自己写的函数啦。
测试一下:新建一个Widget控件,添加2个文本框 2个按钮用作Ctrl+C Ctrl+V,并为按钮添加事件,把其中一个文本框内容复制到另一个里面,来测试Ctrl+C/V有没有成功
创建关卡,在关卡蓝图中创建测试蓝图
ok,运行测试