如何在UEc++中绑定UEditableTextBox的OnTextCommitted代理
时间: 2024-02-24 13:53:12 浏览: 216
在UE4中,可以使用以下步骤将UEditableTextBox的OnTextCommitted代理绑定到UEc++中的函数:
1. 在UEc++中声明一个函数,它将作为OnTextCommitted的回调函数。例如:
```
UFUNCTION()
void OnTextBoxTextCommitted(const FText& Text, ETextCommit::Type CommitMethod);
```
2. 在UE4中,打开UEditableTextBox的属性编辑器。在事件选项卡中,可以找到OnTextCommitted事件。
3. 将OnTextCommitted事件拖动到您的UEc++类中,并选择您在第1步中声明的函数作为回调函数。
4. 在UEc++中,使用以下代码获取UEditableTextBox的指针,并将其绑定到OnTextCommitted事件:
```
UFUNCTION()
void BindOnTextCommittedEvent();
UEditableTextBox* MyTextBox;
void MyWidget::BindOnTextCommittedEvent()
{
MyTextBox = Cast<UEditableTextBox>(GetWidgetFromName(TEXT("MyTextBox")));
if (MyTextBox)
{
MyTextBox->OnTextCommitted.AddDynamic(this, &MyWidget::OnTextBoxTextCommitted);
}
}
```
在这里,GetWidgetFromName()函数返回MyTextBox的指针,然后将OnTextCommitted事件绑定到OnTextBoxTextCommitted函数。
请注意,如果您使用的是UMG蓝图而不是UEc++,则可以直接在蓝图中绑定OnTextCommitted事件。
阅读全文