Page 1 of 1

Problema con el re pintado

Posted: Wed Jun 26, 2024 4:03 pm
by Armando
Amigos del foro, saludos

En un xBrowse con la tecla de flecha hacia abajo avanzo y al retroceder
con la tecla flecha hacia arriba o la rueda del ratón el repintado del browse
se distorsiona, tal como se ve en la imagen adjunta, eso pasa en el servidor
de mi cliente, en mi PC de desarrollo no sucede.

Image

Alguna idea?

Muchas gracias

Re: Problema con el re pintado

Posted: Wed Jun 26, 2024 4:35 pm
by karinha
Armando, usas este comando:

Code: Select all | Expand

   :lFastDraw   := .T. // Marc
 
???

Regards, saludos.

Re: Problema con el re pintado

Posted: Thu Jun 27, 2024 7:19 pm
by Armando
Karinha:

No.

Saludos

Re: Problema con el re pintado

Posted: Fri Jun 28, 2024 9:06 am
by Antonio Linares
Copia aqui el código que estás usando, gracias

Re: Problema con el re pintado

Posted: Fri Jun 28, 2024 3:41 pm
by Armando
Maestro Antonio:

Dejo el código y el link a un video para mejor comprensión

https://drive.google.com/file/d/1isZwVf ... sp=sharing

Code: Select all | Expand

            REDEFINE XBROWSE oBrw ID 200 OF oDlg;
                DATASOURCE oRsCli;
                COLUMNS "CLI_NOM","CLI_RFC","CLI_NUM";
                HEADERS "Nombre o razón social","Reg.Fed.Con.","Número";
                COLSIZES 200,100,50;
                PICTURES Nil,Nil,"@Z 999";
                JUSTIFY {AL_LEFT,AL_LEFT,AL_RIGHT};
                FOOTERS AUTOSORT

                WITH OBJECT oBrw
                    :l2007            := (.F.)
                    :lHScroll         := (.F.)
                    :lVScroll         := (.F.)
                    :nMarqueeStyle    := MARQSTYLE_HIGHLROW
                    :nColDividerStyle := LINESTYLE_LIGHTGRAY
                    :nRowDividerStyle := LINESTYLE_LIGHTGRAY
                    :nStretchCol      := STRETCHCOL_WIDEST
                    :nHeaderHeight      := 25
                    :nRowHeight         := 22
                    :nFooterHeight      := 25
                    :bClrHeader       := { || {CLR_WHITE,CLR_BLACK} }
                    :bClrFooter       := { || {CLR_WHITE,CLR_BLACK} }
                    :bClrSel          := { || IF( oBrw:KeyNo % oApp:nRowsInt == 0 ,{ CLR_BLACK, oApp:nRowParClr },{ CLR_BLACK, oApp:nRowNonClr }) }
                    :bClrSelFocus     := { || {oApp:nFClrFocus,oApp:nBClrFocus} }
                    :bClrStd          := { || IF( oBrw:KeyNo % oApp:nRowsInt == 0 ,{ CLR_BLACK, oApp:nRowParClr },{ CLR_BLACK, oApp:nRowNonClr }) }
                    :nRecSelColor     := oApp:nRowParClr
                    :lDisplayZeros    := (.F.)

               :blDblClick       := { | nRow, nCol, nKey | Editar(oBrw,(.F.))}
               :bKeyDown         := { | nKey, nFlags | IIF(nKey == VK_RETURN,Editar(oBrw,(.F.)),)}

                    WITH OBJECT :aCols[01]
                        :cOrder := "A"
                    END
                END
 
Muchas gracias, saludos

Re: Problema con el re pintado

Posted: Fri Jun 28, 2024 4:30 pm
by karinha
Armando, prueba y comenta, pls.

Code: Select all | Expand

// Class TXBrowse group headers demo

#include "FiveWin.ch"
#include "XBrowse.ch"

REQUEST DBFCDX

FUNCTION Main()

   LOCAL oWnd, oBar, oFont

   SET DATE ITALIAN
   SET CENTURY ON

   rddSetDefault( 'DBFCDX' )

   DEFINE FONT oFont NAME 'TAHOMA' SIZE 0, - 12

   DEFINE WINDOW oWnd MDI ;
      TITLE "Testing GroupHeaders support for xBrowse"

   oWnd:SetFont( oFont )

   DEFINE BUTTONBAR oBar OF oWnd 2007

   DEFINE BUTTON OF oBar FILE "..\bitmaps\16x16\exit.bmp" ACTION ( oWnd:End() )

   DEFINE BUTTON OF oBar FILE "..\bitmaps\16x16\New.bmp"  ACTION ( TestHeader() )

   ACTIVATE WINDOW oWnd MAXIMIZED

   RELEASE FONT oFont

RETURN NIL

