Недавно я пытался найти в сети ToolBar-элемент в стиле Office XP. Поиски мои не увенчались успехом - все элементы были либо сложны в встраивании в проект, либо платны. Тогда я принял отчаянные меры - написал сам... А, как оказалось, в написании тулбара не было оссобенных проблем. Вот как я сделал.
Создал MFC SDI проект с именем StyleXP. С помощью ClassWizard'а добавил новый класс CToolBarXP, наследованный от CToolBar (CToolBar в списке нет, но я выбрал CToolBarCtrl и вручную изменил имя предка). Дальше встал вопрос: "Какие функции перегружать?". Просмотрев весь предоставленный список в ClassWizard'е, я выбрал WM_PAINT. Долго я с ним провозился, но таки вышло вот что:
void CToolBarXP::OnPaint()
{
CPaintDC dc(this); // device context for painting
Возможно вы искали - Реферат: Три принципа успешного электронного бизнеса
// TODO: Add your message handler code here
CRect rt, rItem;
COLORREF face, shdw, cbtn;
BYTE r,g,b;
WORD BtnLength;
Похожий материал - Реферат: Особенности национальной интернет-статистики
// Берём клиентскую область эл-та
GetClientRect(rt);
// Выщитываем цвет бэк-граунда(для пущей красоты
// я решил слегка отклониться от стандартного цвета).
face = GetSysColor(COLOR_3DFACE);
Очень интересно - Реферат: Мониторинг эффективности web-сайта
r = GetRValue(face)+10;
g = GetGValue(face)+10;
b = GetBValue(face)+10;
face = PALETTERGB(r,g,b);
// Таким же образом выщитываем цвет выделенной кнопки...
Вам будет интересно - Реферат: Возможности интернет-статистики при оптимизации проекта
cbtn = GetSysColor(COLOR_3DFACE);
r = GetRValue(cbtn)-10;
g = GetGValue(cbtn)-10;
b = GetBValue(cbtn)-10;
cbtn = PALETTERGB(r,g,b);
Похожий материал - Реферат: Развитие Интернета и IT-менеджмента
// ицветрамки
shdw = GetSysColor(COLOR_3DSHADOW);
r = GetRValue(shdw)+10;
g = GetGValue(shdw)+10;