Hello,
First, you don't need call D4D_ShowObject( &xxxx); in onActivate if the show property is not changing, but ina any case that is not the issue.
I guess, you are calling the function D4D_Init(&scr_home); to activate the Home screen in the init code of your application. That is the active screen now.
In the scr_home objects you need to include the code to switch to the new screen, for example, in a callback button function, you could have:
//Buttons Keyboard Callback
static void OnClick_Btn_Keyboard(D4D_OBJECT* pThis)
{
if(pThis==&butn_3L)
{
D4D_ActivateScreen(&scr_Place, D4D_FALSE);
}
}
Then, now the active screen is scr_Place, libray will take care ot redraw the new screen and hide the old objects .
scr_Place will need some event to go back to the previous screen, for example a button:
if(pThis==&btn_end)
{
D4D_EscapeScreen();
}
In your code I don't see any D4D_ActivateScreen or D4D_EscapeScreen
I assume, you have the screens with background color enabled or some bitmap. In the eGUI demos, you will see for example that Menu window hide the objects behind the Menu window.
Best Regards,
Luis