Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Отключение кнопок


Ivolg ©   (2007-03-01 16:00:00) 

Привет. Как можно отключить использование кнопок: Space и Backspace в Edit ?


Ivolg   (2007-03-01 18:26:00) [1]

Ega23 ©   (01.03.07 16:12) [2]

procedure TCarColorsForm.eCarColOrdKeyPress(Sender: TObject;
var Key: Char);
begin
if  (Key in [' ', #8]) then Key := #0;
end;



Спасибо большое ! Это помогло.


Ega23   (2007-03-01 16:45:00) [2]


> Серьезное замечание. Интересно "особо продвинутых" - это
> о ком ? )))


Догадайся с трёх раз?


> Особенно умиляет
> if Char(CharCode) = #0 then Exit; -->>  RESULT := TRUE;
> ))


Ну и? Что это означает? Сам в TWinControl посмотришь, или ткнуть?


S@shka   (2007-03-01 16:41:00) [3]


> Для особо продвинутых сообщаю


Серьезное замечание. Интересно "особо продвинутых" - это о ком ? )))

Особенно умиляет
if Char(CharCode) = #0 then Exit; -->>  RESULT := TRUE; ))


Ega23   (2007-03-01 16:32:00) [4]


> S@shka ©   (01.03.07 16:14) [3]


Для особо продвинутых сообщаю:


function TWinControl.DoKeyPress(var Message: TWMKey): Boolean;
var
 Form: TCustomForm;
 Ch: Char;
begin
 Result := True;
 Form := GetParentForm(Self);
 if (Form <> nil) and (Form <> Self) and Form.KeyPreview and
   TWinControl(Form).DoKeyPress(Message) then Exit;
 if not (csNoStdEvents in ControlStyle) then
   with Message do
   begin
     Ch := Char(CharCode);
     KeyPress(Ch);
     CharCode := Word(Ch);
      if Char(CharCode) = #0 then Exit;
   end;
 Result := False;
end;


Elen   (2007-03-01 16:22:00) [5]


> Потом проблемы не будет с разбором строки с #0 -
> ведь все сто после #0 в визуальных компонентах не отображается

А ты попробуй. ;)


S@shka   (2007-03-01 16:14:00) [6]

Потом проблемы не будет с разбором строки с #0 -
ведь все сто после #0 в визуальных компонентах не отображается

TempString = 'AAA'+#0+'BBBB';
Edit1.Text := TempString;

В Edit увидим   AAA


Ega23   (2007-03-01 16:12:00) [7]


procedure TCarColorsForm.eCarColOrdKeyPress(Sender: TObject;
 var Key: Char);
begin
 if  (Key in [' ', #8]) then Key := #0;
end;


S@shka   (2007-03-01 16:04:00) [8]

Может самому обрабатывать событие OnKeyDown в Edit и если код кнопки соответствует определенным кодам - удалять ввод


Наверх

Титульная страница Поиск, карта сайта Написать письмо