Io l'ho acquistata da Paco ma mi resta difficile creare una finestra diversa dagli esempi della classe
Per esempio volevo costruire una finestra tipo il programma di alanit

l'autore ( alanit) mi ha inviato che usa vtaskbar con Tfsdi
probabilmente sbaglio qualcosa ma a me non mi viene niente anzi mi disegna una finestra un po stretta e lunga diversa da come è nella figura
il codice della finesta d'esempio inviata da alanit è la seguente
Code: Select all | Expand
Function Dialogo1() oApp():oDlg := TFsdi():New( oApp():oWndMain ) oApp():oDlg:cTitle := i18n( "Gestión de Idiomas" ) oBrw := TXBrowse():New( oApp():oDlg )oBrw:nTop := 00oBrw:nLeft := nBrwSplit+2oBrw:nBottom := ( oApp():oDlg:nHeight() - 22 ) / 2oBrw:nRight := ( oApp():oDlg:nWidth() ) / 2setBrwConfig( oBrw )oBrw:cAlias := "ID" oCol := oBrw:AddCol() oCol:bStrData := { || ID->Idioma } oCol:cHeader := i18n( "Idioma" ) oCol:nWidth := 479 aEval( oBrw:aCols, { |oCol| oCol:bLDClickData := { || IdForm( oBrw,"edt", oCont ) } } ) oBrw:SetRDD() oBrw:CreateFromCode() oApp():oDlg:oClient := oBrwoBrw:RestoreState( cBrwState )oBrw:bChange := { || RefreshCont( oCont, "ID" ) }oBrw:bKeyDown := { |nKey| IdTecla( nKey, oBrw, oCont, oApp():oDlg ) }oBrw:nRowHeight := 21 @ 05, 05 VMENU oCont SIZE nBrwSplit-10, 18 OF oApp():oDlg ;COLOR CLR_BLACK, GetSysColor(15) ;COLORBORDE RGB( 0, 0, 0 ) ; FILLED UNDERLINE ; // BORDER COLORSELECT 0, CLR_WHITE ; HEIGHT ITEM 22 BORDER DEFINE TITLE OF oCont ; CAPTION strZero( ID->( ordKeyCount() ), 6 ) ; HEIGHT 25 ; COLOR GetSysColor(9), GetSysColor(2) ; IMAGE "BB_IDIOMAS" ; RADIOBTN 15 ROUNDSQUARE FONT oFont @ 27, 05 VMENU oBar SIZE nBrwSplit-10, 125 OF oApp():oDlg ;COLOR CLR_BLACK, GetSysColor(15) ;COLORBORDE RGB( 0, 0, 0 ) ; FILLED UNDERLINE ; // BORDER COLORSELECT 0, CLR_WHITE ; HEIGHT ITEM 22 BORDER DEFINE TITLE OF oBar ; CAPTION i18n( "idiomas" ) ; HEIGHT 25 ; COLOR GetSysColor(9), GetSysColor(2) ; OPENCLOSE RADIOBTN 15 ROUNDSQUARE DEFINE VMENUITEM OF obar ; HEIGHT 10 DEFINE VMENUITEM OF oBar ; CAPTION "Nuevo" ; IMAGE "SH_NUEVO" ; ACTION ( IdForm( oBrw, "add", oCont, ) ) ; LEFT 10 DEFINE VMENUITEM OF oBar ; CAPTION "Modificar" ; IMAGE "SH_MODIF" ; ACTION ( IdForm( oBrw, "edt", oCont ) ) ; LEFT 10 DEFINE VMENUITEM OF oBar ; CAPTION "Duplicar" ; IMAGE "SH_DUPLICA" ; ACTION ( IdForm( oBrw, "dup", oCont ) ) ; LEFT 10 DEFINE VMENUITEM OF oBar ; CAPTION "Borrar" ; IMAGE "SH_BORRAR" ; ACTION ( IdDel( oBrw, oCont ) ) ; LEFT 10 DEFINE VMENUITEM OF oBar ; CAPTION "Buscar" ; IMAGE "SH_BUSCA" ; ACTION ( IdSeek( oBrw, oCont, ) ) ; LEFT 10 DEFINE VMENUITEM OF oBar ; CAPTION "Imprimir" ; IMAGE "SH_IMPRIMIR" ; ACTION ( IdPrint( oBrw ) ) ; LEFT 10 DEFINE VMENUITEM OF oBar ; INSET HEIGHT 15 DEFINE VMENUITEM OF oBar ; CAPTION "Configurar rejilla" ; IMAGE "SH_GRID" ; ACTION ( CfgRejilla( oBrw, "IdState" ), oBrw:setFocus() ) ; LEFT 10 DEFINE VMENUITEM OF oBar ; CAPTION "Salir" ; IMAGE "SH_SALIR" ; ACTION ( oApp():oDlg:End() ) ; LEFT 10 @ ( oApp():oDlg:nHeight / 2 ) - 11, nBrwSplit+2 TABS oTab ; OPTION nBrwOrder ; SIZE oApp():oWndMain:nWidth() - 80, 12 ; PIXEL ; OF oApp():oDlg ; ITEMS " Idioma " ; COLOR CLR_BLACK, GetSysColor(15) - rgb( 30, 30, 30 ) ;// 13362404 ACTION ( IdTabs( oBrw, nBrwOrder, oCont ) ) @ 00, nBrwSplit SPLITTER oSplit ;VERTICAL ; PREVIOUS CONTROLS oCont, oBar ; HINDS CONTROLS oBrw, oTab ; SIZE 1, (oApp():oDlg:nHeight/2)+1 PIXEL ; OF oApp():oDlg ; _3DLOOK ; UPDATEIF nBrwRecno <= ID->( ordKeyCount() )ID->( dbGoTo( nBrwRecno ) )ENDIF ACTIVATE DIALOG oApp():oDlg NOWAIT ;ON INIT ( oApp():oDlg:Move( oApp():oWndMain:nTop + oApp():oDlg:nYMove,oApp():oWndMain:nLeft + 3 ),;oTab:setOption( nBrwOrder ),; oBrw:Refresh(), oBrw:SetFocus() ) ; VALID ( SetIni( , "Browse", "IdState", oBrw:SaveState() ),; SetIni( , "Browse", "IdOrder", ID->( ordNumber() ) ),; SetIni( , "Browse", "IdRecno", ID->( recNo() ) ),; SetIni( , "Browse", "IdSplit", lTrim( str( oSplit:nleft / 2 ) ) ),; oBar:End(),; oFont:End(),; dbCloseAll(),; .t. )