Точка на допълнителен

Точка да добавите. клавиатура

Здравейте, скъпи господар.

Моля, кажете ми как да се отървете от запетаята на клавиатурата, която вместо на руски точка се появи?

Благодаря предварително за вашата помощ.

Ако "EN" в оформлението да добавите. клавиатура, натиснете "." (# 46), ще получим "." (# 46).
И ако "ЖП" в оформлението да добавите. клавиатура, натиснете "." (# 46), ние получаваме "," (# 44).

Цел: Чрез натискане на бутона "". за допълнително. клавиатурна подредба "RU" да ".". вместо "".

Напоследък този въпрос zadoval МФИК, "ома. Виж.

Да не се използва Application.OnMessage ненужно IMHO. За "глобални" решения писмено наследник TCustomEdit, което се припокрива DoKeyPress

> Имам нужда от световен мащаб.

Application.OnMessage не помогне?

> Аз се чудя защо толкова го направи точка в дясно.

оператори на нашите клиенти, че бутона е много активно използват, тъй като инжектира сума с помощта на дясната страна на клавиатурата с една ръка.

Все пак, това поведение сива точка Току-що научих от този бранш. Operatorshi, като правило, да не се превключва езици, те винаги български.
Така че, аз не мисля, че има смисъл да се харчат за "лечение" и този път.

в състояние да изразят това, което исках да кажа, толкова объркан:

Фактът, че в Editore ще бъде точка или запетая, зависи от текущата клавиатурна подредба, а не избраните регионалните настройки в системата.

Ако се преодолее на нивото на конкретното приложение на прозореца за обработка на съобщенията - би било хубаво. Аз все още не се изкачи обратно, но ми се струва, че всичко ще бъде тъжен и obih точки от един и същи виртуалния код.
Ако някой знае какво не е - аз ще бъда много благодарен за това късче информация. Би ми спести време.
Нещо повече, не само за мен, може би това интересно.

Ето, намерих в Помощ.
В действителност,
Виртуалните клавиши:

VK_NUMPAD0 0 ключ (цифрова клавиатура)
1 ключ VK_NUMPAD1 (цифрова клавиатура)
2 ключа VK_NUMPAD2 (цифрова клавиатура)
3 ключови VK_NUMPAD3 (цифрова клавиатура)
4 ключови VK_NUMPAD4 (цифрова клавиатура)
5 VK_NUMPAD5 ключ (цифрова клавиатура)
6 ключов VK_NUMPAD6 (цифрова клавиатура)
7 ключови VK_NUMPAD7 (цифрова клавиатура)
8 ключов VK_NUMPAD8 (цифрова клавиатура)
9 VK_NUMPAD9 ключ (цифрова клавиатура)

VK_MULTIPLY Умножение ключ (цифрова клавиатура)
VK_ADD Добавяне на ключ (цифрова клавиатура)
VK_SEPARATOR Separator ключ (цифрова клавиатура)
VK_SUBTRACT Извади ключ (цифрова клавиатура)
VK_DECIMAL десетична ключ (цифрова клавиатура)
VK_DIVIDE ключ Divide (цифрова клавиатура)

Наистина кодове "цифрова клавиатура" - специален и може би нещо може да се направи. Ние трябва да мислим.

Ето го, просто не му се вижда. С изключение на профили за търсене.

Ето решение ми (с помощта на уважавани майстори) на проблема с българското razdeletilem дробна част:

Var
# XA0; is_VK_DECIMAL: Булева; // глобална променлива

процедура TMainForm.FormCreate (Sender: TObject);
започвам
# XA0; is_VK_DECIMAL: = фалшива;
# XA0; application.OnMessage: = application_OnMessage;
приключи;

процедура TMainForm.application_OnMessage (Var Msg: tagMsg; Var Handled: булева);
започвам
# XA0; ако Msg.message = WM_KEYDOWN # XA0, тогава
# XA0; # XA0; is_VK_DECIMAL: = (Msg.wParam = VK_DECIMAL);
# XA0; ако Msg.message = WM_CHAR тогава
# XA0; # XA0; ако is_VK_DECIMAL след това, ако CHAR (Msg.wParam)<>След това DecimalSeparator започне
# XA0; # XA0; # XA0; Msg.wParam: = РСР (DecimalSeparator);
# XA0; # XA0; # XA0; is_VK_DECIMAL: = фалшива;
# XA0; # XA0; край;
приключи;

Памет: 0.75 MB
Време: 0.097 гр