UE4笔记---创建提示信息 CreateToolTipWidget

来源:互联网 发布:天谕白帝捏脸数据 编辑:程序博客网 时间:2024/06/11 13:16


UE4笔记---创建提示信息 CreateToolTipWidget


详细代码来自于UE AssetViewWidgets.cpp 文件
TSharedRef<SWidget> SAssetViewItem::CreateToolTipWidget() const


void UVRSTopmostWindow::ShowWindowToolTip(){HideWindow();TArray<FVRSToolTipTagItem> CachedToolTipTags;CachedToolTipTags.Add(FVRSToolTipTagItem(FText::FromString(TEXT("颜色 : ")), FText::FromString(TEXT("黑色")), false));CachedToolTipTags.Add(FVRSToolTipTagItem(FText::FromString(TEXT("颜色 : ")), FText::FromString(TEXT("白色--家具")), false));CachedToolTipTags.Add(FVRSToolTipTagItem(FText::FromString(TEXT("颜色 : ")), FText::FromString(TEXT("红色")), false));CachedToolTipTags.Add(FVRSToolTipTagItem(FText::FromString(TEXT("颜色 : ")), FText::FromString(TEXT("红色")), false));CachedToolTipTags.Add(FVRSToolTipTagItem(FText::FromString(TEXT("颜色 : ")), FText::FromString(TEXT("红色")), false));CachedToolTipTags.Add(FVRSToolTipTagItem(FText::FromString(TEXT("颜色 : ")), FText::FromString(TEXT("红色")), false));CachedToolTipTags.Add(FVRSToolTipTagItem(FText::FromString(TEXT("颜色 : ")), FText::FromString(TEXT("红色")), false));CachedToolTipTags.Add(FVRSToolTipTagItem(FText::FromString(TEXT("颜色 : ")), FText::FromString(TEXT("红色")), false));SAssignNew(TopmostWindow, SWindow).Type(EWindowType::ToolTip).IsPopupWindow(true).IsTopmostWindow(true).SizingRule(ESizingRule::Autosized).SupportsTransparency(EWindowTransparency::PerWindow).FocusWhenFirstShown(false).ActivateWhenFirstShown(false);TopmostWindow->SetContent(SNew(SVRSAssetToolTip).NameText(FText::FromString(TEXT("欧式---家具"))).CachedToolTipTags(CachedToolTipTags));FSlateApplication::Get().AddWindow(TopmostWindow.ToSharedRef());FVector2D DesiredToolTipLocation = FSlateApplication::Get().GetCursorPos(); // 获取鼠标点击位置// Make sure the desired size is validTopmostWindow->SlatePrepass(FSlateApplication::Get().GetApplicationScale()*TopmostWindow->GetNativeWindow()->GetDPIScaleFactor());FSlateRect Anchor(DesiredToolTipLocation.X, DesiredToolTipLocation.Y, DesiredToolTipLocation.X, DesiredToolTipLocation.Y);DesiredToolTipLocation = FSlateApplication::Get().CalculatePopupWindowPosition(Anchor, TopmostWindow->GetDesiredSizeDesktopPixels());TopmostWindow->MoveWindowTo(DesiredToolTipLocation);TopmostWindow->ShowWindow();}


原创粉丝点击