Posicion del Combobox con REDEFIN *** Solucionado ***

Posicion del Combobox con REDEFIN *** Solucionado ***

Postby Blessed » Mon Jun 09, 2008 5:56 pm

Saludos amigos del Foro:

Tengo un problema con el comportamiento de una serie de Combobox, veran, son 4 combobox, el primero determina el contenido de los siguientes tres, es decir si el elemento seleccionado del primer combo cambiara automaticamente el de los siguientes.

Estan bajo la clausula REDEFINE COMBOBOX oCombo VAR cModelos ITEMS aModelos ID 170 OF oDTipoV UPDATE

Los combobox los vacio con oCombo:SetItems( {} )
y procedo a rellenarlos con oCombo:ADD( cModelo )

Todo lo hace correctamente, con la salvedad de que con Windows XP los combobox usas la lista del combobox se pinta en otros sitios de la pantalla que no corresponden con el archivo de recursos.
En cambio con Windows Vista, aparece una lista muy grande que no corresponde a los items contenidos.

Podria decirse que es estetica, pero al final es un tanto incomodo, ya que son pantallas para atencion al publico, y los visitantes no dejan de quejarse del raro comportamiento.

Saludos desde Honduras :D

Hago uso Fivewin 8.01 y xHarbour
Last edited by Blessed on Mon Jun 16, 2008 4:26 pm, edited 1 time in total.
Oscar A. Martinez
http://www.multisofthn.com
Honduras, Centro America
xHarbour Enterprise 1.2.2, Fivewin 13.06
User avatar
Blessed
 
Posts: 243
Joined: Wed Sep 19, 2007 4:32 pm
Location: Honduras, C.A.

Postby ADBLANCO » Mon Jun 09, 2008 6:08 pm

Puedes colocar el código?, porque a mi me trabajan bién (tengo ese mismo caso)
Saludos

Angel, Valencia, Venezuela

xH .997 - FW 7.9 - BCC55 - WorkShop - MySql
User avatar
ADBLANCO
 
Posts: 299
Joined: Mon Oct 22, 2007 3:03 pm
Location: Valencia - Venezuela

Este es el codigo

Postby Blessed » Tue Jun 10, 2008 3:03 pm

Creo que debo aclarar que cuando aparece este dialogo, los comobobox siempre aparecen en su lugar, lo que se desplaza es la lista desplegable del combobox.
Solo basta con pulsar en dos ocaciones sobre el combobox y la lista se pinta correctamente.

Code: Select all  Expand view  RUN
   LOCAL cMarca,   aMarcas  := {}
   LOCAL cModelo,  aModelos := {}
   LOCAL cCiclo,   aCiclos  := {}
   LOCAL cVidrio,  aVirios  := {}
   LOCAL cDetalle, aDetalle := {}
   LOCAL oBtn[3], oGet[6]

   FillData( @aMarcas, "ms_marca" ) && Llena el arreglo con el contenido de la dbf
   FillData( @aDetalle, "articulo" )

   DEFINE DIALOG oSelCta RESOURCE "DLG_BS_MULT" ;
          TRANSPARENT

   REDEFINE FOLDER oFolder ;
            ID 645          ;
            OF oSelCta       ;
            PROMPTS "&Secuencial", "&Codigo", "&Descripción" ;
            DIALOGS "DLG_BS_MULT1", "DLG_BS_MULT2", "DLG_BS_MULT3"

   REDEFINE COMBOBOX oGet[1]  VAR cMarca   ITEMS aMarcas   ID 646
             OF oFolder:aDialogs[1] ;
            VALID ValMarca( cMarca, @cModelo, @cCiclo, cVidrio, oGet ) UPDATE
   REDEFINE COMBOBOX oGet[2]  VAR cModelo  ITEMS aModelos  ID 647 OF oFolder:aDialogs[1] ;
            VALID ValModelo( cMarca, cModelo, @cCiclo, cVidrio, oGet ) UPDATE
   REDEFINE COMBOBOX oGet[3]  VAR cCiclo   ITEMS aCiclos   ID 648 OF oFolder:aDialogs[1] ;
            VALID ValCiclo( cMarca, cModelo, cCiclo, @cVidrio, oGet )  UPDATE
   REDEFINE COMBOBOX oGet[4]  VAR cVidrio  ITEMS aVirios   ID 649 OF oFolder:aDialogs[1] UPDATE
   
   REDEFINE BUTTON oBtn[1] ID 640 OF oFolder:aDialogs[1] ;
            ACTION IF( Ir_BuscaSec( cMarca, cModelo, cCiclo, cVidrio, @MyProducto ), oSelCta:End(), .F. )

