화면구성시 버튼을 클릭해서 어떠한 이벤트를 행하는 것을 어떠한 키를 누르면 할 수 있는 방법이 없을까요?? 버튼도 버튼대로 있고 버튼의 이벤트에 동일한 기능을 행하는 핫키를 부여하는 방법이 필요합니다...
보통 메뉴에 shortcut가 있어서 키를 지정하면 되는데 일반 버튼에는 그런 기능이 없네요... 어떻게 할 수 있는 방법이...^^
감사합니다...^^
근데요 alt키 안누르고 그냥 해당 알파벳만 눌러도 되네요...
그런데 펑션키를 사용할수는 없나요...
아니면 alt+키나 ctrl+키 라도...
그냥 일반 알파벳을 설정하면 그 화면에 검색칸등이 있을때 키값과 알파벳값이 중복될 수 있다는 우려가 생겨서 이왕이면 중복이 안되는 키조합이나 펑션키로 했으면 싶은데요...
안녕하세요.
아래와 같이 펑션키를 사용하는 경우 또는 alt키를 병합하여 사용하는 경우 두가지
모두 가능하니 참고하십시요.
Marek ...
// 펑션키 사용
procedure TForm.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if Key = VK_F5 then
begin
btnSendClick(Self);
end;
end;
또는
//Alt 사용
procedure TForm.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if (Shift = [ssAlt])and(Key = VK_F11) then
begin
btnSendClick(Self);
end;
end;
버튼 명뒤에 '입력[&I]' 이런식으로 붙이시면 shortcut이 됩니다~~~ 실행시는 Alt+ 키를 누르면 됩니다.
요게 아닌 특정한키를 눌렀을때 버튼을 입력 받으실려면
폼의 keypress 나 keydown이벤트에서 처리하셔도 됩니다..
아래를 보시면 대충 아시겠지만 ...전 키다운에 Insert키와 delete키를 눌렀을때 버튼이벤트 처리를 하였습니다~~~ 원하시는 답이 될런지 몰겠네요
if key = 45 Then begin
Key := 0;
btn_insertClick(Self);
Exit;
end;
if key = 46 Then begin
Key := 0;
btn_deleteClick(Self);
Exit;
end;