Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > ComboBox, TEdit


Автор: Гость_Новичок 24.12.2005, 13:09
Здравствуйте. В какой раз спрашиваю на этом форуме, надеюсь и в этот раз помогут. За прошлые ответы спасибо.
ComboBox ( csDropDownList )
Допустим у нас в нём поля: ф ; ы; в; а; Если запустить приложение, сделать ComboBox активным и напечатать на клаве 'ы'(к примеру) он автоматически перейдёт к строке 'ы'. Но не всегда у пользователя по умолчанию стоит русская раскладка и хотелось, чтобы после нажатия 's' он тоже переходил к строке 'ы'. Если подобная вещь не осуществима в delphi, то вопрос: что нужно написать в форму чтобы после запуска приложения язык по умолчанию стал русским.

TEdit.
Мне нужно, чтобы в него можно было вводить только цифры. Надоело постоянно впихивать процедуру проверки в программы, загромождает да и ресурсы лишние...

Автор: DemoCode 24.12.2005, 13:25
Цитата
что нужно написать в форму чтобы после запуска приложения язык по умолчанию стал русским.


Код

procedure SetRU;
var
  Layout: array [0.. KL_NAMELENGTH] of char;
begin
  LoadKeyboardLayout(StrCopy(Layout, '00000419'), KLF_ACTIVATE);
end;


Цитата
TEdit.
Мне нужно, чтобы в него можно было вводить только цифры. Надоело постоянно впихивать процедуру проверки в программы, загромождает да и ресурсы лишние...

Поищи компонент типа TNumberEdit

Автор: Albinos_x 24.12.2005, 14:34
Цитата
TEdit.
Мне нужно, чтобы в него можно было вводить только цифры. Надоело постоянно впихивать процедуру проверки в программы, загромождает да и ресурсы лишние...

Код

procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if not (key in ['0'..'9',#8]) then
   key:=#0;
end;

Автор: Гость_Новичок 24.12.2005, 18:06
DemoCode не мог бы ты пояснить, что написано в этой процедуре?
LoadKeyboardLayout(StrCopy(Layout, '00000419'), KLF_ACTIVATE);
Я так понял '00000419' это какой-то код русского языка, а где можно посмотреть код ангийлского?

#8 это код какой клавиши?

Ещё вот какой вопрос: какой свойство отвечает за выбранный об"ект? Тоесть как сделать ComboBox(к примеру) активным?


Автор: Albinos_x 24.12.2005, 18:52
Цитата
#8 это код какой клавиши?

да, это backspace

Цитата
Тоесть как сделать ComboBox(к примеру) активным?

Код

ComboBox1.SetFocus;

Автор: Zero 24.12.2005, 19:14
Цитата
Я так понял '00000419' это какой-то код русского языка, а где можно посмотреть код ангийлского?

00000409

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)