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

Вниз

Запрет ввода символа для Memo   Найти похожие ветки 

 
DelphiLexx ©   (2006-03-15 16:23) [0]

В memo стоит следующая обработка на OnKeyDown:

[code=delphi]

procedure TForm1.Memo1KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin

  if (Shift = [ssCtrl]) and (key = VK_SPACE) then begin
     Key:=0;
     SetCaretPos(Memo1.CaretPos.X-1, Memo1.CaretPos.Y);
  end;
end;
[/code]
Т.е. если нажимается клавиша Ctrl+пробел, то курсор memo должен оставаться на месте. Но мой код что-то не работает (хотя вроде бы всё правильно). Подскажите в чём проблема.


 
clickmaker ©   (2006-03-15 16:33) [1]

procedure TForm1.Memo1KeyPress(Sender: TObject; var Key: Char);
begin
 if ((GetKeyState(VK_CONTROL) shr 8) > 0) and (key = #32) then begin
    Key := #0;
 end;
end;


 
Плохиш ©   (2006-03-15 16:33) [2]


>      SetCaretPos(Memo1.CaretPos.X-1, Memo1.CaretPos.Y);

Есть подозрение, что эта строка не нужна.


 
DelphiLexx ©   (2006-03-15 16:56) [3]


> procedure TForm1.Memo1KeyPress(Sender: TObject; var Key:
>  Char);
> begin
>  if ((GetKeyState(VK_CONTROL) shr 8) > 0) and (key = #32)
> then begin
>     Key := #0;
>  end;
> end

Да я заметил в KeyPress"е обнуляется клавиша при Key := #0, а вот KeyDown
нет почему не знаешь?


 
Leonid Troyanovsky ©   (2006-03-15 18:45) [4]


> DelphiLexx ©   (15.03.06 16:56) [3]

> нет почему не знаешь?


Да почему знаешь.

Другой вопрос в том, что нужней - шашечки или ехать.
Ответ же прост: потому как TranslateMessage, RTFM.

--
Regards, LVT.


 
Leonid Troyanovsky ©   (2006-03-15 19:28) [5]


> Leonid Troyanovsky ©   (15.03.06 18:45) [4]


Млин, прям рекордсмен кросспостинга, не угнаться.

http://rsdn.ru/?Forum/?mid=1784691

--
Regards, LVT.


 
TStas ©   (2006-03-16 10:59) [6]

TApplicationEvent запретит что хочешь по вкусу


 
Yanis ©   (2006-03-16 11:28) [7]


> DelphiLexx ©   (15.03.06 16:23)

Зачем писать программу самому, если есть интернет. Да?


 
DelphiLexx ©   (2006-03-16 15:41) [8]


> > Leonid Troyanovsky ©   (15.03.06 18:45) [4]
>
>
> Млин, прям рекордсмен кросспостинга, не угнаться.
>
> http://rsdn.ru/?Forum/?mid=1784691
>
> --
> Regards, LVT.

Здравствуйте, Leonid Troyanovsky, Вы писали:

Хочу сказать лишь одно, что не слово красить человека, а его отношения к другим людям. Поэтому за всё что вы(форумчане) делаете для меня глубоко признателен и без всяких там спасибо. А тему разместил параллельно т.к. ответ мне нужен был очень быстро.


 
Leonid Troyanovsky ©   (2006-03-16 16:05) [9]


> DelphiLexx ©   (16.03.06 15:41) [8]

> Здравствуйте, Leonid Troyanovsky, Вы писали:

> Хочу сказать лишь одно, что не слово красить человека, а
> его отношения к другим людям. Поэтому за всё что вы(форумчане)
> делаете для меня глубоко признателен и без всяких там спасибо.
>  А тему разместил параллельно т.к. ответ мне нужен был очень
> быстро.


Интересно сравнить с http://rsdn.ru/?Forum/?mid=1784691
Шаблон похож, да и алгоритму не изменяем - кросспостинг.

А может уважаемый есть бот? А мы спрашиваем как с человека.
Для программы, надо отметить, уровень сенсорного восприятия и
интеллектуальный уровень очень даже вполне - мне такую
сделать слабо.

--
Regards, LVT.


 
Leonid Troyanovsky ©   (2006-03-16 16:09) [10]


> Leonid Troyanovsky ©   (16.03.06 16:05) [9]

> Интересно сравнить с http://rsdn.ru/?Forum/?mid=1784691


Хотел сказать http://rsdn.ru/Forum/Message.aspx?mid=1786244&only=1
Sorry.

--
Regards, LVT.



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

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

Наверх




Память: 0.49 MB
Время: 0.038 c
15-1143738356
Кручен-Верчен
2006-03-30 21:05
2006.04.23
На кого пойти учиться?


2-1144232901
SveT
2006-04-05 14:28
2006.04.23
Относительный путь..


2-1144409499
Толян
2006-04-07 15:31
2006.04.23
картинка в RichEdit


15-1143548304
antonn
2006-03-28 16:18
2006.04.23
Вопрос по HTML


1-1142596234
Dust
2006-03-17 14:50
2006.04.23
Скачал Indy 10, не могу установить