Здравствуйте!
Решил сделать обход гаджетов энтером следующим образом:
на форме имеются:
несколько 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со стринг-гаджетами работает как надо, а вот сомбо - не желает
как победить? может есть более правильный способ?