![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Обмануть 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;