Code: Select all
void onChoiceTransChar (wxKeyEvent& event);
void onChoiceStatusChar (wxKeyEvent& event);
Code: Select all
choiceStatus_->Connect(ID_DIALOG_TRANS_STATUS, wxEVT_CHAR, wxKeyEventHandler(mmTransDialog::onChoiceStatusChar), NULL, this);
...
choiceTrans_->Connect(ID_DIALOG_TRANS_TYPE, wxEVT_CHAR, wxKeyEventHandler(mmTransDialog::onChoiceTransChar), NULL, this);
...
void mmTransDialog::onChoiceTransChar(wxKeyEvent& event)
{
wxChoice* choice = (wxChoice*)FindWindow(ID_DIALOG_TRANS_TYPE);
int i = choice->GetSelection();
if (event.GetKeyCode()==WXK_DOWN) {
if (i < DEF_TRANSFER)
choice->SetSelection(++i);
} else if (event.GetKeyCode()==WXK_UP){
if (i > DEF_WITHDRAWAL)
choice->SetSelection(--i);
}
updateControlsForTransType();
event.Skip();
}
void mmTransDialog::onChoiceStatusChar(wxKeyEvent& event)
{
wxChoice* choice = (wxChoice*)FindWindow(ID_DIALOG_TRANS_STATUS);
int i = choice->GetSelection();
if (event.GetKeyCode()==WXK_DOWN) {
if (i < DEF_STATUS_DUPLICATE)
choice->SetSelection(++i);
} else if (event.GetKeyCode()==WXK_UP){
if (i > DEF_STATUS_NONE)
choice->SetSelection(--i);
}
event.Skip();
}