Vtaskbar class

Moderator: Enrico Maria Giordano

Post Reply
User avatar
Silvio
Posts: 3107
Joined: Fri Oct 07, 2005 6:28 pm
Location: Teramo,Italy

Vtaskbar class

Post by Silvio »

Qualcuno di voi sta usando questa classe ?
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

Image

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


Function Dialogo1()



    oApp():oDlg := TFsdi():New( oApp():oWndMain )
    oApp():oDlg:cTitle := i18n( "Gestión de Idiomas" )

    oBrw := TXBrowse():New( oApp():oDlg )

oBrw:nTop    := 00
oBrw:nLeft   := nBrwSplit+2
oBrw:nBottom := ( oApp():oDlg:nHeight() - 22 ) / 2
oBrw:nRight  := ( oApp():oDlg:nWidth() ) / 2

setBrwConfig( 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 := oBrw

oBrw: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 ;
       UPDATE

IF 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. )
Best Regards, Saludos

Falconi Silvio
Post Reply