Вниз
Скачать: CL | DM;

фокус на кнопке+нажать ее Enter^ом   Найти похожие ветки 

← →
Windows1   (2005-10-06 13:48) [0]

как на апи по клавише Enter нажать на кнопку (procedure)
типа ButtonClick(self);
пока делаю в окне обработку клавиши Enter.
Работает если фокус на окне,а если на кнопке
-неработает (т.е после Setfocus(handleButton)).

А надо чтоб выделеная фокусом работала(


← →
clickmaker ©   (2005-10-06 13:55) [1]

FormKeyDown()
 if (Key = VK_RETURN) then Button.Click;
у формы KeyPreview поставь true


← →
-=S..S=-   (2005-10-06 19:04) [2]


> clickmaker ©   (06.10.05 13:55) [1]

Вроде вопрос прозвучал на апи :)


> фокус на кнопке+нажать ее Enter^ом

Ищешь нужную тебе кнопку h := FindWindowEx(FindWindow("Form", "TForm")...)
Потом делаешь SendMessage(h, (не помню точно какое там сообшение на нажатие левой кнопки мыши ) ... )
потом тоже самое токо для отпускания ...

вот и всё .. а кнопка сама фокус получит после всего этого ...
ENJOY :)


← →
Windows1   (2005-10-14 09:57) [3]

не неполучается фокус уже поставил на кнопке
(их две там),чтоб видно было какая кнопка в фокусе.
Но ведь при Enter форма уже не принимает сообщение WM_Char=enter !!!

Надо типа Button1.OnEnter=procedureClick1;


← →
ANB ©   (2005-10-14 10:55) [4]

Во первых неправильно делаешь обработку. Но в твоем случае - пошли самому окну WM_CHAR VK_ENTER


← →
ssk ©   (2005-10-15 17:32) [5]

SendMessage(Кнопка.Handle, BM_CLICK, 0, 0);


← →
wp2   (2005-10-15 22:27) [6]

Можно вообще нажать кнопку Enter
keybd_event(13, $45, KEYEVENTF_EXTENDEDKEY or 0, 0);
keybd_event(13, $45, KEYEVENTF_EXTENDEDKEY or KEYEVENTF_KEYUP, 0)

Если я конечно не ошибся...


← →
Windows1   (2005-10-17 15:38) [7]

вот код как я делаю

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); работает

при фокусе на кнопку + нажать интер - непашет


← →
Leonid Troyanovsky ©   (2005-10-17 16:09) [8]


> Windows1   (17.10.05 15:38) [7]

> case Msg of
> WM_CHAR: /// OnEnter


WM_GETDLGCODE:

--
Regards, LVT.



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

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



Память: 0.46 MB
Время: 0.026 c
2-1133377981
kernef
2005-11-30 22:13
2005.12.18
Помогите разобраться с математикой!


3-1130820858
Карелин Артем
2005-11-01 07:54
2005.12.18
Сколько _Recordset возвращает запрос в ADO?


14-1132920020
softer
2005-11-25 15:00
2005.12.18
Delphi7 и Delphi2005


14-1132353545
lookin
2005-11-19 01:39
2005.12.18
Skype никто не хочет воспользоваться?


1-1132732615
Ega23
2005-11-23 10:56
2005.12.18
override-функция, она уже virual?




   Наверх