![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как отловить нажатие Enter на EDIT [D7, Win95/98, WinXP]
bug008 © (2003-03-12 20:36:00)Здравствуйте. Помогите плз в такой ситуации.
Есть однострочный edit. Необходимо отловит нажатие клавиши Enter по этому editу.
Спасибо.
Songoku (2003-03-15 22:33:00) [1]VD601 & Vitek
ВЫ что не понимаете !?!?!
Он это использует в Console а не в VCL ...
VD601 (2003-03-15 21:08:00) [2]Можно поизваращеннее:
на ФормКейПресс (не забудь keypreview в true поставить):
begin
if (key = #13) and (ActiveControl = Edit1) then
bla-bla-bla
end;
Vitek (2003-03-15 00:37:00) [3]procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then
begin
...чё хотел :)...
end;
end;
Songoku (2003-03-14 16:19:00) [4]bug008
паренб всё можно ... пришли мне иходник и я тебе даделаю!!!
или просто
dEdit:=Pointer(GetWindowLong(GetDlgItem({Hwnd},{101}),GWL_WNDPROC));
SetWindowLong(GetDlgItem({Hwnd},{101}),GWL_WNDPROC,Longint(@EditProc));
bug008 (2003-03-13 07:19:00) [5]editу меня в ресурсе, но это не важно.
Я просто не хотел менять процедуру окна Editа и хуки не хотелось ставить... Хотел как-нибудь чере WM_COMMAND. Но похоже что нельзя.
Songoku (2003-03-13 01:06:00) [6]Помойму должно работать...
Если что пиши , всегда рад помочь
Songoku (2003-03-13 01:04:00) [7]var
dEdit: Pointer;
implementation
function EditProc(hWnd,Msg,wParam,lParam:Longint):Longint; stdcall;
begin
Result:=CallWindowProc(dEdit,hWnd,Msg,wParam,lParam);
case Msg of
WM_KEYUP: if wParam=13 then
begin
// ---++++ТВОЙ КОД++++---
halt;
end;
end;
end;
procedure Crae
var
hedit:hwnd;
begin
hEdit:=CreateWindowEx(WS_EX_CLIENTEDGE,"Edit",nil,ES_MULTILINE or ES_LEFT or WS_CHILD or WS_VISIBLE or ES_AUTOHSCROLL or ES_AUTOVSCROLL ,222,25,153,20,Handle,109,0,nil);
dEdit:=Pointer(GetWindowLong(hEdit,GWL_WNDPROC));
SetWindowLong(hEdit,GWL_WNDPROC,Longint(@EditProc));
end;
ferrik (2003-03-12 20:50:00) [8]Удалено модератором
Примечание: Offtopic
ferrik (2003-03-12 20:49:00) [9]Если я правильно понял надо обрабатывать OnKeyDown и смотреть когда key=13.
Вероятно, я не понял вопрос и жестоко ошибаюсь....