Здравствуйте. Собственно, хочу сделать окошко с фоновым изображением и круглыми кнопками (из изображений).
На окно вместо wxPanel бросил wxStaticBitmap (они оба от wxWindow наследуются, поэтому я решил, что вполне можно заменить. Кошерно ли так делать, или лучше как-то иначе?), а в качестве кнопок использую wxBitmapButton со стилем wxBORDER_NONE. Беда в том, что края квадрата все равно торчат белыми треугольниками. Пробовал использовать SetBackgroundStype для кнопок, однако не помогло. Изображения в формате png и после загрузки, IsTransparent() возвращает true.
В общем, где я ошибся и как сделать правильно?
Круглые кнопки с изображением
-
- Earned a small fee
- Posts: 18
- Joined: Sun May 08, 2016 3:45 pm
- T-Rex
- Moderator
- Posts: 1248
- Joined: Sat Oct 23, 2004 9:58 am
- Location: Zaporizhzhya, Ukraine
- Contact:
Re: Круглые кнопки с изображением
Ну, у обычных контролов форма и будет квадратная. Чтобы сделать круглую надо либо копировать кусок фона родителя (но тогда нельзя чтобы контролы перекрывались). Или же делать shaped контролы, но это уже родным API, скорее всего. Под Windows врде SetWindowRgn(), под GTK не осилил, там как-то странно все.
-
- Earned a small fee
- Posts: 18
- Joined: Sun May 08, 2016 3:45 pm
Re: Круглые кнопки с изображением
А почему нельзя делать контрол прозрачным? Вроде ж есть метод. Или я как-то не правильно понимаю его предназначение?
- T-Rex
- Moderator
- Posts: 1248
- Joined: Sat Oct 23, 2004 9:58 am
- Location: Zaporizhzhya, Ukraine
- Contact:
Re: Круглые кнопки с изображением
Эээ... я про контрол что-то не помню. У формы да, вроде есть.
Тут вроде вот обсуждали, но не помню чем все закончилось. Хочешь - попробуй и расскажешь как оно
Тут вроде вот обсуждали, но не помню чем все закончилось. Хочешь - попробуй и расскажешь как оно
-
- Earned a small fee
- Posts: 18
- Joined: Sun May 08, 2016 3:45 pm
Re: Круглые кнопки с изображением
В общем, я прочитал внимательнее:
"Under wxGTK and wxOSX, you can use wxBG_STYLE_TRANSPARENT to obtain full transparency of the window background.".
Это в описании метода SetBackgroundStyle для wxWindow (http://docs.wxwidgets.org/3.0.2/classwx ... f9fd6594ec).
Я так понял, для винды надо какой-то костыль пилить обязательно, да?
"Under wxGTK and wxOSX, you can use wxBG_STYLE_TRANSPARENT to obtain full transparency of the window background.".
Это в описании метода SetBackgroundStyle для wxWindow (http://docs.wxwidgets.org/3.0.2/classwx ... f9fd6594ec).
Я так понял, для винды надо какой-то костыль пилить обязательно, да?
- T-Rex
- Moderator
- Posts: 1248
- Joined: Sat Oct 23, 2004 9:58 am
- Location: Zaporizhzhya, Ukraine
- Contact:
Re: Круглые кнопки с изображением
Да. И в том топике что я дал, костыль с SetWindowRgn() работает вроде норм.