DreamGUI
类参考

UDreamTextInput

A text field whose hierarchy is code, not an asset.

本页由 DreamGUIReferenceDocs commandlet 从反射生成,正文是头文件注释的原文(英文),所以不翻译——这样它永远和代码一致。概念讲解见核心概念。

Inherits from UDreamUIControl.

Declared in Public/Controls/DreamTextInput.h.

A text field whose hierarchy is code, not an asset.

The same four nodes both preset Blueprints carry -- a background, a placeholder, and a clip area holding the text -- and one property, bMultiLine, where the presets are two assets. The clip area is not decoration: a field's text is regularly wider than the field, and without a clip the overflow draws over whatever is beside it.

UUITextInput does everything hard (caret, selection, IME, key routing); this class builds the geometry it works in and hands it the parts.

Properties

NameTypeCategoryIn the details panelFrom BlueprintDescription
StyleFDreamTextInputStyleText InputyesGetStyle / SetStyleThis instance's own look. The project sheet wins while StyleSource says so AND a sheet actually exists; with no sheet in the project this IS the look in effect -- which is why it stays editable instead of being gated on the enum: the old edit condition greyed the exact values that were driving the control.
TextFStringText InputyesGetText / SetTextAuthored text in; mirror of the field's out. A property so .dui and bindings can see it.
PlaceholderFTextText InputyesGetPlaceholder / SetPlaceholderShown while Text is empty and the field is not being edited.
bMultiLineboolText InputyesGetMultiLine / SetMultiLineOne property where the presets are two assets.
InputTypeEUITextInputTypeText InputyesGetInputType / SetInputTypeWhich characters the field accepts. Standard accepts anything.
CustomValidationTObjectPtr<UDreamTextInputCustomValidation>Text InputyesGetCustomValidation / SetCustomValidationOnly consulted when InputType is Custom.
DisplayTypeEUITextInputDisplayTypeText InputyesGetDisplayType / SetDisplayTypePassword draws every character as PasswordChar; it does not change what the field accepts.
PasswordCharFStringText InputyesGetPasswordChar / SetPasswordCharThe character a password field draws. One character; anything longer keeps its first.
bReadOnlyboolText InputyesGetIsReadOnly / SetIsReadOnlySelectable and copyable, not editable. UMG's IsReadOnly.
MaxLengthint32Text InputyesGetMaxLength / SetMaxLengthLongest text the field will hold. 0 means no limit.
IgnoreKeysTArray<FKey>Text InputyesGetIgnoreKeys / SetIgnoreKeysKeys the field must not swallow while it is edited -- the arrows, say, where the pad's arrows should leave the field. Tab needs no entry: it ends the edit and moves on by itself (see bTabTypesTabCharacter).
MultiLineSubmitFunctionKeysTArray<FKey>Text InputyesGetMultiLineSubmitFunctionKeys / SetMultiLineSubmitFunctionKeysIn multiline mode, Enter with one of these held submits instead of adding a line.
bTabTypesTabCharacterboolText InputyesGetTabTypesTabCharacter / SetTabTypesTabCharacterIn multiline mode, Tab types a tab character and Ctrl+Tab leaves the field -- a notes or code box. Off, the default, Tab leaves as it does a single-line field: the edit ends and the next control takes the focus, as a browser's textarea does. See UUITextInput::bTabTypesTabCharacter.
bSelectAllWhenActivateInputboolText InputyesGetSelectAllWhenActivateInput / SetSelectAllWhenActivateInputSelect the whole value when the field starts being edited. UMG's SelectAllTextWhenFocused.
bAutoActivateInputWhenNavigateInboolText InputyesGetAutoActivateInputWhenNavigateIn / SetAutoActivateInputWhenNavigateInStart editing as soon as the arrows or the pad land on the field. Tab starts it anyway while UDreamGUISettings::bTabStartsTextEdit.
bSubmitWhenDeactivateboolText InputyesGetSubmitWhenDeactivate / SetSubmitWhenDeactivateCommit the value when the edit ends without an Enter -- clicking away, navigating away.
bAllowContextMenuboolText InputyesGetAllowContextMenu / SetAllowContextMenuThe edit menu on right click / long press / the pad's Menu button. UMG's AllowContextMenu.
bRevertTextOnEscapeboolText InputyesGetRevertTextOnEscape / SetRevertTextOnEscapeEscape / Back throws the edit away instead of keeping it -- UMG's RevertTextOnEscape. The text the edit began with is put back (OnTextChanged fires for it) and then committed once -- OnTextCommitted and OnSubmitted carry the restored text, as UMG commits a revert -- and the edit ends. An edit that changed nothing reverts and commits nothing. Off, as UMG's is and as this field behaved before the knob existed.
bClearKeyboardFocusOnCommitboolText InputyesGetClearKeyboardFocusOnCommit / SetClearKeyboardFocusOnCommitStop editing once Enter commits -- UMG's ClearKeyboardFocusOnCommit.
bSelectAllTextOnCommitboolText InputyesGetSelectAllTextOnCommit / SetSelectAllTextOnCommitSelect the value after a commit that kept the edit going -- UMG's SelectAllTextOnCommit.
bIsCaretMovedWhenGainFocusboolText InputyesGetIsCaretMovedWhenGainFocus / SetIsCaretMovedWhenGainFocusWhether gaining the edit moves the caret to the end -- UMG's IsCaretMovedWhenGainFocus.
JustificationEDreamUITextParagraphHorizontalAlignText InputyesGetJustification / SetJustificationHow the typed text sits across the field -- UMG's Justification.
MinimumDesiredWidthfloatText InputyesGetMinimumDesiredWidth / SetMinimumDesiredWidthA floor under the width the control asks a content-sized parent for -- UMG's MinimumDesiredWidth. Zero means no opinion, which is every field that exists today.
TextFlowDirectionEDreamTextFlowDirectionText InputyesGetTextFlowDirection / SetTextFlowDirectionWhich way the paragraph reads -- the half of UMG's ShapedTextOptions that means anything here.
LanguageFStringText InputyesGetLanguage / SetLanguageThe language the field is typed in, as a culture name ("ja", "zh-Hans"); empty is the game's. Picks the font's fallbacks meant for it and the forms a script draws per language -- see UDreamText::Language. Like the flow direction, it is the whole field's: the placeholder and the error message read it too.
TabSizefloatText InputyesGetTabSize / SetTabSizeTab stops in spaces, from the line's start edge -- CSS tab-size, 8 as browsers have it.
TextJustifyEDreamTextJustifyText InputyesGetTextJustify / SetTextJustifyWhere a justified line gets its extra room. Read only with Justification Justify.
LastLineAlignEDreamTextLastLineAlignText InputyesGetLastLineAlign / SetLastLineAlignHow a justified paragraph's last line, and a line a newline ends, align. Read only with Justification Justify.
SmallTextRasterEDreamTextSmallTextRasterText InputyesGetSmallTextRaster / SetSmallTextRasterOff keeps the field's text on its font's distance field at every size; see UDreamText::SmallTextRaster.
OverflowPolicyETextOverflowPolicyText InputyesGetTextOverflowPolicy / SetTextOverflowPolicyWhat a value too long for the box does WHILE NOBODY IS EDITING IT -- UMG's OverflowPolicy.
KeyboardTypeTEnumAsByte<EVirtualKeyboardType::Type>Text InputyesGetKeyboardType / SetKeyboardTypeWhich virtual keyboard a mobile platform summons. Default derives it from InputType.
VirtualKeyboardOptionsFVirtualKeyboardOptionsText Inputyes-Platform options for that keyboard -- autocorrect and whatever the platform adds later.
VirtualKeyboardTriggerEVirtualKeyboardTriggerText InputyesGetVirtualKeyboardTrigger / SetVirtualKeyboardTriggerWhich activations raise it. OnAllFocusEvents keeps what the field did.
VirtualKeyboardDismissActionEVirtualKeyboardDismissActionText InputyesGetVirtualKeyboardDismissAction / SetVirtualKeyboardDismissActionWhat dismissing it means. TextCommitOnDismiss keeps what the field did.
BackgroundNodeTObjectPtr<UDreamWidget>Text Input-read only
PlaceholderNodeTObjectPtr<UDreamWidget>Text Input-read only
ClipNodeTObjectPtr<UDreamWidget>Text Input-read only
TextNodeTObjectPtr<UDreamWidget>Text Input-read only
ErrorNodeTObjectPtr<UDreamWidget>Text Input-read onlyThe error message's paragraph. An OPTIONAL part: every template authored for this control before the error state existed has no node by that name, and a control that reported those as missing would turn an addition into a warning on every existing asset.
ErrorTextFTextText Input-read onlyThe message in effect, empty when there is none.
InputBehaviourTObjectPtr<UUITextInput>Text Input-read only

