if (pContext->hTabBackgroundBrush != NULL)
{
+ CloseThemeData(GetWindowTheme(hWnd));
+
DeleteObject(pContext->hTabBackgroundBrush);
pContext->hTabBackgroundBrush = NULL;
}
{
return OnPostWinPosChanged(hWnd, (WINDOWPOS*)lParam);
}
- case WM_DESTROY:
+ case WM_NCDESTROY:
{
ThemeDestroyWndContext(hWnd);
return 0;
HBITMAP hbmp;
RECT dummy, bmpRect;
BOOL hasImageAlpha;
- //HTHEME theme = GetWindowTheme(hwnd);
- theme = MSSTYLES_OpenThemeClass(ActiveThemeFile, NULL, L"TAB");
- if (!theme)
- return E_FAIL;
UXTHEME_LoadImage(theme, 0, TABP_BODY, 0, &dummy, FALSE, &hbmp, &bmpRect, &hasImageAlpha);
if (changeOrigin)
HWND hwndTarget = (HWND)lParam;
HDC hdc = (HDC)wParam;
HBRUSH* phbrush = (HBRUSH*)ret;
- HTHEME theme = GetWindowTheme ( hWnd );
+ HTHEME hTheme;
if (!IsAppThemed())
break;
if (!IsThemeDialogTextureEnabled (hWnd))
break;
- GetDiaogTextureBrush(theme, hwndTarget, hdc, phbrush, Msg != WM_CTLCOLORDLG);
+ hTheme = GetWindowTheme(hWnd);
+ if (!hTheme)
+ hTheme = OpenThemeData(hWnd, L"TAB");
+
+ if (!hTheme)
+ break;
+
+ GetDiaogTextureBrush(hTheme, hwndTarget, hdc, phbrush, Msg != WM_CTLCOLORDLG);
#if 1
{
puah->DefWndProcArray.Size = UAHOWP_MAX_SIZE;
puah->WndProcArray.MsgBitArray = gabMSGPmessages;
puah->WndProcArray.Size = UAHOWP_MAX_SIZE;
- puah->DlgProcArray.MsgBitArray = gabMSGPmessages;
+ puah->DlgProcArray.MsgBitArray = gabDLGPmessages;
puah->DlgProcArray.Size = UAHOWP_MAX_SIZE;
puah->SetWindowRgn = ThemeSetWindowRgn;