Dialog size
-
On 28/08/2018 at 01:33, xxxxxxxx wrote:
User Information:
Cinema 4D Version: R18
Platform: Windows ;
Language(s) : C++ ;---------
Hello.I have a resizable dialog and I need to know its width and height.
Is there a way to do it in Message method listening to BFM_SIZED ?
In general, how else can I know its size ?Thank you.
Petros. -
On 29/08/2018 at 00:44, xxxxxxxx wrote:
Hi Petros,
maybe take a look at the GetItemDim() function. You could call it on your parent dialog group - might get what you're after?
WP.
-
On 29/08/2018 at 04:48, xxxxxxxx wrote:
Hello.
GetItemDim() works fine ! It returns the size of the requested ID.
There is another problem though if used in Message listening to BFM_SIZED.
If I double click the Dialog's Title bar causing the dialog to be maximized, it returns the previous width (not the maximized one).
So it appears that BFM_SIZED is not the right message to use in order to retrieve the correct Param width. I need the size after the resizing.Thank you.
-
On 30/08/2018 at 09:05, xxxxxxxx wrote:
Hi Peterakos,
Sorry for the delay, even if it's marked as private you can use BFM_ADJUSTSIZE as bellow to know the current size of the windows.
Int32 YourGeDialog::Message(const BaseContainer& msg, BaseContainer& result) { switch (msg.GetId()) { case BFM_ADJUSTSIZE: { Int32 w = msg.GetInt32(BFM_ADJUSTSIZE_WIDTH); Int32 h = msg.GetInt32(BFM_ADJUSTSIZE_HEIGHT); break; } } return GeDialog::Message(msg, result); }
If you have any questions, please let me know.
Cheers,
Maxime!