Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Кнопка с иконкой и текстом, как? 
V
    Опции темы
Rickert
  Дата 4.10.2006, 02:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ситхи не пройдут!
****


Профиль
Группа: Комодератор
Сообщений: 3356
Регистрация: 11.7.2006
Где: Лакрима

Репутация: нет
Всего: 52



Создал кнопку обычную. У неё есть свойство Icon. Если оно включено, то у кнопки есть иконка, но нет текста, а мне надо, чтобы был и итекст и иконка. КАк такое сделать?


--------------------
Ни что не внушает сна крепче, чем день приисполненный трудов!
PM MAIL WWW Skype GTalk   Вверх
Earnest
Дата 4.10.2006, 07:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5962
Регистрация: 17.6.2005
Где: Рязань

Репутация: 87
Всего: 183



Кажется, только руками. Т.е. через OwnerDraw.


--------------------
...
PM   Вверх
keksus
Дата 5.10.2006, 08:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 29.9.2006

Репутация: нет
Всего: нет



Есть куча абсолютно бесплатных библиотек и просто исходников классов, в которых это реализовано. Поищи на codeguru или просто в гугле
PM   Вверх
Damarus
Дата 5.10.2006, 10:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Awaiting Authorisation
Сообщений: 671
Регистрация: 6.5.2006

Репутация: 6
Всего: 29



Цитата(Rickert @  4.10.2006,  03:50 Найти цитируемый пост)
Создал кнопку обычную. У неё есть свойство Icon. Если оно включено, то у кнопки есть иконка, но нет текста, а мне надо, чтобы был и итекст и иконка. КАк такое сделать?

CButton::SetImageList

Добавлено @ 10:33 
Но только в XP.

Добавлено @ 10:34 
И выше.
PM MAIL ICQ Jabber   Вверх
Rickert
Дата 6.10.2006, 03:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ситхи не пройдут!
****


Профиль
Группа: Комодератор
Сообщений: 3356
Регистрация: 11.7.2006
Где: Лакрима

Репутация: нет
Всего: 52



Damarus, первое что мне орёт компилер, так это то, что SetImageList - это не member CButton функции. При этом при написании кода, выдаёт его в списке. И ещё я не могу найти как работать с SetImageList

Я тут попробовал писать в DC кнопки:  в OnPaint Воткнул - 
Код

...
    TransparentBlt(m_Button1.GetDC()->m_hDC, 0, 0, 48, 48, m_Image1.GetDC(), 0, 0, 48, 48, RGB(0, 0, 0));
...

Где m_Button1 - Это соответственно кнопка, а m_Image1 - Это картинка. Результат неясен, см. аттач.
Почему картинка находится под кнопкой? smile 

Это сообщение отредактировал(а) Rickert - 6.10.2006, 04:07

Присоединённый файл ( Кол-во скачиваний: 13 )
Присоединённый файл  Untitled_2.jpg 2,72 Kb


--------------------
Ни что не внушает сна крепче, чем день приисполненный трудов!
PM MAIL WWW Skype GTalk   Вверх
Rickert
Дата 6.10.2006, 04:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ситхи не пройдут!
****


Профиль
Группа: Комодератор
Сообщений: 3356
Регистрация: 11.7.2006
Где: Лакрима

Репутация: нет
Всего: 52



Разобрался. Просто кнопка отрисовывалась раньше. Переопределили свой класс кнопки и туда засунул отрисовку в нужной последовательности. Всё пашет smile

Это сообщение отредактировал(а) Rickert - 6.10.2006, 06:55


--------------------
Ни что не внушает сна крепче, чем день приисполненный трудов!
PM MAIL WWW Skype GTalk   Вверх
Earnest
Дата 6.10.2006, 06:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5962
Регистрация: 17.6.2005
Где: Рязань

Репутация: 87
Всего: 183



TransparentBlt - это функция не окна, а DC. В твоем коде ты вызываешь исходный вариант (из WinAPI).
В CImage тоже по идее есть для нее обертка. Почему у тебя не компилируется - наверно, что-то неправильно. smile Может инклуд какой не подключен. 

Отсечение и пересчет координат должен делать руками. 
Кроме того в OnPaint надо делать так (кстати, это OnPaint кнопки?):

Код

CPaintDC dc(this);

и рисовать в этом DC. По крайней мере, отсечение будет.
Кстати, картинка великовата для кнопки: ты как ее расположить-то хочешь? Можно, конечно и сжать, но некрасиво будет. Лучше нарисовать нужного размера.


--------------------
...
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Visual C++/MFC/WTL | Следующая тема »


 




[ Время генерации скрипта: 0.0511 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.