Последние темы Поиск
Общие форумы
Форумы поддержки портала iXBT.com
Специализированные форумы
ПроцессорыРазгон и охлаждениеСистемные платыМодули памятиВидеосистемаКриптовалюты, майнинг, blockchain-технологии, NFTИскусственный интеллект: технологии, практика, развитиеTV- и FM-тюнеры, видеовход, видеовыходЦифровое видео: захват, монтаж, обработкаМониторы и другие устройства отображенияЦифровое фотоБеспилотные летательные аппаратыЦифровой звукProAudio: Профессиональное звуковое оборудованиеСтереосистемыДомашний кинотеатр: проигрыватели и источники сигналаДомашний кинотеатр: аудиосистемаДомашний кинотеатр: ТV и проекторыМагнитные и SSD накопителиОптические носители информацииСетевые носители информацииПериферияКорпуса, блоки питания, UPSСети, сетевые технологии, подключение к интернетуСистемное администрирование, безопасностьСерверыНоутбуки, нетбуки и ультрабукиПланшеты и электронные книгиМобильные телефоны, смартфоны, кпк, коммуникаторыМобильные гаджетыОператоры и технологии мобильной связиТелефония, телекоммуникации, офисные АТСБытовая техника
Программы
Игры
Авторские форумы
Прочие форумы
Архивы конференции
Архив "О Конференции"Архив "Процессоры"Архив "Разгон и охлаждение"Архив "Системные платы"Архив "Модули памяти"Архив "Видеосистема"Архив "Видеозахват"Архив "Мониторы и другие устройства отображения"Архив "Цифровое изображение"Архив "Цифровой звук"Архив "Периферия"Архив "Корпуса, блоки питания, UPS"Архив "Коммуникации: сети и сетевые технологии"Домашний интернет, модемы (архив)Архив "Системное администрирование, безопасность"Архив "Мобильная связь"Программы Microsoft: Windows, Office, Server, Windows LiveАрхив "OС и системное ПО"Архив "Программы: Интернет"Архив "Программирование"Форум прикладных программистовАрхив "Электронные устройства и компоненты"Архив "Околокомпьютерный Флейм & Общий"Архив "Полемика (Злобный Флейм)"Околоавтомобильный ФлеймФорум ремонтниковВопросы компании IntelФотокамеры SamsungФорум о магазине приложений RuStoreФорум по продукции компании Huawei
Справка и сервисы
Другие проекты iXBT.com
Belgrad: Как рисовать на кнопках в тулбаре?
Belgrad
unregistered
Автор темы
Ответить
B
Belgrad unregisteredАвтор темы
22 года назад / 13 марта 2003 09:38
Нужна кнопка типа "задать цвет" чтобы у нее полоска цветная внизу показывала текущий выбранный цвет, как в Офисе; и чтоб естественно рядом попупчик выпадал с колорпикером. Колорпикер сделал все ок, а вот полоску нарисовать чето никак. Пособите пожалста...
VC++ 6
Katy
unregistered
Ответить
K
Katy unregistered
22 года назад / 13 марта 2003 10:59
например так:

ImageList1.Clear;
vBitmap:=TBitmap.Create;
vBitmap.Width:=20; vBitmap.Height:=20;
vBitmap.Canvas.Brush.Color:=clRed;
vBitmap.Canvas.Rectangle(0,0,10,10);
ImageList1.Add(vBitmap, nil);

ToolBar1.Images:=ImageList1;
ToolButton1.ImageIndex:=0;
Prog2 Michael
unregistered
Ответить
P
Prog2 Michael unregistered
22 года назад / 13 марта 2003 11:04
Belgrad
MFC/WinApi/...?
Набор картинок для кнопок Ваш?
Belgrad
unregistered
Автор темы
Ответить
B
Belgrad unregisteredАвтор темы
22 года назад / 13 марта 2003 11:35
Katy
VC++ 6

Prog2 Michael
MFC
Набор картинок для кнопок Ваш?
в каком смысле?
Prog2 Michael
unregistered
Ответить
P
Prog2 Michael unregistered
22 года назад / 13 марта 2003 12:00
Например, если для TB_ADDBITMAP в TBADDBITMAP.hInt указать HINST_COMMCTRL (defined in COMMCTRL.H), то картинки будут "чужие".
[forester]
Member
131/514 ответов
22 года на iXBT, с мая 2002
50 фото на iXBT.photo
Чаще пишет в "Игры" (59%)
Инфо Ответить
[forester] Member
22 года назад / 13 марта 2003 12:35
да не добавить картинку мало, ведь нада еще ловить нажатия клавиш и все остальное
рекомендую в тулбар добавить свое окно, к пример субкласенный BUTTON, и уже на WM_DRAW делать все что угодно
Bacek
Member
664/832 ответов
25 лет на iXBT, с января 2000
173 фото на iXBT.photo
Чаще пишет в "Политика" (83%)
Беларусь, Минск
Web-страница
Инфо Ответить
B
Bacek Member
22 года назад / 13 марта 2003 14:36
Belgrad
В принципе путь, предложенный Katy, правильный. Осталось все это перевести на MFC.

01CImageList * pImageList = m_wndToolbar.GetImageList();
02HICON hIcon = pImageList->ExtractIcon(iBtnImage);
03  
04ICONINFO ii;
05GetIconInfo(hIcon, &ii);
06  
07CDC dcMem;
08dcMem.CreateCompatibleDC(NULL);
09HGDIOBJ hbmpOld = dcMem.SelectObject(ii.hbmColor);
10  
11dcMem.FillSolidRect(2, 2, 16, 15, crColorSelected);
12  
13dcMem.SelectObject(hbmpOld);
14dcMem.DeleteDC();
15  
16pImageList->Replace(iBtnImage, CBitmap::FromHandle(ii.hbmColor), CBitmap::FromHandle(ii.hbmMask));
17  
18::DeleteObject(ii.hbmColor);
19::DeleteObject(ii.hbmMask);
Примерно так

Исправлено: Bacek, 13.03.2003 16:36

Belgrad
unregistered
Автор темы
Ответить
B
Belgrad unregisteredАвтор темы
22 года назад / 13 марта 2003 16:15
Bacek Ага, все заработало.

Всем спасибо.

Bacek Katy
Ваш ответ:

Нет значка Нет значка Вот тут! Лампочка Восклицание Вопрос Класс! Улыбка Злость Огорчение Поговорим? Краснею Подмигивание Ругаю ОдобряюBIUdelSxsupxsuboffsp spoilerqurlimgvideo• list1. list1 codeprecenter-hr-rusQWE→ЙЦУ
файлыочистить
Ваше имя: Авторизуйтесь Предпросмотр В полную форму
вставить выделенную цитату в окно ответа
Если Вы считаете это сообщение ценным для дискуссии (не обязательно с ним соглашаться), Вы можете поблагодарить его автора, а также перечислить ему на счет некоторую сумму со своего баланса (при отзыве благодарности перечисленная сумма не будет вам возвращена).
Также вы можете оценить сообщение как неудачное.
В течение суток можно 20 раз оценить сообщения разных участников (купите Premium-аккаунт, либо оплачивайте оценки сверх лимита).
Если Вы считаете это сообщение ценным для дискуссии (не обязательно с ним соглашаться), Вы можете поблагодарить его автора, а также перечислить ему на счет некоторую сумму со своего баланса (при отзыве благодарности перечисленная сумма не будет вам возвращена).
Также вы можете оценить сообщение как неудачное.
В течение суток можно 20 раз оценить сообщения разных участников (купите Premium-аккаунт, либо оплачивайте оценки сверх лимита).