![]() |
|
|
![]()
|
|
| CaptainFlint |
|
|||
|
Искатель сокровищ ![]() ![]() Профиль Группа: Участник Сообщений: 393 Регистрация: 26.2.2003 Где: Москва Репутация: 7 Всего: 23 |
Как включать поддержку XP-стиля для всех основных элементов управления, я знаю - файл манифеста добавить (хоть в каталог программы, хоть в ресурсы). Но это не работает с кнопками, на которых рисуется картинка: как только выполняется вызов CButton::SetBitmap или CButton::SetIcon, кнопка из XP-шной сразу превращается в обычную. На RSDN я нашёл статейку по этому вопросу, но там абсолютно всё на Дельфи. Переносить весь тот громадный код на C++/MFC я запарюсь... В Интернете нашёл вроде бы готовый код (вот тут), но скачать можно только зарегистрированным пользователям, а зарегистрироваться не разрешает.
Может, кто знает, где можно найти нормальный готовый код для таких кнопочек? -------------------- Почему же, ё-моё, ты нигде не пишешь "ё"? -------------------- Для тех, кто не знает: CaptainFlint - это бывший Константин. ;) |
|||
|
||||
| Coocky |
|
|||
![]() GUI гуру ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2879 Регистрация: 16.2.2004 Где: Украина. Запорожь е Репутация: 25 Всего: 62 |
Константин
Этот вопрос уже поднимался. Ответа на него так и не дал никто. Однозначно скажу одно. У меня ХР, но с интерфейсом 2000( ну так мне нравится). Так вот , мои проги у меня как 2000, но когда пишу людям на заказ, под ХР ,интерфейс моих прог как ХР(проверено).Аж непревычно.... Даже цвета Прогрессбара и чего еще меняются. Немогу обьяснить конкретно, как это происходит Это сообщение отредактировал(а) Coocky - 13.6.2005, 15:14 -------------------- Верю в смерть после жизни, в любовь после секса ,в крем после бритья |
|||
|
||||
| CaptainFlint |
|
|||
|
Искатель сокровищ ![]() ![]() Профиль Группа: Участник Сообщений: 393 Регистрация: 26.2.2003 Где: Москва Репутация: 7 Всего: 23 |
Coocky
Это, скорее всего, манифест как раз и работает. Ясное дело, что стиль XP должен подключаться только если на компе, где запускается приложение, этот стиль доступен и включён, а в остальных случаях - классический вид. Файл манифеста именно так и работает, ни единой строчки кода для этого писать не надо. Пока не сделаешь контрол, который этим стилем не поддерживается... PS: Кстати, странно - я поиск же делал. Почему-то не нашлась тема, где это обсуждалось. Можешь ссылку дать? -------------------- Почему же, ё-моё, ты нигде не пишешь "ё"? -------------------- Для тех, кто не знает: CaptainFlint - это бывший Константин. ;) |
|||
|
||||
| Coocky |
|
|||
![]() GUI гуру ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2879 Регистрация: 16.2.2004 Где: Украина. Запорожь е Репутация: 25 Всего: 62 |
Константин
Это давно было..Я еще тогда "шустрым" был, как ты Тему , наверное, удалили, т.к ничего конкретного небыло. Пустые разговоры. -------------------- Верю в смерть после жизни, в любовь после секса ,в крем после бритья |
|||
|
||||
| CaptainFlint |
|
|||
|
Искатель сокровищ ![]() ![]() Профиль Группа: Участник Сообщений: 393 Регистрация: 26.2.2003 Где: Москва Репутация: 7 Всего: 23 |
И-эх, всё приходится самому делать.
Кому надо - ловите, в аттаче класс MFC для такой кнопочки (плюс маленький демо-проектик). Понемножку, надеюсь, буду исправлять недостатки и добавлять фичи. Принцип работы такой кнопки: переопределяются некоторые обработчики сообщений, в частности, WM_PAINT, которые вызывают стандартные обработчики, а потом рисуют поверх нужную картинку. Метод, конечно, не ах, но вполне рабочий. На данный момент присутствуют следующие ограничения: 1. Картинка рисуется всегда только по центру кнопки. 2. Если картинка больше размеров кнопки, она рисуется поверх, вылезая за границы. 3. Кроме добавления рисунка, больше ничего не поддерживается (например, сделать кнопку с картинкой и текстом не получится). Также не исключена возможность возникновения глюка, когда картинка просто исчезает, и остаётся пустая кнопка. После фикса найденных багов я на такое пока не натыкался, но кто знает, вдруг я не все нужные сообщения перехватываю... Присоединённый файл ( Кол-во скачиваний: 24 )
IconButtonXP.zip 24,26 Kb-------------------- Почему же, ё-моё, ты нигде не пишешь "ё"? -------------------- Для тех, кто не знает: CaptainFlint - это бывший Константин. ;) |
|||
|
||||
| Coocky |
|
|||
![]() GUI гуру ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2879 Регистрация: 16.2.2004 Где: Украина. Запорожь е Репутация: 25 Всего: 62 |
Константин
Ща скачаю.Но пока к дому донесу, можно вопрос-а как же ты добился? В пару слов... -------------------- Верю в смерть после жизни, в любовь после секса ,в крем после бритья |
|||
|
||||
| CaptainFlint |
|
|||
|
Искатель сокровищ ![]() ![]() Профиль Группа: Участник Сообщений: 393 Регистрация: 26.2.2003 Где: Москва Репутация: 7 Всего: 23 |
Coocky
Я ж написал: принцип работы - отрисовка рисунка прямо поверх изображения кнопки. -------------------- Почему же, ё-моё, ты нигде не пишешь "ё"? -------------------- Для тех, кто не знает: CaptainFlint - это бывший Константин. ;) |
|||
|
||||
| Coocky |
|
|||
![]() GUI гуру ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2879 Регистрация: 16.2.2004 Где: Украина. Запорожь е Репутация: 25 Всего: 62 |
Константин
Жук, ты Я думал ты какие то библы надыбал -------------------- Верю в смерть после жизни, в любовь после секса ,в крем после бритья |
|||
|
||||
| CaptainFlint |
|
||||
|
Искатель сокровищ ![]() ![]() Профиль Группа: Участник Сообщений: 393 Регистрация: 26.2.2003 Где: Москва Репутация: 7 Всего: 23 |
Невнимательны вы, товарищ Куки. Библы, кстати, пытался надыбать, но потерпел в этом полное фиаско. Кстати, скоро на своём сайте прожку URLFileSize заапдейтю - там энти вот кнопочки будут использоваться. Можно будет заценить на реальном проекте, так сказать, а не на демо-программке. -------------------- Почему же, ё-моё, ты нигде не пишешь "ё"? -------------------- Для тех, кто не знает: CaptainFlint - это бывший Константин. ;) |
||||
|
|||||
| Coocky |
|
|||
![]() GUI гуру ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2879 Регистрация: 16.2.2004 Где: Украина. Запорожь е Репутация: 25 Всего: 62 |
Константин
А чем CBitmapbutton не устраивал? Кода на две строки... -------------------- Верю в смерть после жизни, в любовь после секса ,в крем после бритья |
|||
|
||||
| CaptainFlint |
|
|||
|
Искатель сокровищ ![]() ![]() Профиль Группа: Участник Сообщений: 393 Регистрация: 26.2.2003 Где: Москва Репутация: 7 Всего: 23 |
Отсутствием поддержки XP-стиля. Это сообщение отредактировал(а) Константин - 17.6.2005, 23:47 -------------------- Почему же, ё-моё, ты нигде не пишешь "ё"? -------------------- Для тех, кто не знает: CaptainFlint - это бывший Константин. ;) |
|||
|
||||
| Coocky |
|
|||
![]() GUI гуру ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2879 Регистрация: 16.2.2004 Где: Украина. Запорожь е Репутация: 25 Всего: 62 |
А ну да, ты ж писал..Ну спасибо... Держи плюс за старания.
Хотя для меня это не принципиально( вид кнопки), но ты ж старался -------------------- Верю в смерть после жизни, в любовь после секса ,в крем после бритья |
|||
|
||||
| CaptainFlint |
|
|||
|
Искатель сокровищ ![]() ![]() Профиль Группа: Участник Сообщений: 393 Регистрация: 26.2.2003 Где: Москва Репутация: 7 Всего: 23 |
Не плюсиков ради, но всеобщего блага для! Просто мне XP-стиль нравится. А вот как выглядит диалог в этом стиле с кнопками типа CBitmapButton (см. аттач). Ну куда это годится? Уж лучше всё пусть будет в классическом стиле, чем такой кошмар. Присоединённый файл ( Кол-во скачиваний: 40 )
Pic.gif 5,29 Kb-------------------- Почему же, ё-моё, ты нигде не пишешь "ё"? -------------------- Для тех, кто не знает: CaptainFlint - это бывший Константин. ;) |
|||
|
||||
| ManiaK |
|
|||
![]() Homo Sapience ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 1145 Регистрация: 3.8.2004 Где: ИУ5-93 Репутация: нет Всего: 29 |
Константин ЦАРЬ! Наконец я понял, что ретуширование нужно не вручную лопатить...
Держи репей! |
|||
|
||||
| Rickert |
|
|||
|
Ситхи не пройдут! ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3356 Регистрация: 11.7.2006 Где: Лакрима Репутация: нет Всего: 52 |
У меня проблемы "слёта" стиля не встовало, потому что мне нужна была кнопка сразу с текстом и изображением, следовательно стандартное setIcon не подходило. ПРосто переопределил класс кнопки и в отрисовку, после отрисовки самой кнопки воткнул отрисовку поверх неё любого изображения, с указанием положения картинки и размеров.
-------------------- Ни что не внушает сна крепче, чем день приисполненный трудов! |
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Visual C++/MFC/WTL | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |