Problema con el foco con dbcombo

Problema con el foco con dbcombo

Postby Carlos Mora » Wed Jun 15, 2011 4:12 pm

El programa siguiente es uno de los samples algo modificado para mostrar el inconveniente.
Resulta que los gets que siguen a un dbcombo tienen un when que depende del valor del dbcombo, pero al tratar de moveme con TAB el when sigue en .F.
El problema se ocasiona al perder el foco, aparentemente no se ha asignado la variable del dbcombo en el momento de evaluarse el when de los gets siguientes para posicionar el cursor.

Esto está compilado con FWH 11.05 y Harbour.
Code: Select all  Expand view

/*
 * Proyecto: probcombo
 * Fichero: prueba.prg
 */

 
 #include 'FiveWin.ch'
 #include 'dbcombo.ch'
 

Function Main()
   local oDlg, oDBC1, oDBC2, oCust, oBtn
   local cDept:= space(3), oStates, aItems, aList
   local cVar, cVar2

   cVar:= 'Only with HR selected'
   cVar2:= 'just Marketing'
   define dialog oDlg size 600, 200  title 'use <tab> only'

   aList:= {"Accounting","HR","Marketing","Production","Research","Shipping","Sales"}
   aItems:= {"100","200","300","400","500","600","700"}

   @ 10,30 DBCOMBO oDBC2 VAR cDept;
      items aItems;
      size 100,200 pixel;
      list aList;
      of oDlg;
      update
     
   @ 30, 30 get cVar PIXEL of oDlg WHEN cDept == '200' UPDATE
   
   @ 50, 30 get cVar2  PIXEL of oDlg WHEN cDept == '300' UPDATE

   @ 70, 50 button oBtn prompt "Selected";
      of oDlg pixel ;
      action msgInfo( "DeptNo: "+cDept,"Selected" );
      default

   activate dialog oDlg center;

   ferase("temp.ntx")

return nil

           
Return NIL
 
Saludos
Carlos Mora
http://harbouradvisor.blogspot.com/
StackOverflow http://stackoverflow.com/users/549761/carlos-mora
“If you think education is expensive, try ignorance"
Carlos Mora
 
Posts: 988
Joined: Thu Nov 24, 2005 3:01 pm
Location: Madrid, España

Re: Problema con el foco con dbcombo

Postby Francisco Horta » Wed Jun 15, 2011 11:03 pm

Carlos
prueba esto:
oDBC2:b LostFocus := {|| oDlg:Update()}

ó esto otro
oDBC2:bLostFocus := {|| oGet:ForWhen() }
ó esto otro
oDBC2:bLostFocus := {|| oGet:AeValWhen() }

salu2
paco
____________________
Paco
Francisco Horta
 
Posts: 845
Joined: Sun Oct 09, 2005 5:36 pm
Location: la laguna, mexico.

Re: Problema con el foco con dbcombo

Postby Daniel Garcia-Gil » Wed Jun 15, 2011 11:07 pm

Carlos

usalo de esta forma

Code: Select all  Expand view
  @ 10,30 DBCOMBO oDBC2 VAR cDept;
      items aItems;
      size 100,200 pixel;
      list aList;
      of oDlg;
      on change ( oDlg:AEvalWhen(), oDlg:Update() );
      update
User avatar
Daniel Garcia-Gil
 
Posts: 2365
Joined: Wed Nov 02, 2005 11:46 pm
Location: Isla de Margarita

Re: Problema con el foco con dbcombo

Postby Carlos Mora » Thu Jun 16, 2011 7:47 am

Gracias amigos por las respuestas. He probado la solución de Daniel y me ha funcionado perfecto.
Saludos
Carlos Mora
http://harbouradvisor.blogspot.com/
StackOverflow http://stackoverflow.com/users/549761/carlos-mora
“If you think education is expensive, try ignorance"
Carlos Mora
 
Posts: 988
Joined: Thu Nov 24, 2005 3:01 pm
Location: Madrid, España


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: Google [Bot] and 27 guests