Моя проблема связана с внешним видом моего диалога.
Сначала я включил этот исходный код на stdafx.h:
//#ifdef _UNICODE
#if defined _M_IX86
#pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='x86' publicKeyToken='6595b64144ccf1df' language='*'\"")
#elif defined _M_X64
#pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='amd64' publicKeyToken='6595b64144ccf1df' language='*'\"")
#else
#pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='*' publicKeyToken='6595b64144ccf1df' language='*'\"")
#endif
//#endif
Затем в моем проблемном диалоге OnInitDialog() я добавил следующее:
#include "Uxtheme.h"
if (IsAppThemed())
{
EnableThemeDialogTexture(*this, ETDT_ENABLETAB);
}
Целью этого является также тема CTabCtrl в моем диалоге.
Теперь, когда я создаю проект, он показывает ошибку:
LNK2001 unresolved extenal symbol __imp__IsAppThemed@0
LNK2001 unresolved extenal symbol __imp__EnableThemeDialogTexture@8
Что еще мне не хватает для правильной работы этой "тематики"?
@BarmakShemirani спасибо, что указали на #pragma comment. Раньше я не знал, что кроме #include должно быть что-то еще, чтобы «включить» внешнюю библиотеку. Еще раз спасибо!
Пожалуйста. Кстати, #pragma comment... специфичен для Visual Studio. Я думаю, что EnableThemeDialogTexture применим только к Windows XP, XP больше не поддерживается Microsoft.





Документация для
IsAppThemedпоказывает, что ему нуженUxTheme.lib. Добавьте библиотеку в диспетчере проектов или добавьте ее в любой файл#pragma comment(lib, "UxTheme.lib").