Вниз
Скачать: 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.019 c
15-1185430223
Vlad Oshin
2007-07-26 10:10
2007.08.26
Математика. Ряды, сходимость. Обратная задача.


15-1185522868
Alkid
2007-07-27 11:54
2007.08.26
Зараза vs. Virtual Machine


1-1181834100
DevilDevil
2007-06-14 19:15
2007.08.26
Один пункт меню в нескольких меню. Как ?


8-1163478013
Tab
2006-11-14 07:20
2007.08.26
квадрат с вращением в OpenGL


15-1185649384
Poed
2007-07-28 23:03
2007.08.26
Помогите выбрать IDE для проведения олимпиад.




   Наверх