ダイアログ上のボタンなどの Visual Style を無効に
BOOL DisableVisualStyle (CWnd* wnd)
//**************************************************************************************************
// ファイル名 :HelpVSty.hxx
// 機能名 :ビジュアルスタイルヘルパ Visual Style 関数の簡略化
// 作成者 :
// 作成年月日 :’09/07/02
// 変更履歴 :’09/07/02
//**************************************************************************************************
#ifndef _INC_H_HELP_THEME_API
#define _INC_H_HELP_THEME_API
#include <AfxWin.h>
//*******************************************************************************
// 関数名 :SetWindowTheme
// 作成日 :’09/07/02
//*******************************************************************************
inline HRESULT Hlp_SetWindowTheme (HWND hwnd,LPCWSTR pszSubAppName,LPCWSTR pszSubIdList)
{
HMODULE hDll = ::LoadLibrary(_T("UxTheme.dll")) ;
if (hDll == NULL) { return !S_OK ; }
HRESULT (WINAPI *pfSetWindowTheme)(HWND,LPCWSTR,LPCWSTR) = NULL ;
(FARPROC&)pfSetWindowTheme = ::GetProcAddress(hDll,("SetWindowTheme")) ;
HRESULT res = !S_OK ;
if (pfSetWindowTheme != NULL) {
res = pfSetWindowTheme(hwnd,pszSubAppName,pszSubIdList) ;
}
::FreeLibrary(hDll) ;
return res ;
}
//*******************************************************************************
// 関数名 :Visual Style を OFF に
// 作成日 :’09/07/02
//*******************************************************************************
inline BOOL DisableVisualStyle (CWnd* wnd)
{
if (wnd == NULL) { return FALSE ; }
if (wnd->m_hWnd == NULL) { return FALSE ; }
#ifdef __ATLBASE_H__
{ // コモンコントロールのバージョンをチェック
DWORD ccMajor = 0 ;
DWORD ccMinor = 0 ;
AtlGetCommCtrlVersion(&ccMajor,&ccMinor) ;
if (ccMajor < 6) { return TRUE ; }
}
#endif
HRESULT res = !S_OK ;
res = ::Hlp_SetWindowTheme(wnd->GetSafeHwnd(), L" ", L" ") ;
return (res == S_OK) ;
}
#endif