Functions

FunctionKindDescription
void ClearError()callableClear Error
bool GetAllowContextMenu()pureGet Allow Context Menu
bool GetAutoActivateInputWhenNavigateIn()pureGet Auto Activate Input when Navigate In
bool GetClearKeyboardFocusOnCommit()pureGet Clear Keyboard Focus on Commit
UDreamTextInputCustomValidation* GetCustomValidation()pureGet Custom Validation
EUITextInputDisplayType GetDisplayType()pureGet Display Type
FText GetError()pureThe error state, which UMG's text box has had since it existed and this one had not.
UDreamUIFontData_BaseObject* GetFont()pureThe typeface this field draws with -- UMG's GetFont/SetFont, minus the two things FSlateFontInfo packs in beside it: the size is Style.FontSize and the outline is in the text style.
UMaterialInterface* GetFontMaterial()pureThe material the glyphs are drawn with -- UMG's SetFontMaterial, with one difference worth knowing: it is ONE material for the whole paragraph rather than one for the font face, because that is what the text renderer takes.
FText GetHintText()pureUMG's HintText, which is this control's Placeholder under the name a UMG reader looks for. Forwards; there is one string and one writer, so the two spellings cannot drift apart.
TArray<FKey> GetIgnoreKeys()pureGet Ignore Keys
EUITextInputType GetInputType()pureThe behaviour's knobs, with setters that REACH it.
bool GetIsCaretMovedWhenGainFocus()pureGet Is Caret Moved when Gain Focus
bool GetIsPassword()pureUMG's IsPassword, which here is DisplayType's two answers under the name UMG gives them.
bool GetIsReadOnly()pureGet Is Read Only
EDreamUITextParagraphHorizontalAlign GetJustification()pureGet Justification
TEnumAsByte<EVirtualKeyboardType::Type> GetKeyboardType()pureGet Keyboard Type
FString GetLanguage()pureGet Language
EDreamTextLastLineAlign GetLastLineAlign()pureGet Last Line Align
int32 GetMaxLength()pureGet Max Length
float GetMinimumDesiredWidth()pureGet Minimum Desired Width
bool GetMultiLine()pureGet Multi Line
TArray<FKey> GetMultiLineSubmitFunctionKeys()pureGet Multi Line Submit Function Keys
FString GetPasswordChar()pureGet Password Char
FText GetPlaceholder()pureGet Placeholder
bool GetRevertTextOnEscape()pureGet Revert Text on Escape
bool GetSelectAllTextOnCommit()pureGet Select All Text on Commit
bool GetSelectAllWhenActivateInput()pureGet Select All when Activate Input
EDreamTextSmallTextRaster GetSmallTextRaster()pureGet Small Text Raster
FDreamTextInputStyle GetStyle()pureGet Style
bool GetSubmitWhenDeactivate()pureGet Submit when Deactivate
float GetTabSize()pureGet Tab Size
bool GetTabTypesTabCharacter()pureGet Tab Types Tab Character
FString GetText()pureGet Text
EDreamTextFlowDirection GetTextFlowDirection()pureGet Text Flow Direction
EDreamTextJustify GetTextJustify()pureGet Text Justify
ETextOverflowPolicy GetTextOverflowPolicy()pureGet Text Overflow Policy
EVirtualKeyboardDismissAction GetVirtualKeyboardDismissAction()pureGet Virtual Keyboard Dismiss Action
EVirtualKeyboardTrigger GetVirtualKeyboardTrigger()pureGet Virtual Keyboard Trigger
bool HasError()pureHas Error
bool IsAnyTextSelected()pureWhether the field has anything selected right now -- UMG's IsAnyTextSelected.
void SelectAllText()callableSelect the whole value, the way UMG's SelectAllText does.
void SetAllowContextMenu(bool bInAllowContextMenu)callableSet Allow Context Menu
void SetAutoActivateInputWhenNavigateIn(bool bInAutoActivate)callableSet Auto Activate Input when Navigate In
void SetClearKeyboardFocusOnCommit(bool bInClearKeyboardFocusOnCommit)callableSet Clear Keyboard Focus on Commit
void SetCustomValidation(UDreamTextInputCustomValidation* InCustomValidation)callableSet Custom Validation
void SetDisplayType(EUITextInputDisplayType InDisplayType)callableSet Display Type
void SetError(FText InError)callableShow a message. An empty one is a clear, the way UMG's SetError behaves.
void SetFont(UDreamUIFontData_BaseObject* InFont)callableSet Font
void SetFontMaterial(UMaterialInterface* InMaterial)callableSet Font Material
void SetHintText(FText InHintText)callableSet Hint Text
void SetIgnoreKeys(TArray<FKey> InIgnoreKeys)callableSet Ignore Keys
void SetInputType(EUITextInputType InInputType)callableWhich characters are accepted. Re-runs the rules over the text already in the field.
void SetIsCaretMovedWhenGainFocus(bool bInIsCaretMovedWhenGainFocus)callableSet Is Caret Moved when Gain Focus
void SetIsPassword(bool bInIsPassword)callableSet Is Password
void SetIsReadOnly(bool bInReadOnly)callableSelectable, not editable. A field being typed into when this goes on stops being edited.
void SetJustification(EDreamUITextParagraphHorizontalAlign InJustification)callablePushed onto the typed text AND the placeholder: a hint belongs where typing will appear.
void SetKeyboardType(TEnumAsByte<EVirtualKeyboardType::Type> InKeyboardType)callableSet Keyboard Type
void SetLanguage(FString InLanguage)callableOnto every paragraph of the field, as the flow direction is.
void SetLastLineAlign(EDreamTextLastLineAlign InLastLineAlign)callableSet Last Line Align
void SetMaxLength(int32 InMaxLength)callable0 means no limit. Shortening it truncates what the field already holds.
void SetMinDesiredWidth(float InMinDesiredWidth)callableSet Min Desired Width
void SetMinimumDesiredWidth(float InMinimumDesiredWidth)callableUMG names the setter SetMinDesiredWidth; both spellings are here, one implementation.
void SetMultiLine(bool bInMultiLine)callableSingle- or multi-line, re-pushed at once. A whole style push rather than one flag on the behaviour: the line count decides the field's height and what its clip has to allow, both of which are written there.
void SetMultiLineSubmitFunctionKeys(TArray<FKey> InKeys)callableSet Multi Line Submit Function Keys
void SetPasswordChar(FString InPasswordChar)callableSet Password Char
void SetPlaceholder(FText InPlaceholder)callableThe greyed words shown while the field is empty, re-pushed at once.
void SetRevertTextOnEscape(bool bInRevertTextOnEscape)callableSet Revert Text on Escape
void SetSelectAllTextOnCommit(bool bInSelectAllTextOnCommit)callableSet Select All Text on Commit
void SetSelectAllWhenActivateInput(bool bInSelectAll)callableSet Select All when Activate Input
void SetSmallTextRaster(EDreamTextSmallTextRaster InSmallTextRaster)callableSet Small Text Raster
void SetStyle(FDreamTextInputStyle InStyle)callableThe whole look at once, re-pushed. The style struct is one decision, so it moves as one.
void SetSubmitWhenDeactivate(bool bInSubmitWhenDeactivate)callableSet Submit when Deactivate
void SetTabSize(float InTabSize)callableSet Tab Size
void SetTabTypesTabCharacter(bool bInTabTypesTabCharacter)callableSet Tab Types Tab Character
void SetText(FString InText)callableSet Text
void SetTextFlowDirection(EDreamTextFlowDirection InFlowDirection)callableSet Text Flow Direction
void SetTextJustify(EDreamTextJustify InTextJustify)callableSet Text Justify
void SetTextOverflowPolicy(ETextOverflowPolicy InOverflowPolicy)callableForwards to the behaviour, which owns the one field on the paragraph this shares with the line mode.
void SetVirtualKeyboardDismissAction(EVirtualKeyboardDismissAction InDismissAction)callableSet Virtual Keyboard Dismiss Action
void SetVirtualKeyboardTrigger(EVirtualKeyboardTrigger InTrigger)callableSet Virtual Keyboard Trigger