&& Sigue para otros tipos de busqueda en los folders que restan ...
RETURN NIL


STATIC FUNCTION ValMarca( cMarca, cModelo, cCiclo, cVidrio, oGet )

   LOCAL nCont, aModelos := {}

   cModelo := SPACE(30)

   cVidrio  := SPACE(30)
   cCiclo   := SPACE(20)
   oGet[2]:SetItems( {} )
   oGet[3]:SetItems( {} )
   oGet[4]:SetItems( {} )

   FillData( @aModelos, "ms_model", cMarca ) && llena los datos filtrando la marca
   FOR nCont := 1 TO LEN( aModelos )
      oGet[2]:ADD( aModelos[nCont] )
   NEXT

   oGet[2]:Refresh() ; oGet[3]:Refresh() ; oGet[4]:Refresh()

   RETURN .T.

Oscar A. Martinez
http://www.multisofthn.com
Honduras, Centro America
xHarbour Enterprise 1.2.2, Fivewin 13.06
User avatar
Blessed
 
Posts: 243
Joined: Wed Sep 19, 2007 4:32 pm
Location: Honduras, C.A.

Postby Blessed » Wed Jun 11, 2008 3:43 pm

Saludos amigos del foro:

El punto es que no he visto la forma de que al momento de cambiar el contenido del combobox, verificar que si las posicion de TOP, han cambiado, y si es asi, definirlas nuevamente.

No se si eso es posible, con la clausula REDEFINE

este es el contenido del archivo RC desde Workshop:
Code: Select all  Expand view  RUN
DLG_BS_MULT1 DIALOG 17, 19, 275, 124
STYLE WS_CHILD | 0x4
{
COMBOBOX 646, 102, 35, 110, 85, CBS_DROPDOWNLIST | CBS_DISABLENOSCROLL | WS_VSCROLL | WS_TABSTOP
COMBOBOX 647, 102, 49, 110, 85, CBS_DROPDOWNLIST | CBS_DISABLENOSCROLL | WS_VSCROLL | WS_TABSTOP
COMBOBOX 648, 102, 64, 110, 85, CBS_DROPDOWNLIST | CBS_DISABLENOSCROLL | WS_VSCROLL | WS_TABSTOP
COMBOBOX 649, 102, 78, 110, 85, CBS_DROPDOWNLIST | CBS_DISABLENOSCROLL | WS_VSCROLL | WS_TABSTOP
PUSHBUTTON "&Seleccionar", 640, 111, 98, 52, 20
CONTROL "", 644, "TViaInfoBar", 0 | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 0, 0, 275, 15
LTEXT "Año", -1, 62, 65, 19, 10
LTEXT "Modelo", -1, 62, 51, 27, 8
LTEXT "Marca", -1, 62, 36, 27, 8
LTEXT "Tipo vidrio", -1, 62, 80, 38, 8
}


Saludos desde Honduras :D
Oscar A. Martinez
http://www.multisofthn.com
Honduras, Centro America
xHarbour Enterprise 1.2.2, Fivewin 13.06
User avatar
Blessed
 
Posts: 243
Joined: Wed Sep 19, 2007 4:32 pm
Location: Honduras, C.A.

Postby mmercado » Wed Jun 11, 2008 4:13 pm

Hola Blessed:

Has probado lo siguiente?

oCombo:Hide()
aquí haces los cambios
oCombo:Show()

Saludos

Manuel Mercado
User avatar
mmercado
 
Posts: 782
Joined: Wed Dec 19, 2007 7:50 am
Location: Salamanca, Gto., México

Postby Blessed » Fri Jun 13, 2008 3:37 pm

Hola, que gusto maestro

Lo probare enseguida...

Saludos :D
Oscar A. Martinez
http://www.multisofthn.com
Honduras, Centro America
xHarbour Enterprise 1.2.2, Fivewin 13.06
User avatar
Blessed
 
Posts: 243
Joined: Wed Sep 19, 2007 4:32 pm
Location: Honduras, C.A.

Postby Blessed » Mon Jun 16, 2008 4:30 pm

Saludos Amigos del foro:

Gracias por su ayuda, persisti un poco con el tradicional prueba y error.
Al combinar:
Code: Select all  Expand view  RUN
   oCombo:SetItems( {} )
   oCombo:Reset()


Ceso el comportamiento de despliegue o pintado en ubicaciones no determinadas.

Saludos desde :D
Oscar A. Martinez
http://www.multisofthn.com
Honduras, Centro America
xHarbour Enterprise 1.2.2, Fivewin 13.06
User avatar
Blessed
 
Posts: 243
Joined: Wed Sep 19, 2007 4:32 pm
Location: Honduras, C.A.


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: No registered users and 25 guests