Главная страница
    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.031 c
6-1136908622
GanibalLector
2006-01-10 18:57
2006.04.23
Select (Socket API)


2-1144755963
elfebet
2006-04-11 15:46
2006.04.23
Как добавить в exe иконку


15-1143970869
antonn
2006-04-02 13:41
2006.04.23
Смешно


3-1140537594
parovoZZ
2006-02-21 18:59
2006.04.23
Значение автоинкремнтного поля и ADOQuery


4-1138860238
Сергей Ю.
2006-02-02 09:03
2006.04.23
Отлов подключения флешки и залива туда инфы





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