Centering an icon in a BITMAPBUTTON
-
Hello,
I'm creating bitmap buttons with the following code. To control the size of the icon, I'm usingBITMAPBUTTON_FORCE_SIZE
. If the Bitmap Button and the icon are different sizes, this puts the icon at the top left of the button. Is it possible to center the icon in the button? I didn't see any properties in the BITMAPBUTTON documentation that indicates that this is possible. If it is not, how could I go about getting the desired result (screenshot below) with a resized icon in GeDialog?bc = c4d.BaseContainer() bc.SetBool(c4d.BITMAPBUTTON_BUTTON, True) bc.SetInt32(c4d.BITMAPBUTTON_FORCE_SIZE, 12) bc.SetInt32(c4d.BITMAPBUTTON_ICONID1, 1026694) bc.SetString(c4d.BITMAPBUTTON_TOOLTIP, "<b>Title</b><br>Tooltip") bmpBtn = self.AddCustomGui(BUTTON_ID, c4d.CUSTOMGUI_BITMAPBUTTON, "Bitmap Button", c4d.BFH_LEFT | c4d.BFV_CENTER | c4d.BFV_SCALE, c4d.gui.SizePix(30), c4d.gui.SizePix(30), bc)
Current:
Desired:
Thanks!
-
hi,
Here's the code for the bitmap button. As you can see, either -1 or >0 will make the bitmap to be drawn from 0,0. (top corner of the UserArea)if (special_size == -1) { DrawBitmap(img, 0, 0, GetWidth(), GetHeight(), 0, 0, w, h, drawflags); } else if (special_size) { DrawBitmap(img, 0, 0, special_size, special_size_y, 0, 0, w, h, drawflags); } else {
The final else is for when you don't specify any size.
So it's not possible in a BITMAPBUTTON.
But maybe you can retrieve the icon you want, resize it, and register it as a new icon.
Cheers,
Manuel -
@m_magalhaes Thank you for clarifying the Bitmap Button, Manuel.