Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2006.04.23;
Скачать: [xml.tar.bz2];

Вниз

Запрет ввода символа для 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.013 c
8-1132228825
CondAL
2005-11-17 15:00
2006.04.23
проиграть события в midi файлах


4-1138842232
Illuha_y
2006-02-02 04:03
2006.04.23
Не работает RegEnumValue


15-1143712175
DelphiN!
2006-03-30 13:49
2006.04.23
Модальное окно уходит на задний план


15-1144225435
ocean
2006-04-05 12:23
2006.04.23
Перезагрузить ADSL-модем


15-1143647617
Сатир
2006-03-29 19:53
2006.04.23
DAX Error





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский