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,運行測試