FUNCTION TestHeader()

   LOCAL oWnd, oBrw, oBold, cClrBack
   LOCAL cAlias  := cGetNewAlias( 'CUST' )

   USE CUSTOMER NEW SHARED ALIAS ( cAlias )

   DEFINE FONT oBold NAME 'VERDANA' SIZE 0, - 14 BOLD

   DEFINE WINDOW oWnd MDICHILD OF WndMain()

   @ 0, 0 XBROWSE oBrw OF oWnd ;
      COLUMNS 'First', 'Last', 'Street', 'City', 'State', ;
      'Zip',   'HireDate', 'Married', 'Age' ;
      COLSIZES 100, 100, 100, 100 ;
      ALIAS cAlias CELL LINES ;
      FOOTERS AUTOSORT

   /* HEADERS 'First' + CRLF + 'Name', 'Last' + CRLF + 'Name' */ ;

   /* // original
   WITH OBJECT oBrw
      :SetGroupHeader( 'EMPLOYEE' + CRLF + 'NAME',    1, 2, oBold )
      :SetGroupHeader( 'ADDRESS', 3, 6, oBold )
      :SetGroupHeader( 'OTHER',   8, 9, oBold )
      :Married:SetCheck()
      :nStretchCol   := :Street:nCreationOrder
   END
   */

   // Armando:

   WITH OBJECT oBrw

      :l2007            := .F.
      :lHScroll         := .F.
      :lVScroll         := .F.

      :nMarqueeStyle    := MARQSTYLE_HIGHLROW
      :nColDividerStyle := LINESTYLE_LIGHTGRAY
      :nRowDividerStyle := LINESTYLE_LIGHTGRAY
      :nStretchCol      := STRETCHCOL_WIDEST

      :nHeaderHeight    := 25
      :nRowHeight       := 22
      :nFooterHeight    := 25

      :bClrHeader       := {|| { CLR_WHITE, CLR_BLACK } }
      :bClrFooter       := {|| { CLR_WHITE, CLR_BLACK } }

      // Armando
      // :bClrSel       := {|| IF( oApp:KeyNo % oApp:nRowsInt == 0, { CLR_BLACK, oApp:nRowParClr }, { CLR_BLACK, oApp:nRowNonClr } ) }

      :bClrSel = { || { If( ( oBrw:cAlias )->( Deleted() ), CLR_BLACK, CLR_WHITE ),;
                           RGB( 34, 177, 76 ) } } //RGB( 0x33, 0x66, 0xCC ) } }

      cClrBack = Eval( oBrw:bClrSelFocus )[ 2 ]

      // Armando
      // :bClrSelFocus     := {|| { oApp:nFClrFocus, oApp:nBClrFocus } }

      :bClrSelFocus  := { || { If( ( oBrw:cAlias )->( Deleted() ), CLR_HRED, CLR_WHITE ),;
                              cClrBack } }

      // Armando
      // :bClrStd          := {|| IF( oBrw:KeyNo % oApp:nRowsInt == 0, { CLR_BLACK, oApp:nRowParClr }, { CLR_BLACK, oApp:nRowNonClr } ) }

      :bClrStd = { || If( oBrw:KeyNo() % 2 == 0, ;
                         { If( ( oBrw:cAlias )->( Deleted() ), CLR_HRED, CLR_BLUE ),;
                           RGB( 198, 255, 198 ) }, ;
                         { If( ( oBrw:cAlias )->( Deleted() ), CLR_HRED, CLR_BLUE ),;
                           RGB( 232, 255, 232 ) } ) }

      // Armando
      // :nRecSelColor     := oApp:nRowParClr //???
      :nRecSelColor     :=   nRgb( 245,244,234)

      :lDisplayZeros    := .F.

      :blDblClick       := {| nRow, nCol, nKey | Editar( oBrw, ( .F. ) ) }
      :bKeyDown         := {| nKey, nFlags | iif( nKey == VK_RETURN, Editar( oBrw, .F. ), ) }

      WITH OBJECT :aCols[ 01 ]
         :cOrder := "A"
      END

   END

   // original
   AEval( oBrw:aCols, {| o | o:nHeadStrAlign := AL_CENTER } )

   // original
   /*
   WITH OBJECT oBrw:aCols[ 6 ]
      :AddBmpFile( '..\bitmaps\mail.bmp' )
      :nGrpBmpNo  := 1
   END
   */

   /* // original
   oBrw:bRClicked := {|| oBrw:SetGroupHeader( 'CITY', 5, 6, oBold ) }
   oBrw:lAllowColReGroup  := .T.
   */

   oBrw:CreateFromCode()

   oWnd:oClient := oBrw

   ACTIVATE WINDOW oWnd MAXIMIZED ;
      ON INIT oBrw:SetFocus() ;
      VALID( oBold:End(), .T. )

RETURN NIL

FUNCTION Editar( oBrw,  lEdit  )

RETURN NIL

// fin / end
 
Regards, saludos.