C++ Builder
| Главная | Уроки | Статьи | FAQ | Форум | Downloads | Литература | Ссылки | RXLib | Диски |

 
TComboEdit
Om
Отправлено: 13.07.2005, 14:05


Не зарегистрирован







Подскажите плиз, как при вводе символов в поле ComboEdit
заменять их на лету. Например чтобы при нажатии "пробела" вводился
символ "точки"?
Sl@Sh
Отправлено: 13.07.2005, 16:02


Мастер участка

Группа: Участник
Сообщений: 383



В событии OnKeyPress читать последний символ строки :
char c = Combo->Text[Combo->Text.Length() — 1];

А дальше условная инструкция и.т.п.
** Admin
Отправлено: 13.07.2005, 21:33


Не зарегистрирован







В событии OnKeyPress только не последний символ,
а параметр Key.

CODE

void __fastcall TForm1::ComboBox1KeyPress(TObject *Sender, char &Key)
{
    if(Key == ' ') Key = '.';
}
Om
Отправлено: 14.07.2005, 09:09


Не зарегистрирован







Спасибо за советы. Уменя еще один вапрос родился:
На форме два ComboEdit, хочу чтобы при нажатии "стрелок(up/down)"
фокус переходил с одного на другой. В событии OnKeyDown ставлю условие if(Key == VK_RETURN || Key == VK_UP || Key == VK_DOWN)
{...обработка текста... ComboEdit2->SetFocus();} при нажатии Enter все нормально работает, а на стрелки не реагирует. Прогоняю по шагам: ComboEdit2->SetFocus(); типа выполняется, но фокус остается на том же ComboEdit.
Guest
Отправлено: 14.07.2005, 11:10


Не зарегистрирован







Значит где-то что-то еще меняете, например Key.

CODE

//---------------------------------------------------------------------------
void __fastcall TForm1::ComboBox1KeyDown(TObject *Sender, WORD &Key,
     TShiftState Shift)
{
    if(Key == VK_RETURN || Key == VK_UP || Key == VK_DOWN)
           ComboBox2->SetFocus();
}
//---------------------------------------------------------------------------
void __fastcall TForm1::ComboBox2KeyDown(TObject *Sender, WORD &Key,
     TShiftState Shift)
{
   if(Key == VK_RETURN || Key == VK_UP || Key == VK_DOWN)
           ComboBox1->SetFocus();
}
//---------------------------------------------------------------------------


так переходы работают нормально.

Вернуться в Вопросы программирования в C++Builder