ダイアログ上のボタンなどの 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