Re: Виден фон у битмапок в меню и тулбаре. Как пофиксить?
От: Sinclair Россия https://github.com/evilguest/
Дата: 19.12.06 11:23
Оценка: :)
Здравствуйте, Alex_PS, Вы писали:

A_P>Вот такая ерунда получается, подскажите как сделать так, чтобы фона не было видно?

A_P>Кстати на моей машине его и не видно, за то на других проявляется этот баг
Кстати поставь у себя в винде тему типа Rainy Day — сразу всё видно станет.
1.2.0 alpha rev. 655
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Виден фон у битмапок в меню и тулбаре. Как пофиксить?
От: Alex_PS  
Дата: 19.12.06 09:06
Оценка:
Вот такая ерунда получается, подскажите как сделать так, чтобы фона не было видно?
Кстати на моей машине его и не видно, за то на других проявляется этот баг



20.12.06 13:23: Перенесено модератором из 'Пользовательский интерфейс: проектирование, usability' — Кодт
Re: Виден фон у битмапок в меню и тулбаре. Как пофиксить?
От: Checkist82  
Дата: 19.12.06 09:12
Оценка:
Здравствуйте, Alex_PS, Вы писали:

A_P>Вот такая ерунда получается, подскажите как сделать так, чтобы фона не было видно?

A_P>Кстати на моей машине его и не видно, за то на других проявляется этот баг

A_P>

Может есть конечно какие-то нюансы, но разве нельзя битмапки, заменить на иконки. + может пригодится: нужно было выводить квадратик с закруглёнными углами, обязательно битмап. Выход нашёл такой — использовать функцию MaskBlt, один из параметров исходный битмап (не с закруглёнными углами), второй маска — на ней можно сделать прозрачными необходимые области, если выделить их белым, если правильно помню.
Железной рукой загоним человечество в счастье.
Re[2]: Виден фон у битмапок в меню и тулбаре. Как пофиксить?
От: Alex_PS  
Дата: 19.12.06 09:20
Оценка:
C>Может есть конечно какие-то нюансы, но разве нельзя битмапки, заменить на иконки. + может пригодится: нужно было выводить квадратик с закруглёнными углами, обязательно битмап. Выход нашёл такой — использовать функцию MaskBlt, один из параметров исходный битмап (не с закруглёнными углами), второй маска — на ней можно сделать прозрачными необходимые области, если выделить их белым, если правильно помню.

А есть пример кода? Или хоты бы ссылка на описание похожей проблемы и методов ее устранения.
Re[3]: Виден фон у битмапок в меню и тулбаре. Как пофиксить?
От: Checkist82  
Дата: 19.12.06 11:58
Оценка:
Здравствуйте, Alex_PS, Вы писали:


A_P>А есть пример кода? Или хоты бы ссылка на описание похожей проблемы и методов ее устранения.


когда надо было ляпнуть бмп с закруглёнными углами на кнопку, делал так в OnDrawItem:
CBitmap bm, bm1;
bm.LoadBitmap(IDB_BUTTONUP1); // нужная бмп
bm1.LoadBitmap(IDB_FON); // маска, чёрным цветом отмечены области, кот. д.б. прозрачными
CDC m_memDC;
m_memDC.CreateCompatibleDC(pDC); //совместимый контескт
CBitmap *old_bmp;
old_bmp = (CBitmap*)SelectObject(m_memDC,bm); // устанавливаем фон на контекст
// лепим маску, что бы "запрозрачить" ненужные области
pDC->MaskBlt(0,0,40,40,&m_memDC,0,0,bm1,0,0,(DWORD)((( (SRCCOPY) << 8) & 0xFF000000) | MERGEPAINT)));
SelectObject(m_memDC,old_bmp); // восстанавливаем
Железной рукой загоним человечество в счастье.
Re[2]: Виден фон у битмапок в меню и тулбаре. Как пофиксить?
От: Кодт Россия  
Дата: 20.12.06 10:31
Оценка:
Здравствуйте, Checkist82, Вы писали:

C>Может есть конечно какие-то нюансы, но разве нельзя битмапки, заменить на иконки.


Вряд ли это так нахаляву удастся. SetMenuItemInfo / SetMenuItemBitmaps имеют дело именно с битмапами.
Можно, конечно, "протравить" исходные битмапы, заменив у них ключевой цвет (например, RGB(128,128,128)) на текущий системный цвет (GetSysColor(COLOR_MENU)).

К тому же, там размер нестандартный — 15*14, что ли.
... << RSDN@Home 1.2.0 alpha rev. 655>>
Перекуём баги на фичи!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.