Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.05.09;
Скачать: CL | DM;

Вниз

TMaskEdit   Найти похожие ветки 

 
Виталик   (2002-04-25 17:52) [0]

Мне необходимо, чтобы TMaskEdit не реагировал на нажатие BackSpace. Это удается в onKeyPress посредством :
if key=#8 then key := #0,
но работает только в случае, если незадана маска (Edit Mask), а с маской этот код не действует, а мне нужно, чтобы по нажатии BackSpace курсор оставался на месте.
Спасибо!


 
MBo ©   (2002-04-25 18:05) [1]

в OnKeyDown
if key=8 then key:=0;


 
KilkennyCat ©   (2002-04-26 03:22) [2]

В самом модуле mask.pas можно сделать следующее:

// это стандартное:
function TCustomMaskEdit.CharKeys(var CharCode: Char): Boolean;
var
SelStart, SelStop : Integer;
Txt: string;
CharMsg: TMsg;
begin
Result := False;

// тут мое начинается
GetSel(SelStart, SelStop);
if selstart = 0 then chch := charcode;
if ((selstart = 0) and (ord(charcode) > 50)) or
((selstart = 1) and (ord(chch) = 50) and (ord(charcode) > 51)) or
((selstart = 1) and (ord(charcode) > 52)) or
((selstart = 3) and (ord(charcode) > 53)) or
((selstart = 6) and (ord(charcode) > 53)) then exit;
// тут мое закачивается

if Word(CharCode) = VK_ESCAPE then
begin


Это добавление позволило корректную работу с временем от 00:00:00 до 23:59:59 без всяких доппроверок на валидность. Соответсвенно, можно и пробел исключить.



Страницы: 1 вся ветка

Текущий архив: 2002.05.09;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.011 c
7-26276
Broot
2002-02-01 11:57
2002.05.09
Раскладка клавиатуры


1-26175
Georg
2002-04-25 13:15
2002.05.09
Погрешность при делении


1-26058
Григорий
2002-04-25 23:04
2002.05.09
Немецкий алфавит


4-26309
BlackLord
2002-02-17 17:07
2002.05.09
Перезагрузка и выход Windows 9x, Win2000, и т. д.


3-25977
Cage
2002-04-14 16:45
2002.05.09
База данных на е.