Главная страница
    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.47 MB
Время: 0.013 c
8-1132137370
artyonkil
2005-11-16 13:36
2006.04.23
Форматирование и нумерация строк


2-1144724162
Laymer
2006-04-11 06:56
2006.04.23
FastReport


3-1141039240
DimonNew
2006-02-27 14:20
2006.04.23
BeforeUpdateRecord компоненты DataSetProvider


3-1140767621
Bee-Bee
2006-02-24 10:53
2006.04.23
Летит база от ShotDown, глюк сортировки, неверная сортировка


2-1144589175
bagos
2006-04-09 17:26
2006.04.23
TExcel





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский