Page 1 of 1

Splitter y xBrowse

Posted: Sat Apr 29, 2006 12:57 am
by Marco A. Delgado
Hola

Tengo un pequeño problema en una ventana mdichild, no logro que el xbrowse se ajuste con el splitter

este es mi codigo

Code: Select all

      DEFINE WINDOW aWChild[1] MDICHILD OF oWndPrinc ;
             TITLE "Listado de Recaudaciones"        ;
				 FONT oWndPrinc:oFont                    ;
				 ICON oIconReca                          ;
				 COLOR CLR_BLACK, CLR_NBLUE       

         @ -1, -1 OUTLOOK oOut ;
                SIZE 100, aWChild[1]:nHeight() ;
                FONT aWChild[1]:oFont ;
                PIXEL ;
                OF aWChild[1]

                DEFINE GROUP OF OUTLOOK oOut PROMPT "&Departamentos"

                DEFINE BITMAP OF OUTLOOK oOut ;
                       GROUP 1 RESOURCE "Recauda"    ;
                       PROMPT "Recaudación" ;
                       TOOLTIP "Recaudaciones de Unidades"

			    WITH OBJECT oBrw := TXBrowse():New( aWChild[1] )
						 :SetMySQL(@oTable)
             		:nMarqueeStyle       := MARQSTYLE_HIGHLROW
             		:nColDividerStyle    := LINESTYLE_RAISED
             		:SetColor(CLR_BLACK, RGB(255,255,235))
             		:bClrSelFocus        := {|| { CLR_WHITE, RGB(24, 116, 205) } }
	                :nFreeze             := 4
             		:nHeaderLines        := 2
             		:lColDividerComplete := .t.
					

	               WITH OBJECT :AddCol()
	               	  :bStrData      := { || FormFec('[DDD]/[MMM]/[AA]', oTable:Fecha) }
	               	  :cHeader       := "Fecha de" + CRLF + "Recaudación"
                       :nHeadStrAlign := AL_CENTER
                       :nDataStrAlign := AL_CENTER
                       :nWidth        := 80
						END

	               WITH OBJECT :AddCol()
	               	  :bStrData      := { || oTable:Recaudador }
	               	  :cHeader       := "Nombre de" + CRLF + "Recaudadora"
                       :nHeadStrAlign := AL_CENTER
                       :nDataStrAlign := AL_LEFT
                       :nWidth        := 150
						END

				 END

             @  0, 100 SPLITTER oSpl1       ;
                   VERTICAL                 ;
                   PREVIOUS CONTROLS oOut   ;
						 HINDS CONTROLS oBrw      ;
                   LEFT MARGIN 70           ;
                   RIGHT MARGIN 200         ;
                   SIZE 4, 1000 PIXEL        ;
                   OF aWChild[1]            ;
                   _3DLOOK UPDATE

				 oBrw:CreateFromCode()
				 aWChild[1]:oLeft()  := oOut
             //aWChild[1]:oRight()  := oBrw
				 aWChild[1]:oClient   := oBrw


      ACTIVATE WINDOW aWChild[1] MAXIMIZED ;
					ON RESIZE ( oSpl1:AdjRight())    ;
               VALID ((aWChild[1] := Nil, SalirC(oIni)), .T. )
y esto es lo que obtengo
Image[/img]

en la figura no se ve bien el splitter, he probado con:
ospl1:Adjust(.f., .f., .t., .t.)
ospl1:AdjRight()
ospl1:adjLeft()

y nada he visto que en otras aplicaciones si se ajusta, que es lo que estoy haciendo mal, alguien me podria orientar

De antemano muchas gracias

Saludos
Marco A. Delgado

Posted: Mon May 01, 2006 7:35 pm
by Marco A. Delgado
Resuelto... :D


Saludos

Marco A. Delgado.

Posted: Tue May 02, 2006 11:21 pm
by VeRCE
Marco A. Delgado wrote:Resuelto... :D


Saludos

Marco A. Delgado.
Como lo resolviste ???
yo no lo he podido hacer funcionar.
Me puedes enviar un ejemplo ???
Gracias

jcso @ esm.com.mx

Saludos

Posted: Tue May 02, 2006 11:48 pm
by Marco A. Delgado
Hola Carlos

viendo la clase hice esto

Code: Select all

      DEFINE WINDOW aWChild[1] MDICHILD OF oWndPrinc ;
             TITLE "Listado de Recaudaciones"        ;
	     ICON oIconReca                          ;
	     COLOR CLR_BLACK, CLR_NBLUE

	     WITH OBJECT oBrwRec := TXBrowse():New( aWChild[1] )
						:SetMySQL(@oTable)
             		:nMarqueeStyle       := MARQSTYLE_HIGHLROW
             		:nColDividerStyle    := LINESTYLE_RAISED
             		:SetColor(CLR_BLACK, RGB(255,255,235))
             		:bClrSelFocus        := {|| { CLR_WHITE, RGB(24, 116, 205) } }
	                :nFreeze             := 4
             		:nHeaderLines        := 2
             		:lColDividerComplete := .t.
                        :nLeft               := 230  <<---- esto ****

	               WITH OBJECT :AddCol()
	               	  :bStrData      := { || FormFec('[DDD]/[MMM]/[AA]', oTable:Fecha) }
	               	  :cHeader       := "Fecha de" + CRLF + "Recaudación"
                          :nHeadStrAlign := AL_CENTER
                          :nDataStrAlign := AL_CENTER
                          :nWidth        := 80
		       END

	               WITH OBJECT :AddCol()
	               	  :bStrData      := { || oTable:Recaudador }
	               	  :cHeader       := "Nombre de" + CRLF + "Recaudadora"
                          :nHeadStrAlign := AL_CENTER
                          :nDataStrAlign := AL_LEFT
                          :nWidth        := 150
		       END
       	     END

             @  0, 225 SPLITTER oSpl       ;
                   VERTICAL _3DLOOK         ;
		   HINDS CONTROLS oBrwRec   ;
                   SIZE 4, 4 PIXEL          ;
                   OF aWChild[1] UPDATE

		   oBrwRec:CreateFromCode()
		   aWChild[1]:bResized := {|| oSpl:AdjClient(), oSpl:Adjust()  }

      ACTIVATE WINDOW aWChild[1] MAXIMIZED ;
		   ON INIT oBrwRec:SetFocus()  ;
		   VALID (SalirRec( oIni ), .T. )
segun la txbrowse, tiene los parametros de:

::nTop := 0
::nLeft := 0
::nBottom := 100
::nRight := 100

por default en el metodo new, solo hay que modificarlos para poder usarlo con CreateFromCode()

Espero te sirva

Saludos

Marco A. Delgado.

post. gracias por VERCE

Posted: Wed May 03, 2006 2:05 pm
by VeRCE
Gracias ;)
Probaré y veremos que pasa