В WinXP - manifest не действует на кнопки с иконками.
От: Hayder Россия www.animabilis.com
Дата: 30.10.03 07:34
Оценка:
Всем привет.
Может кто поможет справится с небольшой (а может и большой)проблемой.
В любом случае я думаю она интересна не только мне.

VC.NET 2003
Есть кнопка (CButton)в неё загружена иконка.

CButton m_btnHelp;
HICON hIcon = (HICON)LoadImage(AfxGetResourceHandle(),
MAKEINTRESOURCE(IDI_HELP),
IMAGE_ICON, 16, 16, LR_DEFAULTCOLOR);
m_btnHelp.SetIcon(hIcon);

Все прекрасно работает, но в Windows XP при подключенном МАНИФЕСТЕ все кнопки симпатишные, а эта страшная.
Убираем иконку и уже все кнопки симпатишные.
Вобщем со стилем BS_ICON почему то манифест не действует

На http://www.codeproject.com/ есть пара примеров для решения этой проблемы, но у каждого свои недостатки.

Поможите люди добрые.
Re: В WinXP - manifest не действует на кнопки с иконками.
От: Андрей Россия  
Дата: 30.10.03 07:41
Оценка:
Здравствуйте, Hayder, Вы писали:

skip

Да, есть такая проблема.
Кстати, а ты не можешь более точные ссылки дать на codeproject?
Re[2]: В WinXP - manifest не действует на кнопки с иконками.
От: Аноним  
Дата: 30.10.03 08:05
Оценка:
Здравствуйте, Андрей, Вы писали:

А>Да, есть такая проблема.

А>Кстати, а ты не можешь более точные ссылки дать на codeproject?

ссылки в студию...

http://www.softechsoftware.it/download/CXPStyleButtonST.zip
В этом примере я не смого получить стандартный вид кнопки (не XP стиль).


http://www.pablovandermeer.nl/ciconbutton.html
Последняя ссылка наиболее близка к теме, но там не очень качественное получение фокуса и я смог скомпилировать работоспособный exe только под WinXP (но это похоже моя вина так как родной пример прекрасно работает где угодно)
Re: В WinXP - manifest не действует на кнопки с иконками.
От: Константин http://flint-inc.ru/
Дата: 30.10.03 11:19
Оценка:
Здравствуйте, Hayder, Вы писали:

H>Всем привет.

H>Может кто поможет справится с небольшой (а может и большой)проблемой.
H>В любом случае я думаю она интересна не только мне.

H>VC.NET 2003

H>Есть кнопка (CButton)в неё загружена иконка.

H>CButton m_btnHelp;

H>HICON hIcon = (HICON)LoadImage(AfxGetResourceHandle(),
H> MAKEINTRESOURCE(IDI_HELP),
H> IMAGE_ICON, 16, 16, LR_DEFAULTCOLOR);
H>m_btnHelp.SetIcon(hIcon);

H>Все прекрасно работает, но в Windows XP при подключенном МАНИФЕСТЕ все кнопки симпатишные, а эта страшная.

H>Убираем иконку и уже все кнопки симпатишные.
H>Вобщем со стилем BS_ICON почему то манифест не действует

H>На http://www.codeproject.com/ есть пара примеров для решения этой проблемы, но у каждого свои недостатки.


H>Поможите люди добрые.


В своей программе я тоже с таким столкнулся. Я сделал просто: отнаследовал класс от CButton, и перерисовываю битмап поверх изображения самой кнопки. Работает и под XP и под не-XP. Правда, пришлось переопределить кучу сообщений. Я и не знал, как часто бедные кнопки перерисовываются... Если очень хочется, могу выслать, но у меня очень ограниченный вариант: рисование цветного кружка на кнопке. Обобщить, конечно, можно, но проще готовые варианты найти в инете.
Почему же, ё-моё, ты нигде не пишешь «ё»?
Re[2]: В WinXP - manifest не действует на кнопки с иконками.
От: Аноним  
Дата: 30.10.03 13:21
Оценка:
Здравствуйте, Константин, Вы писали:


К>В своей программе я тоже с таким столкнулся. Я сделал просто: отнаследовал класс от CButton, и перерисовываю битмап поверх изображения самой кнопки. Работает и под XP и под не-XP. Правда, пришлось переопределить кучу сообщений. Я и не знал, как часто бедные кнопки перерисовываются... Если очень хочется, могу выслать, но у меня очень ограниченный вариант: рисование цветного кружка на кнопке. Обобщить, конечно, можно, но проще готовые варианты найти в инете.


Да чего то этих готовых вариантов не так много как хотелось бы. Это не праздное любопытство и не желание напихать куда попало картинок. Практически в любом проекте есть кнопки у которых иконки более информативны при меньшем размере. Хочется найти, если это возможно какое нибудь простое и надежное готовое решение.

Пример если не затруднит вышли, т.к. проблема не решена и любая помощь будет полезна.
Re[3]: В WinXP - manifest не действует на кнопки с иконками.
От: Константин http://flint-inc.ru/
Дата: 30.10.03 17:14
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Да чего то этих готовых вариантов не так много как хотелось бы. Это не праздное любопытство и не желание напихать куда попало картинок. Практически в любом проекте есть кнопки у которых иконки более информативны при меньшем размере. Хочется найти, если это возможно какое нибудь простое и надежное готовое решение.


А>Пример если не затруднит вышли, т.к. проблема не решена и любая помощь будет полезна.


Куда выслать?
Почему же, ё-моё, ты нигде не пишешь «ё»?
Re[4]: В WinXP - manifest не действует на кнопки с иконками.
От: Аноним  
Дата: 31.10.03 06:34
Оценка:
Здравствуйте, Константин, Вы писали:
А>>Пример если не затруднит вышли, т.к. проблема не решена и любая помощь будет полезна.

К>Куда выслать?


Извини.. забыл.
То то меня весь вечер терзали смутные сомнения.

misc@front.ru
Re[3]: В WinXP - manifest не действует на кнопки с иконками.
От: A.A.L. Украина  
Дата: 11.07.08 07:19
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Здравствуйте, Константин, Вы писали:



К>>В своей программе я тоже с таким столкнулся. Я сделал просто: отнаследовал класс от CButton, и перерисовываю битмап поверх изображения самой кнопки. Работает и под XP и под не-XP. Правда, пришлось переопределить кучу сообщений. Я и не знал, как часто бедные кнопки перерисовываются... Если очень хочется, могу выслать, но у меня очень ограниченный вариант: рисование цветного кружка на кнопке. Обобщить, конечно, можно, но проще готовые варианты найти в инете.


А>Да чего то этих готовых вариантов не так много как хотелось бы. Это не праздное любопытство и не желание напихать куда попало картинок. Практически в любом проекте есть кнопки у которых иконки более информативны при меньшем размере. Хочется найти, если это возможно какое нибудь простое и надежное готовое решение.


А>Пример если не затруднит вышли, т.к. проблема не решена и любая помощь будет полезна.


Тема древняя, но я искала
http://www.codeproject.com/KB/buttons/imagebuttonwithstyle.aspx — вот если кто еще будет искать
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.