Вот такая ерунда получается, подскажите как сделать так, чтобы фона не было видно?
Кстати на моей машине его и не видно, за то на других проявляется этот баг
Здравствуйте, Alex_PS, Вы писали:
A_P>Вот такая ерунда получается, подскажите как сделать так, чтобы фона не было видно? A_P>Кстати на моей машине его и не видно, за то на других проявляется этот баг
A_P>
Может есть конечно какие-то нюансы, но разве нельзя битмапки, заменить на иконки. + может пригодится: нужно было выводить квадратик с закруглёнными углами, обязательно битмап. Выход нашёл такой — использовать функцию MaskBlt, один из параметров исходный битмап (не с закруглёнными углами), второй маска — на ней можно сделать прозрачными необходимые области, если выделить их белым, если правильно помню.
Железной рукой загоним человечество в счастье.
Re[2]: Виден фон у битмапок в меню и тулбаре. Как пофиксить?
C>Может есть конечно какие-то нюансы, но разве нельзя битмапки, заменить на иконки. + может пригодится: нужно было выводить квадратик с закруглёнными углами, обязательно битмап. Выход нашёл такой — использовать функцию MaskBlt, один из параметров исходный битмап (не с закруглёнными углами), второй маска — на ней можно сделать прозрачными необходимые области, если выделить их белым, если правильно помню.
А есть пример кода? Или хоты бы ссылка на описание похожей проблемы и методов ее устранения.
Re: Виден фон у битмапок в меню и тулбаре. Как пофиксить?
Здравствуйте, Alex_PS, Вы писали:
A_P>Вот такая ерунда получается, подскажите как сделать так, чтобы фона не было видно? A_P>Кстати на моей машине его и не видно, за то на других проявляется этот баг
Кстати поставь у себя в винде тему типа Rainy Day — сразу всё видно станет.
1.2.0 alpha rev. 655
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[3]: Виден фон у битмапок в меню и тулбаре. Как пофиксить?
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]: Виден фон у битмапок в меню и тулбаре. Как пофиксить?
Здравствуйте, Checkist82, Вы писали:
C>Может есть конечно какие-то нюансы, но разве нельзя битмапки, заменить на иконки.
Вряд ли это так нахаляву удастся. SetMenuItemInfo / SetMenuItemBitmaps имеют дело именно с битмапами.
Можно, конечно, "протравить" исходные битмапы, заменив у них ключевой цвет (например, RGB(128,128,128)) на текущий системный цвет (GetSysColor(COLOR_MENU)).
К тому же, там размер нестандартный — 15*14, что ли.