From fc2755524f765293bc1ecffc2e857dfaf0857dd9 Mon Sep 17 00:00:00 2001 From: Steve Cornett <21205494+stevecor@users.noreply.github.com> Date: Fri, 26 Jun 2026 15:48:38 -0700 Subject: [PATCH] Add system colour change handler to wxSashWindow Closes #26638. --- include/wx/generic/sashwin.h | 1 + src/generic/sashwin.cpp | 8 +++++++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/include/wx/generic/sashwin.h b/include/wx/generic/sashwin.h index 846f1122eb..0c90471b6f 100644 --- a/include/wx/generic/sashwin.h +++ b/include/wx/generic/sashwin.h @@ -157,6 +157,7 @@ public: private: void Init(); + void OnSysColourChanged(wxSysColourChangedEvent& event); wxSashEdge m_sashes[4]; int m_dragMode; diff --git a/src/generic/sashwin.cpp b/src/generic/sashwin.cpp index b1440bb0fb..af5ee7cddc 100644 --- a/src/generic/sashwin.cpp +++ b/src/generic/sashwin.cpp @@ -38,6 +38,7 @@ wxIMPLEMENT_DYNAMIC_CLASS(wxSashEvent, wxCommandEvent); wxBEGIN_EVENT_TABLE(wxSashWindow, wxWindow) EVT_PAINT(wxSashWindow::OnPaint) EVT_SIZE(wxSashWindow::OnSize) + EVT_SYS_COLOUR_CHANGED(wxSashWindow::OnSysColourChanged) EVT_MOUSE_EVENTS(wxSashWindow::OnMouseEvent) #if defined( __WXMSW__ ) || defined( __WXMAC__) EVT_SET_CURSOR(wxSashWindow::OnSetCursor) @@ -76,7 +77,6 @@ void wxSashWindow::Init() m_mouseCaptured = false; m_currentCursor = nullptr; - // Eventually, we'll respond to colour change messages InitColours(); } @@ -359,6 +359,12 @@ void wxSashWindow::OnSize(wxSizeEvent& WXUNUSED(event)) SizeWindows(); } +void wxSashWindow::OnSysColourChanged(wxSysColourChangedEvent& event) +{ + InitColours(); + event.Skip(); +} + wxSashEdgePosition wxSashWindow::SashHitTest(int x, int y, int WXUNUSED(tolerance)) { int cx, cy;