Здравствуйте!
Решил сделать обход гаджетов энтером следующим образом:
на форме имеются:
несколько StringGadget, ComboBoxGadget с флагом #PB_ComboBox_Editable и еще куча всего
определяю бинды:
Код:
For i=#txt_fam To #opt_san g_signal_connect(GadgetID(i), "key_press_event", @KeyPressCallback(), #Null) Next i
и есть процедура:
Код:
ProcedureC KeyPressCallback(*widget, *event.GdkEventKey, *udata) Protected.l KeyWord If pSave: ProcedureReturn: EndIf KeyWord = *event\keyval & $FFFF Select KeyWord Case #key_Return, #key_Return_Num, #key_Tab Select *widget Case GadgetID(#txt_fam) SetActiveGadget(#txt_im) ProcedureReturn Case GadgetID(#txt_dr) SetActiveGadget(#opt_pol_m) ProcedureReturn ... Case GadgetID(#cmb_smo) SetActiveGadget(#txt_ser_pol) ProcedureReturn EndSelect If *widget<>GadgetID(#cmb_doc) SetActiveGadget(GetActiveGadget()+1) *event\keyval=0 EndIf Case #key_ESC Select *widget Case GadgetID(#lst_history) ClearGadgetItems(#lst_history) HideGadget(#lst_history, 1) EndSelect EndSelect ... EndProcedure
со стринг-гаджетами работает как надо, а вот сомбо - не желает
как победить? может есть более правильный способ?