Me acabo de encontrar que compilando este codigo con la FWH 26.03, directamente no aparece la toolbar, mientras que compilado con FWH 25.04.2 funcionaba ok
Los recursos no importan porque los botones deberian aparecer igual, de hecho, la version de FWH anterior, muestra todo perfectamente.
El codigo es simple, lo generó una ia:
#include "FiveWin.ch"
#include "XBrowse.ch"
FUNCTION Main()
LOCAL oWndMain
LOCAL oMenu
MENU oMenu
MENUITEM "&Archivo"
MENU
MENUITEM "&Salir" ;
ACTION oWndMain:End()
ENDMENU
MENUITEM "&Ejemplos"
MENU
MENUITEM "&Abrir MDIChild" ;
ACTION VentanaPrueba( oWndMain )
ENDMENU
ENDMENU
DEFINE WINDOW oWndMain ;
TITLE "Prueba MDI + Toolbar + XBrowse" ;
MDI ;
MENU oMenu
ACTIVATE WINDOW oWndMain ;
MAXIMIZED
RETURN NIL
// ----------------------------------------------------------------------
// Ventana MDI Child
// ----------------------------------------------------------------------
FUNCTION VentanaPrueba( oWndMain )
LOCAL oWndChild
LOCAL oBar
LOCAL oBrw
LOCAL oImgList
LOCAL aDatos
LOCAL oBmpNuevo
LOCAL oBmpEditar
LOCAL oBmpBorrar
LOCAL oBmpSalir
// -------------------------------------------------------------------
// Array de prueba
// -------------------------------------------------------------------
aDatos := { ;
{ 1001, "Juan Pérez", "Buenos Aires", 12500.50 }, ;
{ 1002, "María Gómez", "Córdoba", 8300.00 }, ;
{ 1003, "Carlos López", "Rosario", 15250.75 }, ;
{ 1004, "Ana Martínez", "Mendoza", 9450.20 }, ;
{ 1005, "Pedro Sánchez", "Neuquén", 18700.00 }, ;
{ 1006, "Laura Fernández", "La Plata", 11300.25 }, ;
{ 1007, "José Rodríguez", "Quilmes", 7800.00 }, ;
{ 1008, "Marta González", "Bernal", 22100.80 } ;
}
// -------------------------------------------------------------------
// MDIChild
// -------------------------------------------------------------------
DEFINE WINDOW oWndChild ;
MDICHILD ;
OF oWndMain ;
TITLE "Clientes" ;
FROM 30, 30 ;
TO 550, 950 ;
PIXEL
// -------------------------------------------------------------------
// Bitmaps
//
// Estos nombres deben existir en tu archivo .RC:
//
// NUEVO
// EDITAR
// BORRAR
// SALIR
//
// -------------------------------------------------------------------
DEFINE BITMAP oBmpNuevo RESOURCE "NUEVO"
DEFINE BITMAP oBmpEditar RESOURCE "EDITAR"
DEFINE BITMAP oBmpBorrar RESOURCE "BORRAR"
DEFINE BITMAP oBmpSalir RESOURCE "SALIR"
// -------------------------------------------------------------------
// ImageList
// -------------------------------------------------------------------
oImgList := TImageList():New( 24, 24 )
oImgList:AddMasked( oBmpNuevo, RGB( 255, 0, 255 ) )
oImgList:AddMasked( oBmpEditar, RGB( 255, 0, 255 ) )
oImgList:AddMasked( oBmpBorrar, RGB( 255, 0, 255 ) )
oImgList:AddMasked( oBmpSalir, RGB( 255, 0, 255 ) )
// -------------------------------------------------------------------
// Toolbar
// -------------------------------------------------------------------
oBar := TToolBar():New( oWndChild, 32, 32, oImgList )
oBar:AddButton( ;
{ || MsgInfo( "Nuevo registro", "Toolbar" ) }, ;
"Nuevo", ;
"Nuevo registro" )
oBar:AddButton( ;
{ || MsgInfo( "Editar registro", "Toolbar" ) }, ;
"Editar", ;
"Editar registro" )
oBar:AddButton( ;
{ || MsgInfo( "Borrar registro", "Toolbar" ) }, ;
"Borrar", ;
"Borrar registro" )
oBar:AddSeparator()
oBar:AddButton( ;
{ || oWndChild:End() }, ;
"Salir", ;
"Cerrar ventana" )
// -------------------------------------------------------------------
// XBrowse
// -------------------------------------------------------------------
@ 10, 0 XBROWSE oBrw ;
OF oWndChild ;
ARRAY aDatos ;
AUTOCOLS ;
PIXEL
oBrw:aCols[ 1 ]:cHeader := "Código"
oBrw:aCols[ 2 ]:cHeader := "Nombre"
oBrw:aCols[ 3 ]:cHeader := "Localidad"
oBrw:aCols[ 4 ]:cHeader := "Importe"
oBrw:aCols[ 1 ]:nWidth := 80
oBrw:aCols[ 2 ]:nWidth := 220
oBrw:aCols[ 3 ]:nWidth := 160
oBrw:aCols[ 4 ]:nWidth := 120
oBrw:aCols[ 4 ]:nDataStrAlign := AL_RIGHT
oBrw:nMarqueeStyle := MARQSTYLE_HIGHLROW
oBrw:CreateFromCode()
// -------------------------------------------------------------------
// CLAVE DEL RESIZE
//
// FiveWin considera al browse como área cliente de la MDIChild.
// Al redimensionar la ventana, el browse se adapta automáticamente.
//
// La Toolbar ya ocupa la parte superior.
// -------------------------------------------------------------------
oWndChild:oClient := oBrw
// -------------------------------------------------------------------
// Activar
// -------------------------------------------------------------------
ACTIVATE WINDOW oWndChild
RETURN NILMuchos saludos
Alejandro Cebolido
Buenos Aires, Argentina
Buenos Aires, Argentina