[]
S1>>>К сожалению тоже ругается
F>>Блин, так и будем в молчанку играть? Что говорит GetLastError? Или компилятор ругается? Непонятно нифига из вашего столь "содержательного" ответа. Я хочу помочь, но догадываться, что происходит на вашем компьютере — еще пока не научился...
S1>Ругается компилятор
Фсе блин Кто-то из нас очень немногословен.
Что? Именно! Говорит! Компилятор???
Так понятней? Если нет, то попробую еще раз: приведите пожалуйста тот текст, который компилятор выводит в окошке Output.
Если вы не знаете, что такое окошко Output — посмотрите в нижнюю часть окна своей IDE — обычно это окошко располагается там и содержит всякий непонятный текст в том случае, когда программа не компилируется.
Если вам непонятно значение слова IDE, то поясняю: это типа та прога, при помощи которой можно чиста другую прогу налабать. На С++ там или дельфях.
Если вы спросите, что такое C++, то отвечу, что это очень изящный способ тонкого морального издевательства над программистом, приводящий к появлению в речи подопытного всяких странных слов типа "темплейт", "STL", "буст" и (прости меня господи, мерзость какая) "функтор".
Что же касается странного слова "дельфи", то поясняю, что так называется географическое место в Греции, где в древности в одном храме сидел и учил основам поиска компонент знаменитый Дельфийский оракул.
Собрался я прорисовать сам всё меню, и столкнулся с такой проблемой:
хочется чтобы меню было как текущее системное, но прорисовки классического
стиля и стиля XP отличаютя, как узнать текущий стиль (HWND окна к которому
принадлежит менюшка у меня нет)
Здравствуйте, Spider-111, Вы писали:
S1>Собрался я прорисовать сам всё меню, и столкнулся с такой проблемой: S1>хочется чтобы меню было как текущее системное, но прорисовки классического S1>стиля и стиля XP отличаютя, как узнать текущий стиль (HWND окна к которому S1>принадлежит менюшка у меня нет)
Здравствуйте, Flamer, Вы писали:
F>Здравствуйте, Spider-111, Вы писали:
S1>>Собрался я прорисовать сам всё меню, и столкнулся с такой проблемой: S1>>хочется чтобы меню было как текущее системное, но прорисовки классического S1>>стиля и стиля XP отличаютя, как узнать текущий стиль (HWND окна к которому S1>>принадлежит менюшка у меня нет)
[]
F>>А второй вариант?
S1>К сожалению тоже ругается
Блин, так и будем в молчанку играть? Что говорит GetLastError? Или компилятор ругается? Непонятно нифига из вашего столь "содержательного" ответа. Я хочу помочь, но догадываться, что происходит на вашем компьютере — еще пока не научился...
Здравствуйте, Flamer, Вы писали:
F>Здравствуйте, Spider-111, Вы писали:
F>[]
F>>>А второй вариант?
S1>>К сожалению тоже ругается
F>Блин, так и будем в молчанку играть? Что говорит GetLastError? Или компилятор ругается? Непонятно нифига из вашего столь "содержательного" ответа. Я хочу помочь, но догадываться, что происходит на вашем компьютере — еще пока не научился...
Ошибка следующего плана:
MzlDLL error LNK2019: unresolved external symbol __imp__GetWindowTheme@4 referenced in function "public: void __thiscall PopupMenu::DrawMem(long)" (?DrawMem@PopupMenu@@QAEXJ@Z)
это когда GetWindowTheme(NULL)
и
MzlDLL error LNK2019: unresolved external symbol __imp__GetWindowTheme@4 referenced in function "public: void __thiscall PopupMenu::DrawMem(long)" (?DrawMem@PopupMenu@@QAEXJ@Z)
когда GetWindowTheme( WindowFromDC( GetDC(NULL) ) );
Здравствуйте, Odi$$ey, Вы писали:
OE>Здравствуйте, Spider-111, Вы писали:
S1>>Ошибка следующего плана: S1>>MzlDLL error LNK2019: unresolved external symbol __imp__GetWindowTheme@4
OE>UxTheme.lib подключена?
OE>если нет, добавь в программу строчку
OE>
OE>#pragma comment(lib, "UxTheme.lib")
OE>
Если такой код написать, то под Windows XP, например, при запуске проги будет появляться сообщение о том, что нет такой библиотеки, а хотелось бы одинакового действия под все Windows
Здравствуйте, Spider-111, Вы писали:
S1>Если такой код написать, то под Windows XP, например, при запуске проги будет появляться сообщение о том, что нет такой библиотеки, а хотелось бы одинакового действия под все Windows
ты не можешь использовать GetWindowTheme "под все Windows", она появилась только под XP
Здравствуйте, Odi$$ey, Вы писали:
OE>Здравствуйте, Spider-111, Вы писали:
S1>>Если такой код написать, то под Windows XP, например, при запуске проги будет появляться сообщение о том, что нет такой библиотеки, а хотелось бы одинакового действия под все Windows
OE>ты не можешь использовать GetWindowTheme "под все Windows", она появилась только под XP
А что мне тогда использовать, чтобы действовало под все windows и, чтоб я всё-таки мог узнать текущий стиль!
[]
OE>>ты не можешь использовать GetWindowTheme "под все Windows", она появилась только под XP
S1>А что мне тогда использовать, чтобы действовало под все windows и, чтоб я всё-таки мог узнать текущий стиль!
Тогда просто переписываем код для динамической подгрузки функции из dll:
Надеюсь, код понятен... И кстати, понятие тем появилось только в WinXP. Выделенная жирным строчка просто не отработает на системах ниже WinXP. Т.е. программа будет нормально работать и под другими осями, но текущую тему под ними вы не получите, т.к. самого понятия темы там нет.