Tengo en un dialogo desde resursos (Microsoft C++) con un combobox y 2 checks, los checks tienen que estar activados solo cuando se haya seleccionado un valor específico del combo, con el resto de valores tienen que estar desactivados. Por defecto, cuando se activa el dialogo, los check estan activados porque el valor del combo es que el lo activa, pues cuando selecciono un valor que los deviera de desactivar, no se refresca los checks y siguen activos. Solo se desactivan cuando vuelve a coger el foco el combo o cuando pincho sobre cualquiera de los 2 checks. He probado con sysrefres, refrescando los checks en el ON CHANGE del combo, ¿sabeis de que puede ser?
Code: Select all
redefine combobox oCombo var vCombo items aCombo id 801 of oDlg STYLE CBS_DROPDOWN ON CHANGE (ocheck1:refresh(),ocheck2:refresh())
ocombo:blostfocus:={||ocheck1:refresh(),ocheck2:refresh()}
redefine checkbox ocheck1 var porprecio id 702 of odlg when objeto:lPuedoModificar .and. alltrim(vCombo)="NO ADJUDICADA" on change (Desactiva(ocheck2,@porconstructora),sysrefresh()) UPDATE
redefine checkbox ocheck2 var porconstructora id 703 of odlg when objeto:lPuedoModificar .and. alltrim(vCombo)="NO ADJUDICADA" on change (Desactiva(ocheck1,@porprecio),sysrefresh()) UPDATE