Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Проблема с цветами тулбара  (Прочитано 9282 раз)
0 Пользователей и 1 Гость смотрят эту тему.
FallenSoul
Опытный

ru
Offline Offline
Пол: Мужской

« : 17-04-2008 10:42 » 

Скачал много иконо в .пнг формате- но они похоже нарисованы в более чем 16 цветах и поэтому не распознающиеся цвета заменяются на серые в VC++. Возможно как-то увеличить кол-во цветов доступных для иконок тулбара (toolbar.png) или решить это проблему?
Записан
RXL
Технический
Администратор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #1 : 17-04-2008 12:32 » 

FallenSoul, иконки могут быть до 256 цветов (а может и больше?). Сперва создай "правильную" иконку, а потом скопируй в нее графику из png.
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
FallenSoul
Опытный

ru
Offline Offline
Пол: Мужской

« Ответ #2 : 17-04-2008 15:10 » 

FallenSoul, иконки могут быть до 256 цветов (а может и больше?). Сперва создай "правильную" иконку, а потом скопируй в нее графику из png.

Подскажи как правильно? Делаю вставку ресурса Toolbar- там сразу же возможность создания иконки- туда копи/паст из .пнг файла иконку- после сохранения сразу же в тулбар.бмп файле всё переводится к 16 цветам
Записан
Джон
просто
Администратор

de
Offline Offline
Пол: Мужской

« Ответ #3 : 17-04-2008 15:33 » 

Визуальный редактор ресурсов студии не работает с бОльшим кол-вом цветов для тулбара.
Записан

Я вам что? Дурак? По выходным и праздникам на работе работать. По выходным и праздникам я работаю дома.
"Just because the language allows you to do something does not mean that it’s the correct thing to do." Trey Nash
"Physics is like sex: sure, it may give some practical results, but that's not why we do it." Richard P. Feynman
"All science is either physics or stamp collecting." Ernest Rutherford
"Wer will, findet Wege, wer nicht will, findet Gründe."
FallenSoul
Опытный

ru
Offline Offline
Пол: Мужской

« Ответ #4 : 18-04-2008 13:17 » 

Код:
void Init_ToolBar(HWND hWnd)
{
int ButtonID[11]={ID_BUTTON40003,ID_BUTTON40005,ID_BUTTON40006,ID_BUTTON40007,ID_BUTTON40008,ID_BUTTON40009,
     ID_BUTTON40010,ID_BUTTON40011,ID_BUTTON40012,ID_BUTTON40013,ID_BUTTON40014};
int ButtonStyle[11]={TBSTYLE_SEP,TBSTYLE_BUTTON,TBSTYLE_BUTTON,TBSTYLE_BUTTON,TBSTYLE_BUTTON,TBSTYLE_SEP,
TBSTYLE_BUTTON,TBSTYLE_BUTTON,TBSTYLE_BUTTON,TBSTYLE_SEP,TBSTYLE_BUTTON};

TBBUTTON tbb[11];
memset(tbb,0,sizeof(tbb));

for(int i=0;i<11;i++)
{
tbb[i].idCommand=ButtonID[i];
tbb[i].fsState=TBSTATE_ENABLED;
tbb[i].fsStyle=ButtonStyle[i];
if(ButtonID[i]!=TBSTYLE_SEP)
{
tbb[i].iBitmap=i;
tbb[i].iString=i;
}
}

m_MyHandles.hToolBar=CreateToolbarEx(
hWnd,WS_CHILD|WS_VISIBLE|WS_BORDER|TBSTYLE_TOOLTIPS,
IDT_TOOLBAR,11,GetModuleHandle(NULL),IDR_TOOLBAR1,
tbb,11,0,0,0,0,sizeof(TBBUTTON));

}

Вот моя инициализация тулбара.
Код:
typedef struct _TBBUTTON { 
  int iBitmap;
  int idCommand;
  BYTE fsState;
  BYTE fsStyle;
  DWORD dwData;
  int iString;
}
Вот описание кнопки Здесь была моя ладья...

Вопрос в том,- мне надо отдельно добавлять ресурс "Icon" и уже его прилеплять к кнопке тулбара?
У меня есть иконка, в ней есть графика из пнг- всё прекрасно. Как теперь можно связать её с кнопкой на тулбаре?
Записан
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #5 : 18-04-2008 13:49 » 

FallenSoul, а VC хранит не иконку, а битмап, на котором рядышком расположены рисунки кнопок , то есть не в отдельных файликах. Но как это детально делается - я не разбирался никогда... В студии всё визард делает
Записан

Джон
просто
Администратор

de
Offline Offline
Пол: Мужской

« Ответ #6 : 18-04-2008 13:54 » 

С пингом напрямую без рендера не получится. Надо сделать битмап.
Записан

Я вам что? Дурак? По выходным и праздникам на работе работать. По выходным и праздникам я работаю дома.
"Just because the language allows you to do something does not mean that it’s the correct thing to do." Trey Nash
"Physics is like sex: sure, it may give some practical results, but that's not why we do it." Richard P. Feynman
"All science is either physics or stamp collecting." Ernest Rutherford
"Wer will, findet Wege, wer nicht will, findet Gründe."
FallenSoul
Опытный

ru
Offline Offline
Пол: Мужской

« Ответ #7 : 18-04-2008 14:14 » 

С пингом напрямую без рендера не получится. Надо сделать битмап.

А как связать этот битмап с тулбаром?
Записан
Джон
просто
Администратор

de
Offline Offline
Пол: Мужской

« Ответ #8 : 18-04-2008 15:46 » 

Ну это уже зависит от тулбара. Если хочешь кучу цветов и оттенков - придётся свой делать.
Вот так народ это делает в MFC
http://www.codeproject.com/KB/toolbars/ctruecolortoolbar_update.aspx

Если вспомнишь, что это просто обёртка для API, то можешь у них подсмотреть. Ага
Записан

Я вам что? Дурак? По выходным и праздникам на работе работать. По выходным и праздникам я работаю дома.
"Just because the language allows you to do something does not mean that it’s the correct thing to do." Trey Nash
"Physics is like sex: sure, it may give some practical results, but that's not why we do it." Richard P. Feynman
"All science is either physics or stamp collecting." Ernest Rutherford
"Wer will, findet Wege, wer nicht will, findet Gründe."
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines