Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Обмануть TMEMO! [D5, Win2k]


VID ©   (2003-01-10 01:28:00) 

В-общем ситуация такая...
Есть форма FORM1, на которой лежит MEMO1:t DBmemo
Form1.KeyPreview = true;
Form1.onKeyDown = someproc;

procedure someproc;
begin
IF (ssCtrl in Shift) and (Key = VK_RETURN) then
showmessage("ctrl+enter");
end;

проблема:
если при нажатии CTRL+ENTER фокус установлен на MEMO1, то:
1. Появляется сообщение "ctrl+enter";
2. В MEMO1 каретка переходит на начало след строки...
надо: недопустить пункт 2.
Заметьте, у Memo1:TDBMemo нет св-ва WantReturns

есть какие-нибудь идеи ?


VID   (2003-01-11 11:10:00) [1]

to TTCustomDelphiMaster, Song: оказывается так просто :) как всегда :)


Song   (2003-01-11 07:36:00) [2]

2VID © (10.01.03 23:00)
VK_ESCAPE


TTCustomDelphiMaster   (2003-01-10 23:13:00) [3]

procedure TForm1.FormKeyPress(Sender: TObject; var Key: Char);
begin
showmessage(IntToStr(Integer(Key)));
end;



VID   (2003-01-10 23:00:00) [4]

интересная штуковина... а как узнать код ESC ?
и есть вообще алгоритм что бы узнать код любой клавиши, и любого сочетания клавищ ?


TTCustomDelphiMaster   (2003-01-10 21:28:00) [5]

procedure TForm1.FormKeyPress(Sender: TObject; var Key: Char);
begin
if Key = Char($0A) then
begin
showmessage("ctrl+enter");
Key := Char(0);
end;
end;


VID   (2003-01-10 20:57:00) [6]

и всё таки :)


VID   (2003-01-10 10:39:00) [7]

to mxa: уже пробовал - не помогает...


MXA   (2003-01-10 01:43:00) [8]

begin
IF (ssCtrl in Shift) and (Key = VK_RETURN) then
showmessage("ctrl+enter");
key:=0;
end;


Наверх

Титульная страница Поиск, карта сайта Написать письмо