Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.08.26;
Скачать: CL | DM;

Вниз

Эмулятор нажатия Enter а   Найти похожие ветки 

 
Slonik   (2007-08-03 01:54) [0]

Доброго времени суток! Нужно в текстовом поле нажать на ентер, но не на клаве, а через программу... Пробывал SendMessage(ControlHandle, BM_CLICK, 0, 0), чет не получается... Напишите, пожалуйста, какие-нить другие варианты.

Заранее спасибо!


 
Elen ©   (2007-08-03 09:20) [1]

Попробуй Edit1.Perform(WM_CHAR,13,0); Только зачем все это? Если ты прописал обработчик OnKeyPress или Down или Up то проще вызывать соответствующую им процедуру, передавая туда клавишу #13.


 
Dib@zol ©   (2007-08-03 09:22) [2]

Эт оч просто:

Сначала надо унаследовать свою оконную процедуру от процедуры едит-а;
Потом подключиться к ней;
И творить что в голову взбредёт!

Вот пример:

var
 EWP : Pointer;

...

function EDP(hWnd: HWND; Msg: LongInt; wParam, lParam: Longint): longInt; stdcall;
begin
 if (Msg = WM_KEYUP)and(wParam = VK_RETURN) then begin
   MessageBox(hWnd, "Урряя!! Поймалося!!!", "", 0); // <- Вот оно!!!
 end else Result:=CallWindowProc(EWP, hWnd, Msg, wParam, lParam);
end;

...

longInt(EWP):=setWindowLong(Edit1.Handle, GWL_WNDPROC, longInt(@EDP));


 
JanMihail ©   (2007-08-03 11:18) [3]

PostMessage(VK_RETURN, WM_KEYDOWN, 1, 1);
PostMessage(VK_RETURN, WM_KEYUP, 1, 1);


 
JanMihail ©   (2007-08-03 11:19) [4]


> [3]

Извини ошибся. Вот так:
PostMessage(<хэндл>, WM_KEYDOWN, VK_RETURN, 1);
PostMessage(<хэндл>, WM_KEYUP, VK_RETURN, 1);


 
Leonid Troyanovsky ©   (2007-08-03 12:29) [5]


> JanMihail ©   (03.08.07 11:19) [4]

> Извини ошибся. Вот так:

Все равно, это лишь имитация (приблизительная).
Если уж эмулировать, то SendInput to foreground window.

--
Regards, LVT.


 
имя   (2007-08-03 15:16) [6]

Удалено модератором



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

Текущий архив: 2007.08.26;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.029 c
8-1163478013
Tab
2006-11-14 07:20
2007.08.26
квадрат с вращением в OpenGL


1-1181811381
Dust
2007-06-14 12:56
2007.08.26
отладка Dll в D7


15-1185875868
Igorek
2007-07-31 13:57
2007.08.26
Чем чревато?


2-1186091641
Slonik
2007-08-03 01:54
2007.08.26
Эмулятор нажатия Enter а


15-1185939647
Inearthed
2007-08-01 07:40
2007.08.26
Как писать документацию чтобы юзер понял?