Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.015 c
15-1185792847
Andre_s
2007-07-30 14:54
2007.08.26
Проблема с Asus P5PL2-E


2-1185952855
denis24
2007-08-01 11:20
2007.08.26
postmessage на получение фокуса окном


2-1186392643
pirks
2007-08-06 13:30
2007.08.26
Железо


2-1185899291
Kaer
2007-07-31 20:28
2007.08.26
Работа с бд Ms Access


15-1185539477
vadgor
2007-07-27 16:31
2007.08.26
УДАЛЕНИЯ ПОВТОРЯЮЩИХСЯ ЗАПИСЕЙ В ТАБЛИЦАХ ПАРАДОХ




   Наверх