![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
фокус на кнопке+нажать ее Enter^ом
Windows1 © (2005-10-06 13:48:00)как на апи по клавише Enter нажать на кнопку (procedure)
типа ButtonClick(self);
пока делаю в окне обработку клавиши Enter.
Работает если фокус на окне,а если на кнопке
-неработает (т.е после Setfocus(handleButton)).
А надо чтоб выделеная фокусом работала(
Leonid Troyanovsky (2005-10-17 16:09:00) [1]
> Windows1 (17.10.05 15:38) [7]
> case Msg of
> WM_CHAR: /// OnEnter
WM_GETDLGCODE:
--
Regards, LVT.
Windows1 (2005-10-17 15:38:00) [2]вот код как я делаю
function WndFunc(aWnd, Msg:......
begin
case Msg of
WM_CHAR: /// OnEnter
Begin
if Wparam=13 then ButtonClk;
End;
procedure ButtonClk;
begin
......
halt;
end;
main....
Button:=CreateWindow('Button','OK'....
SetFocus(Button); // если это убрать,то OnEnter (ButtonClk); работает
при фокусе на кнопку + нажать интер - непашет
wp2 (2005-10-15 22:27:00) [3]Можно вообще нажать кнопку Enter
keybd_event(13, $45, KEYEVENTF_EXTENDEDKEY or 0, 0);
keybd_event(13, $45, KEYEVENTF_EXTENDEDKEY or KEYEVENTF_KEYUP, 0)
Если я конечно не ошибся...
ssk (2005-10-15 17:32:00) [4]SendMessage(Кнопка.Handle, BM_CLICK, 0, 0);
ANB (2005-10-14 10:55:00) [5]Во первых неправильно делаешь обработку. Но в твоем случае - пошли самому окну WM_CHAR VK_ENTER
Windows1 (2005-10-14 09:57:00) [6]не неполучается фокус уже поставил на кнопке
(их две там),чтоб видно было какая кнопка в фокусе.
Но ведь при Enter форма уже не принимает сообщение WM_Char=enter !!!
Надо типа Button1.OnEnter=procedureClick1;
-=S..S=- (2005-10-06 19:04:00) [7]
> clickmaker © (06.10.05 13:55) [1]
Вроде вопрос прозвучал на апи :)
> фокус на кнопке+нажать ее Enter^ом
Ищешь нужную тебе кнопку h := FindWindowEx(FindWindow('Form', 'TForm')...)
Потом делаешь SendMessage(h, (не помню точно какое там сообшение на нажатие левой кнопки мыши ) ... )
потом тоже самое токо для отпускания ...
вот и всё .. а кнопка сама фокус получит после всего этого ...
ENJOY :)
clickmaker (2005-10-06 13:55:00) [8]FormKeyDown()
if (Key = VK_RETURN) then Button.Click;
у формы KeyPreview поставь true