Форум: "Основная";
Текущий архив: 2005.09.04;
Скачать: [xml.tar.bz2];
ВнизИмитация нажатия клавиш Найти похожие ветки
← →
Бобров Илья (2005-08-15 18:37) [0]Мастера, подскажите как послать в компонент имитированное нажатие комбинации клавиш ctrl+f?
За ранее благодарен!
← →
Delphi_is_cool © (2005-08-15 19:17) [1]В какой компонент ? А вобще не проще ли сделать невидимую кнопку и кликнуть по ней ?
← →
злобная танька (2005-08-15 19:42) [2]procedure TForm1.Button1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if (ssCtrl in Shift) and (Key = 70) then
ShowMessage("he he!");
end;
procedure TForm1.Button2Click(Sender: TObject);
var
k: word;
begin
k := 70;
Button1KeyDown(Self, k, [ssCtrl]);
end;
но это только если OnKeyDown есть у компонента. Если нету - придется черес PostMessage наверно или типа того!
← →
Delphi_is_cool © (2005-08-15 19:47) [3]Можно попробовать так:
const
WM_MYHOTKEY = WM_USER + 100;
...
private
procedure Hot_key(var Msg: TMessage); Message WM_MYHOTKEY;
...
procedure TForm1.Hot_key(var Msg: TMessage);
begin
if (Msg.WParam = VK_CONTROL) and (Msg.LParam = $46) then ShowMessage("LOL");
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
SendMessage(Handle, WM_MYHOTKEY, VK_CONTROL, $46); // <ctrl> + <f>
end;
Вот только не знаю это ли Вам нужно ...
← →
злобная танька (2005-08-15 20:17) [4]procedure TForm1.Button2Click(Sender: TObject);
var
ks: TKeyboardState;
begin
GetKeyboardState(ks);
ks[17] := 255;
SetKeyboardState(ks);
PostMessage(Button1.Handle, WM_KEYDOWN, 70, 0);
end;
работает, но как-то уж очень криво.. с клавой что-то случается нехорошее :) я вообще-то в WinAPI не очень соображаю.. сейчас подправлю может :)
← →
TUser © (2005-08-15 20:33) [5]Если это компонент в твоей программе - то все это не нужно. Просты вызывай метод-обработчик.
← →
Leonid Troyanovsky © (2005-08-15 21:43) [6]
> злобная танька (15.08.05 20:17) [4]
http://groups.google.com/group/fido7.ru.delphi.chainik/msg/e8115e50b604ca90
--
Regards, LVT.
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2005.09.04;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.009 c