mirror of
https://github.com/Mauler125/r5sdk.git
synced 2025-02-09 19:15:03 +01:00
48 lines
1.0 KiB
C++
48 lines
1.0 KiB
C++
#include "stdafx.h"
|
|
#include "UIXTextBox.h"
|
|
#include "UIXTheme.h"
|
|
|
|
namespace UIX
|
|
{
|
|
UIXTextBox::UIXTextBox()
|
|
: TextBox()
|
|
{
|
|
this->SetBorderStyle(BorderStyle::None);
|
|
|
|
auto Renderer = UIXTheme::GetRenderer();
|
|
|
|
this->SetBackColor(Renderer->GetRenderColor(UIX::UIXRenderColor::BackgroundDefault));
|
|
this->SetForeColor(Renderer->GetRenderColor(UIX::UIXRenderColor::TextDefault));
|
|
}
|
|
|
|
void UIXTextBox::WndProc(Message& Msg)
|
|
{
|
|
switch (Msg.Msg)
|
|
{
|
|
case WM_NCPAINT:
|
|
WmNcPaint(Msg);
|
|
break;
|
|
default:
|
|
TextBox::WndProc(Msg);
|
|
break;
|
|
}
|
|
}
|
|
|
|
void UIXTextBox::WmNcPaint(Message& Msg)
|
|
{
|
|
// Handle base logic first
|
|
TextBox::WndProc(Msg);
|
|
|
|
// Generate paint event args here...
|
|
HDC hDC = GetWindowDC((HWND)Msg.HWnd);
|
|
auto EventArgs = std::make_unique<PaintEventArgs>(hDC, this->ClientRectangle());
|
|
auto Renderer = UIXTheme::GetRenderer();
|
|
|
|
// Render the border
|
|
Renderer->RenderControlBorder(EventArgs, this, UIX::UIXRenderState::Default);
|
|
|
|
// Must release the handle here
|
|
ReleaseDC((HWND)Msg.HWnd, hDC);
|
|
}
|
|
}
|