diff options
Diffstat (limited to 'src/ui/controls')
-rw-r--r-- | src/ui/controls/TextBox.cpp | 9 | ||||
-rw-r--r-- | src/ui/controls/TextControlService.hpp | 1 |
2 files changed, 7 insertions, 3 deletions
diff --git a/src/ui/controls/TextBox.cpp b/src/ui/controls/TextBox.cpp index 2bc4cf95..4a8d6658 100644 --- a/src/ui/controls/TextBox.cpp +++ b/src/ui/controls/TextBox.cpp @@ -32,20 +32,23 @@ TextBox::TextBox() border_render_object_->SetAttachedControl(this); scroll_render_object_->SetAttachedControl(this); text_render_object_->SetAttachedControl(this); - text_render_object_->SetMinSize(Size{50, 20}); + text_render_object_->SetMinSize(Size{100, 24}); service_ = std::make_unique<TextControlService<TextBox>>(this); service_->SetEnabled(true); service_->SetCaretVisible(true); service_->SetEditable(true); + border_render_object_->SetBorderEnabled(true); + border_render_object_->SetBorderStyle(border_style_.normal); + GainFocusEvent()->Direct()->AddHandler([this](event::FocusChangeEventArgs&) { - this->service_->SetEnabled(true); + this->service_->SetCaretVisible(true); this->UpdateBorderStyle(); }); LoseFocusEvent()->Direct()->AddHandler([this](event::FocusChangeEventArgs&) { - this->service_->SetEnabled(false); + this->service_->SetCaretVisible(false); this->UpdateBorderStyle(); }); } diff --git a/src/ui/controls/TextControlService.hpp b/src/ui/controls/TextControlService.hpp index 0d05f2c3..2a7ad0c7 100644 --- a/src/ui/controls/TextControlService.hpp +++ b/src/ui/controls/TextControlService.hpp @@ -202,6 +202,7 @@ class TextControlService : public Object { } void MouseDownHandler(event::MouseButtonEventArgs& args) { + this->control_->RequestFocus(); if (this->select_down_button_.has_value()) { return; } else { |