Круглые кнопки с изображением

Это русская секция форума wxWidjets. В этой секции вы можете обсуждать любые вопросы, связанные с wxWidgets на вашем родном языке.
Post Reply
MizantropLoL
Earned a small fee
Earned a small fee
Posts: 18
Joined: Sun May 08, 2016 3:45 pm

Круглые кнопки с изображением

Post by MizantropLoL » Thu Sep 29, 2016 10:43 pm

Здравствуйте. Собственно, хочу сделать окошко с фоновым изображением и круглыми кнопками (из изображений).
На окно вместо wxPanel бросил wxStaticBitmap (они оба от wxWindow наследуются, поэтому я решил, что вполне можно заменить. Кошерно ли так делать, или лучше как-то иначе?), а в качестве кнопок использую wxBitmapButton со стилем wxBORDER_NONE. Беда в том, что края квадрата все равно торчат белыми треугольниками. Пробовал использовать SetBackgroundStype для кнопок, однако не помогло. Изображения в формате png и после загрузки, IsTransparent() возвращает true.
В общем, где я ошибся и как сделать правильно?

User avatar
T-Rex
Moderator
Moderator
Posts: 1179
Joined: Sat Oct 23, 2004 9:58 am
Location: Zaporizhzhya, Ukraine
Contact:

Re: Круглые кнопки с изображением

Post by T-Rex » Fri Sep 30, 2016 7:50 am

Ну, у обычных контролов форма и будет квадратная. Чтобы сделать круглую надо либо копировать кусок фона родителя (но тогда нельзя чтобы контролы перекрывались). Или же делать shaped контролы, но это уже родным API, скорее всего. Под Windows врде SetWindowRgn(), под GTK не осилил, там как-то странно все.

MizantropLoL
Earned a small fee
Earned a small fee
Posts: 18
Joined: Sun May 08, 2016 3:45 pm

Re: Круглые кнопки с изображением

Post by MizantropLoL » Fri Sep 30, 2016 11:20 am

А почему нельзя делать контрол прозрачным? Вроде ж есть метод. Или я как-то не правильно понимаю его предназначение?

User avatar
T-Rex
Moderator
Moderator
Posts: 1179
Joined: Sat Oct 23, 2004 9:58 am
Location: Zaporizhzhya, Ukraine
Contact:

Re: Круглые кнопки с изображением

Post by T-Rex » Fri Sep 30, 2016 11:52 am

Эээ... я про контрол что-то не помню. У формы да, вроде есть.
Тут вроде вот обсуждали, но не помню чем все закончилось. Хочешь - попробуй и расскажешь как оно :)

MizantropLoL
Earned a small fee
Earned a small fee
Posts: 18
Joined: Sun May 08, 2016 3:45 pm

Re: Круглые кнопки с изображением

Post by MizantropLoL » Fri Sep 30, 2016 1:35 pm

В общем, я прочитал внимательнее:
"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).
Я так понял, для винды надо какой-то костыль пилить обязательно, да? :(

User avatar
T-Rex
Moderator
Moderator
Posts: 1179
Joined: Sat Oct 23, 2004 9:58 am
Location: Zaporizhzhya, Ukraine
Contact:

Re: Круглые кнопки с изображением

Post by T-Rex » Fri Sep 30, 2016 5:03 pm

Да. И в том топике что я дал, костыль с SetWindowRgn() работает вроде норм.

Post Reply