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

Вниз

Каретка возвращается!   Найти похожие ветки 

 
liho26   (2002-10-31 10:48) [0]

Здравствуйте. Нужна ваша помощь. Вкратце опишу вопрос, который не могу решить. В RichEdit я обрабатываю одновременное нажатие клавиш shift and VK_RETURN программный код приведен ниже:

procedure TForm1.EditorKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if (ssShift in shift) and (key = VK_RETURN) then
begin
.....
{некоторый код здесь}
end;

Вопрос заключается вот в чем. Как после нажатия VK_RETURN удержать каретку на этой же строке?


 
Vint   (2002-10-31 11:43) [1]

procedure TForm1.EditorKeyPress(Sender: TObject; var Key: Char);
begin
if Key = #13 then
Key := #0;
end;


 
liho26   (2002-10-31 11:57) [2]

Не, не подходит....(( Тогда сам ENTER перестает работать. А надо, чтобы без нажатого шифта ENTER работал, и с клавишей шифт - оставался на строке


 
Smithson   (2002-10-31 11:58) [3]


{ Некоторый код здесь }
Key := #0;
end;


 
liho26   (2002-10-31 12:09) [4]

Несовместимые типы Word и Char...
Key:=#0 - это тип char
VK_ENTER - это тип word

Можно было бы написать код, в обработчике oKeyPress, но эта процедура не отлавливает нажатый шифт


 
Smithson   (2002-10-31 12:10) [5]

Ну блин!
Key := 0; // !!!!



 
liho26   (2002-10-31 12:21) [6]

Smithson! Твой код не работает!!!
Впринципе я уже нашел выход. Смотрите ниже приведенный код, мож кому и пригодится.
1. Объявляем глобальную переменную класса:

private
Pressed: Boolean;


Далее в обработчике onKeyDown пишем код

procedure TForm1.EditorKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
if (ssShift in shift) and (key = VK_RETURN) then
begin
Editor.SelAttributes.Color:=clpurple;
Editor.SelText:="Привет мир!";
Pressed:=true;
end;


Теперь в обработчике onKeyPress отлавливаем Pressed

procedure TForm1.EditorKeyPress(Sender: TObject; var Key: Char);
begin
if Pressed then
begin
Key := #0;
Pressed:=false;
end;
end;


Собственно говоря, все.
Пользуйтесь на здоровье! ))
Liho



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

Форум: "Основная";
Текущий архив: 2002.11.11;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.008 c
1-34026
Poirot
2002-11-02 13:56
2002.11.11
как получить Рест элемента TreeView и фокус элемента ListBox


3-33910
Bill
2002-10-22 13:10
2002.11.11
Трабл с DBGrid ом


14-34213
Bboy
2002-10-22 19:31
2002.11.11
Вопрос по Word у


1-34069
Checist[root]
2002-10-30 14:33
2002.11.11
Введение глобальной переменной


14-34224
Anatoly Podgoretsky
2002-10-23 08:57
2002.11.11
Именинники 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
Английский Французский Немецкий Итальянский Португальский Русский Испанский