From b337ce4678a5c66c7a2edc2bf9f87a71b4916b1b Mon Sep 17 00:00:00 2001 From: Rob Mensching Date: Tue, 6 Jan 2026 22:59:35 -0800 Subject: Provide Bundle Icon in BA container and update wixstdba to use it Fixes 8104 --- src/libs/dutil/WixToolset.DUtil/inc/thmutil.h | 13 +++++++++++++ src/libs/dutil/WixToolset.DUtil/thmutil.cpp | 22 ++++++++++++++++++++++ 2 files changed, 35 insertions(+) (limited to 'src/libs') diff --git a/src/libs/dutil/WixToolset.DUtil/inc/thmutil.h b/src/libs/dutil/WixToolset.DUtil/inc/thmutil.h index 45e4fc51..14e20c0d 100644 --- a/src/libs/dutil/WixToolset.DUtil/inc/thmutil.h +++ b/src/libs/dutil/WixToolset.DUtil/inc/thmutil.h @@ -566,6 +566,19 @@ void DAPI ThemeInitializeWindowClass( __in LPCWSTR wzClassName ); +/******************************************************************** + ThemeInitializeWindowClassEx - sets defaults for the window class + from the given theme. + +*******************************************************************/ +void DAPI ThemeInitializeWindowClassEx( + __in THEME* pTheme, + __in WNDCLASSEXW* pWndClass, + __in WNDPROC pfnWndProc, + __in HINSTANCE hInstance, + __in LPCWSTR wzClassName + ); + /******************************************************************** ThemeCreateParentWindow - creates a parent window for the theme. diff --git a/src/libs/dutil/WixToolset.DUtil/thmutil.cpp b/src/libs/dutil/WixToolset.DUtil/thmutil.cpp index a7a7e45b..4482c96e 100644 --- a/src/libs/dutil/WixToolset.DUtil/thmutil.cpp +++ b/src/libs/dutil/WixToolset.DUtil/thmutil.cpp @@ -856,6 +856,28 @@ DAPI_(void) ThemeInitializeWindowClass( } +DAPI_(void) ThemeInitializeWindowClassEx( + __in THEME* pTheme, + __in WNDCLASSEXW* pWndClass, + __in WNDPROC pfnWndProc, + __in HINSTANCE hInstance, + __in LPCWSTR wzClassName + ) +{ + pWndClass->cbSize = sizeof(WNDCLASSEXW); + pWndClass->style = CS_HREDRAW | CS_VREDRAW; + pWndClass->cbWndExtra = DLGWINDOWEXTRA; + pWndClass->hCursor = ::LoadCursorW(NULL, (LPCWSTR)IDC_ARROW); + + pWndClass->lpfnWndProc = pfnWndProc; + pWndClass->hInstance = hInstance; + pWndClass->lpszClassName = wzClassName; + + pWndClass->hIcon = reinterpret_cast(pTheme->hIcon); + pWndClass->hbrBackground = pTheme->rgFonts[pTheme->dwFontId].hBackground; +} + + DAPI_(HRESULT) ThemeCreateParentWindow( __in THEME* pTheme, __in DWORD dwExStyle, -- cgit v1.2.3-55-g6feb