FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour No ejecutar acci贸n inicio objeto combobox (SOLUCIONADO)
Posts: 1816
Joined: Wed Oct 26, 2005 02:49 PM
No ejecutar acci贸n inicio objeto combobox (SOLUCIONADO)
Posted: Mon Dec 07, 2020 10:29 PM
Buenas tardes para todos,

Tengo un combobox definido de la siguiente manera:
Code (fw): Select all Collapse
@ oBrwAr:nBottom + 1, nW-69 COMBOBOX oCmList VAR nCmList ITEMS aCmList SIZE 44,24 PIXEL OF oP ;
聽 聽 聽 聽 聽 聽 STYLE CBS_DROPDOWNLIST ON CHANGE actArticuloArray()


Pero resulta que al mismo momento que se crea el objeto se ejecuta el on change, lo que necesito es que no se ejecute la acci贸n si no hasta el momento que se haga un cambio despu茅s de hacer click.

No se, si me hice entender :-)

De antemano gracias
Saludos
LEANDRO AREVALO
Bogot谩 (Colombia)
https://hymlyma.com
https://hymplus.com/
leandroalfonso111@gmail.com
leandroalfonso111@hotmail.com

[ Turbo Incremental Link64 6.98 Embarcadero 7.70 ] [ FiveWin 25.01 ] [ xHarbour 64 bits) ]
Posts: 8515
Joined: Tue Dec 20, 2005 07:36 PM
Re: No ejecutar acci贸n al inicio del objeto combobox
Posted: Tue Dec 08, 2020 10:00 PM
Maybe:

Code (fw): Select all Collapse
   ON CHANGE( IIF( lCondicion, actArticuloArray() ) )


Regards, saludos.
Jo茫o Santos - S茫o Paulo - Brasil - Phone: +55(11)95150-7341
Posts: 1816
Joined: Wed Oct 26, 2005 02:49 PM
Re: No ejecutar acci贸n al inicio del objeto combobox
Posted: Thu Dec 10, 2020 10:39 PM

Amigo gracias por responder, hice la prueba pero no funciona... parece que bloquea el evento ON CHANGE.

Saludos
LEANDRO AREVALO
Bogot谩 (Colombia)
https://hymlyma.com
https://hymplus.com/
leandroalfonso111@gmail.com
leandroalfonso111@hotmail.com

[ Turbo Incremental Link64 6.98 Embarcadero 7.70 ] [ FiveWin 25.01 ] [ xHarbour 64 bits) ]
Posts: 199
Joined: Wed Jan 02, 2019 08:36 AM
Re: No ejecutar acci贸n al inicio del objeto combobox
Posted: Fri Dec 11, 2020 06:46 AM
Buenos dias Leandro.

Acabo de probar el siguiente c贸digo y no se ejecuta el ON CHANGE al iniciarse.

Code (fw): Select all Collapse
LOCAL oCmList, nCmList, aCmList:={"uno","dos","tres"}

....

@ 50, 10 COMBOBOX oCmList VAR nCmList ITEMS aCmList SIZE 60,240 PIXEL OF oWnd ;
聽 聽 聽 聽 聽 聽 STYLE CBS_DROPDOWNLIST ON CHANGE msgalert("ha cambiado") FONT oFont


驴durante la creaci贸n del DIALOGO o VENTANA, est谩s asignando valores a nCmList o aCmList ?
Jes煤s Mar铆n
deumare@gmail.com
Posts: 1816
Joined: Wed Oct 26, 2005 02:49 PM
Re: No ejecutar acci贸n al inicio del objeto combobox
Posted: Sun Dec 13, 2020 11:50 AM

Amigo como vas?

Gracias por responder

Efectivamente durante el inicio del dialogo es que se asignan los valores al COMBOBOX

Saludos
LEANDRO AREVALO
Bogot谩 (Colombia)
https://hymlyma.com
https://hymplus.com/
leandroalfonso111@gmail.com
leandroalfonso111@hotmail.com

[ Turbo Incremental Link64 6.98 Embarcadero 7.70 ] [ FiveWin 25.01 ] [ xHarbour 64 bits) ]
Posts: 199
Joined: Wed Jan 02, 2019 08:36 AM
Re: No ejecutar acci贸n al inicio del objeto combobox
Posted: Mon Dec 14, 2020 06:41 AM

Buenos dias.
Por tanto, en esa asignaci贸n, estas cambiando los valores y se ejecuta el ON CHANGE.

Tienes a mi parecer dos posibilidades.
1) ASIGNAR VALORES antes de la creaci贸n del objeto COMBO
2) No asignar acci贸n (ON CHANGE) en la creaci贸n del COMBO. Crear el codeblock despues de la asignacion de los valores ( por ejemplo en el ON INIT del dialogo o ventana, despues del c贸digo actual.

Saludos

Jes煤s Mar铆n
deumare@gmail.com
Posts: 1816
Joined: Wed Oct 26, 2005 02:49 PM
Re: No ejecutar acci贸n al inicio del objeto combobox
Posted: Mon Dec 14, 2020 07:30 PM
Muchas gracias a todos por responder....

Lo pude solucionar de la forma que propuso karinha, me hacia falta hacer el cambio de la variable :-) .

Code (fw): Select all Collapse
Private lCondicion := .F.
......
@ oBrwAr:nBottom + 1, nW-69 COMBOBOX oCmList VAR nCmList ITEMS aCmList SIZE 44,24 PIXEL OF oP ;
聽 聽 聽 聽 聽 聽 STYLE CBS_DROPDOWNLIST ON CHANGE( IF( lCondicion, navegapaginas(2),)) 
.......
ACTIVATE WINDOW oWChArti MAXIMIZED ON INIT ( if(len(aArti)!=0,actualizamesarti(aArti[oBrwAr:nArrayAt]),),;
聽 聽 聽 聽 聽 聽 聽 聽 navegapaginas(0),lCondicion:=.T. ) VALID(oBtArt:enable(),.t. )
Saludos
LEANDRO AREVALO
Bogot谩 (Colombia)
https://hymlyma.com
https://hymplus.com/
leandroalfonso111@gmail.com
leandroalfonso111@hotmail.com

[ Turbo Incremental Link64 6.98 Embarcadero 7.70 ] [ FiveWin 25.01 ] [ xHarbour 64 bits) ]
Posts: 8515
Joined: Tue Dec 20, 2005 07:36 PM
Re: No ejecutar acci贸n al inicio del objeto combobox
Posted: Wed Dec 16, 2020 12:44 PM
leandro wrote:Muchas gracias a todos por responder....

Lo pude solucionar de la forma que propuso karinha, me hacia falta hacer el cambio de la variable :-) .

Code (fw): Select all Collapse
Private lCondicion := .F.
......
@ oBrwAr:nBottom + 1, nW-69 COMBOBOX oCmList VAR nCmList ITEMS aCmList SIZE 44,24 PIXEL OF oP ;
聽 聽 聽 聽 聽 聽 STYLE CBS_DROPDOWNLIST ON CHANGE( IF( lCondicion, navegapaginas(2),)) 
.......
ACTIVATE WINDOW oWChArti MAXIMIZED ON INIT ( if(len(aArti)!=0,actualizamesarti(aArti[oBrwAr:nArrayAt]),),;
聽 聽 聽 聽 聽 聽 聽 聽 navegapaginas(0),lCondicion:=.T. ) VALID(oBtArt:enable(),.t. )


Muy bien. Yo usar铆a: STATIC lCondicion := .F.

Saludos.
Jo茫o Santos - S茫o Paulo - Brasil - Phone: +55(11)95150-7341

Continue the discussion