Страница 1 из 1
Ошибка SIGSEGV при вызове функции
Добавлено: 23.12.2016 10:47:26
Alex. S
Хочу получить цвет фона из темы. Добавил в uses
Uxtheme, далее:
Код: Выделить всё
var
//
ThemeHandle: HTHEME;
...
begin
//
ThemeHandle:=OpenThemeData(hMainWnd, PWideChar('TEXTSTYLE'));
При вызове
OpenThemeData получаю ошибку
SIGSEGV.
Подскажите, как правильно сделать вызов функции
OpenThemeData?
Re: Ошибка SIGSEGV при вызове функции
Добавлено: 23.12.2016 10:59:01
DYUMON
hMainWnd <- этот хендл получил ?
Re: Ошибка SIGSEGV при вызове функции
Добавлено: 23.12.2016 11:04:29
Alex. S
DYUMON, это HWND моего окна. Если правильно понял описание параметров в MSDN, первый параметр этой функции - это HWND окна, где нужно получить Data.
Re: Ошибка SIGSEGV при вызове функции
Добавлено: 24.12.2016 09:22:08
CynicRus
А ОС то какая?
Re: Ошибка SIGSEGV при вызове функции
Добавлено: 24.12.2016 20:34:05
Alex. S
CynicRus, проверял в XP.
Нашёл другое решение, по сути, мне Uxtheme даже не нужен был, просто GetSysColor(COLOR_HIGHLIGHT). Но, когда проверял параметры функции GetSysColor, я с COLOR_HIGHLIGHT промахнулся, и решил, что цвет фона выделенного текста темой задаётся.
Проблему с OpenThemeData пока не решил, если понадобится ещё раз, попробую разобраться, почему код не работал должным образом.