Manuel,
Localizado el problema del foco, se debe al cambio reciente en mdi.c:
Antes teníamos (y con este código el foco va bien):
Code: Select all | Expand
LRESULT WINAPI _WndFrameProc( HWND hWnd, UINT wMsg, WPARAM wParam, LPARAM lParam )
{
return DefFrameProc( hWnd, GetWindow( hWnd, GW_CHILD ), wMsg, wParam, lParam );
}
Este es el más reciente y que causa el problema:
Code: Select all | Expand
LRESULT WINAPI _WndFrameProc( HWND hWnd, UINT wMsg, WPARAM wParam, LPARAM lParam )
{
HWND hWndClient = GetWindow( hWnd, GW_CHILD );
char szName[ 20 ];
GetClassName( hWndClient, szName, 19 );
while( hWndClient && strcmp( szName, "MDICLIENT" ) != 0 )
{
hWndClient = GetWindow( hWndClient, GW_HWNDNEXT );
GetClassName( hWndClient, szName, 19 );
}
return DefFrameProc( hWnd, hWndClient, wMsg, wParam, lParam );
}
Asi que de momento hay que usar la versión anterior hasta que verifiquemos si hay algun error en el código del nuevo.