Events

EventSignatureDescription
OnTextChangedvoid DreamTextInputChangedEvent__DelegateSignature(FString Text)Re-broadcast from the behaviour, so a consumer binds to the control, not to a part of it.
OnValueChangedBPvoid DreamTextInputChangedEvent__DelegateSignature(FString Text)The <-> convention: two-way bindings synthesize their reverse route against this exact name, so a value control carries it alongside its spoken events. Fires with them.
OnSubmittedvoid DreamTextInputChangedEvent__DelegateSignature(FString Text)The Enter key (or the multiline submit chord). The compatibility spelling of OnTextCommitted: both fire from the same moment with the same string. New code speaks OnTextCommitted.
OnTextCommittedvoid DreamTextInputChangedEvent__DelegateSignature(FString Text)UMG's spelling of the same moment (its editable text pairs OnTextChanged with OnTextCommitted). Carries just the string -- UMG's commit-method enum describes Slate input routing this control does not have, and a fake one would be a lie in the signature.

Compared with UMG

Every Blueprint-facing member of the UMG class, and where it went. adopt: same name, same meaning. map: here under another name or on another type. reject: deliberately absent, with the reason.

UMGMemberStatusHereNote
UEditableTextBoxTextmapTextFString, not FText: the field edits a plain string and every road in and out of UUITextInput speaks one. Existing .dui authors it as a string.
UEditableTextBoxWidgetStylemapStyleFDreamTextInputStyle. Same role as FEditableTextBoxStyle, different shape: colours per state plus caret/selection/error, no Slate brushes.
UEditableTextBoxHintTextmapPlaceholderGetHintText/SetHintText forward to it, so the UMG spelling reaches the same one string.
UEditableTextBoxIsReadOnlymapbReadOnlyb-prefixed as every bool in this library is. Get/SetIsReadOnly carry the UMG spelling; the setter ends a live edit.
UEditableTextBoxIsPasswordmapDisplayTypeA two-valued enum here (Standard/Password) because the same field also carries PasswordChar. Get/SetIsPassword are the boolean spelling over it.
UEditableTextBoxMinimumDesiredWidthadoptMinimumDesiredWidthA floor under the control's own width and under what the paragraph asks a content-sized parent for. 0 = no opinion, which is every existing field.
UEditableTextBoxIsCaretMovedWhenGainFocusmapbIsCaretMovedWhenGainFocusPushed to UUITextInput::bIsCaretMovedWhenGainFocus; only the activation nobody named a position for reads it.
UEditableTextBoxSelectAllTextWhenFocusedmapbSelectAllWhenActivateInputThe library's existing spelling of the same moment (an edit begins). Kept because .dui already authors it.
UEditableTextBoxRevertTextOnEscapemapbRevertTextOnEscapeRead by UUITextInput::CancelInput, which is the road Back takes. Like UMG's RestoreOriginalText, the revert is committed once with the restored text (OnTextCommitted; the commit method is not exposed here). Two differences: the restore also fires OnTextChanged, because the <-> reverse route rides OnValueChangedBP and a silent restore would leave bound models holding the abandoned edit; and the edit ends, because Escape is Back here. Off by default, as UMG's is and as the field behaved before.
UEditableTextBoxClearKeyboardFocusOnCommitmapbClearKeyboardFocusOnCommitDefault TRUE where UMG's is false: Enter has always ended the edit here, and a default that changed existing screens is not a default.
UEditableTextBoxSelectAllTextOnCommitmapbSelectAllTextOnCommitOnly acts when the commit kept the edit going; selecting a field nobody is editing shows a highlight with no caret.
UEditableTextBoxAllowContextMenumapbAllowContextMenuAlready existed; now carries a setter that closes a menu already open.
UEditableTextBoxKeyboardTypeadoptKeyboardTypeSame TEnumAsByte<EVirtualKeyboardType::Type>. Default means 'derive it from InputType', which is what the field always did; any other value states it outright.
UEditableTextBoxVirtualKeyboardOptionsadoptVirtualKeyboardOptionsNo Blueprint accessor: FVirtualKeyboardOptions has no BlueprintType, exactly as in UMG. Registered in _BlueprintWritableExceptions.json.
UEditableTextBoxVirtualKeyboardTriggeradoptVirtualKeyboardTriggerDefault OnAllFocusEvents where UMG's is OnFocusByPointer: every activation used to raise the keyboard, and a pad user has no other way to type.
UEditableTextBoxVirtualKeyboardDismissActionadoptVirtualKeyboardDismissActionDefault TextCommitOnDismiss, which is what the field did: Done submitted and so did cancelling out.
UEditableTextBoxJustificationadoptJustificationEDreamUITextParagraphHorizontalAlign rather than ETextJustify -- the library's one paragraph-alignment enum, same three answers. The placeholder follows it.
UEditableTextBoxOverflowPolicymapOverflowPolicyETextOverflowPolicy, UMG's own enum, but it only speaks WHILE NOBODY IS EDITING. On an editable field the paragraph's EDreamUITextOverflowType is the line-mode switch itself (the wrap and the caret's visible window both read it), so the line mode owns it during an edit and the policy owns it in between. Clip is the default and is what every field does today.
UEditableTextBoxShapedTextOptionsmapTextFlowDirectionThe half that means something here: EDreamTextFlowDirection is UMG's TextFlowDirection, pushed onto the value, the hint AND the error message. UMG's other half, TextShapingMethod, has no home on a widget -- whether the shaper runs at all is decided when the plugin is compiled (WITH_HARFBUZZ), not per control.
UEditableTextBoxOnTextChangedmapOnTextChangedSame name and moment; carries FString rather than FText, like the Text property it reports.
UEditableTextBoxOnTextCommittedmapOnTextCommittedSame name and moment, without UMG's ETextCommit: that enum describes Slate input routing this control does not have, and a fake one would be a lie in the signature.
UEditableTextBoxGetTextmapGetTextReturns FString; see the Text property.
UEditableTextBoxSetTextmapSetTextTakes FString; see the Text property.
UEditableTextBoxSetHintTextadoptSetHintTextForwards to SetPlaceholder, which re-pushes the style because whether the hint is awake is decided against the field's emptiness.
UEditableTextBoxSetErroradoptSetErrorWrites the Error paragraph -- right-aligned over the field, asleep while there is no message, coloured by FDreamTextInputStyle::ErrorColor. An empty message is a clear, as UMG's is.
UEditableTextBoxSetIsReadOnlyadoptSetIsReadOnly
UEditableTextBoxSetIsPasswordadoptSetIsPasswordThe boolean spelling over DisplayType.
UEditableTextBoxClearErroradoptClearError
UEditableTextBoxHasErroradoptHasErrorAnswers from the message, so a template with no Error node still knows it has one.
UEditableTextBoxSetJustificationadoptSetJustificationPushes onto the typed text AND the placeholder.
UEditableTextBoxSetTextOverflowPolicyadoptSetTextOverflowPolicyForwards to UUITextInput::SetOverflowPolicy, which is the one writer of the paragraph's overflow and the only place that knows whether the line mode or the policy is speaking right now.
UEditableTextBoxSetForegroundColormapFDreamTextInputStyle::TextColorAppearance lives in the style struct, so the colour moves through SetStyle or the project sheet. A second setter writing the inline struct would be silently inert whenever StyleSource is the sheet.
UEditableTextBoxFontFacesLoadingPaintPolicyrejectSlate's font cache loads typeface faces asynchronously and this policy says what to paint meanwhile. This library renders from its own font data assets (SDF atlas or FreeType render), which have no async face load to paint around.
UEditableTextBoxOnAllFontFacesFinishLoadingrejectSame reason as FontFacesLoadingPaintPolicy: there is no asynchronous face load to finish.
UMultiLineEditableTextBoxTextmapTextThe multi-line boxed field is UDreamTextInput with bMultiLine ticked -- one axis of UMG's four classes is a property here. FString; see EditableTextBox.json.
UMultiLineEditableTextBoxHintTextmapPlaceholder
UMultiLineEditableTextBoxWidgetStylemapStyleOne FDreamTextInputStyle for both line modes; the line count changes the field's height, not its look.
UMultiLineEditableTextBoxbIsReadOnlymapbReadOnly
UMultiLineEditableTextBoxAllowContextMenumapbAllowContextMenu
UMultiLineEditableTextBoxVirtualKeyboardOptionsadoptVirtualKeyboardOptionsNo Blueprint accessor; FVirtualKeyboardOptions has no BlueprintType, exactly as in UMG.
UMultiLineEditableTextBoxVirtualKeyboardDismissActionadoptVirtualKeyboardDismissAction
UMultiLineEditableTextBoxOnTextChangedmapOnTextChangedCarries FString.
UMultiLineEditableTextBoxOnTextCommittedmapOnTextCommittedIn multi-line mode the commit moment is Enter with one of MultiLineSubmitFunctionKeys held, which is the library's answer to 'Enter makes a line, so what submits'.
UMultiLineEditableTextBoxGetTextmapGetTextReturns FString.
UMultiLineEditableTextBoxSetTextmapSetTextTakes FString.
UMultiLineEditableTextBoxGetHintTextadoptGetHintText
UMultiLineEditableTextBoxSetHintTextadoptSetHintText
UMultiLineEditableTextBoxSetErroradoptSetError
UMultiLineEditableTextBoxSetIsReadOnlyadoptSetIsReadOnly
UMultiLineEditableTextBoxSetTextStylemapSetStyleUMG's FTextBlockStyle half of the box's look. Colour and size are FDreamTextInputStyle's; the outline/shadow/glow half is UDreamText::TextStyle (FDreamTextStyle) and the control does not forward it yet -- see EditableText.json GetFont for where the typeface and the effects each live.
UMultiLineEditableTextBoxSetForegroundColormapFDreamTextInputStyle::TextColorAppearance lives in the style struct; it moves through SetStyle or the project sheet.

本页目录