어떤 입력 장치가 특정 GUI 이벤트를 트리거했는지 쉽게 알 수있는 방법이 있는지 궁금합니다.Delphi에서 특정 이벤트를 트리거 한 장치를 확인하는 방법은 무엇입니까?
예 : A TButton.OnClick
이벤트가 발생합니다. 사용자가 키보드 누르기 (단축키, 기본 버튼의 경우 Enter
키, 집중 버튼의 경우 space
키 등)를 사용하여 트리거 했습니까? 아니면 마우스를 클릭하여 트리거 했습니까? 알기 쉬운 방법이 있습니까?
내가 알고 싶은 이유는 사용자가 키보드를 사용하여 수행 할 수있는 작업을 시작하기 위해 마우스를 사용할 때 일부 응용 프로그램에 키보드 사용 힌트를 구현할 수 있기 때문입니다. 작업장에있는 우리의 시스템은 먼지가 많거나 더러운 환경에 놓여 있으며 마우스는 잘 견디지 못하는 경향이 있습니다. 또한 많은 경우에 마우스가 사용되는 공간이별로 없습니다. (아니요, 숫자 키패드가없는 키보드는 해결책이 아니며 너무 무겁습니다.)
그러나 우리의 응용 프로그램은 Windows에서 실행되기 때문에 사용자는 가정과 같은 프로그램을 사용하는 경향이 있습니다. 쥐. 특히 그다지 잘못된 것은 없지만 입력 워크 플로를 키보드 친화적으로 최적화하기 위해 노력했습니다. 사용자에게 마우스를 잡을 필요없이 수행중인 작업을 수행 할 수있는 방법을 알려주는 영향력이 적은 방법이 있다면 좋을 것입니다.
키보드 액세스를 나타내는 표준 방법을 사용하지 않는 이유는 무엇입니까? –
@DavidHeffernan : 예를 들면? 가능한 경우 표준 키보드 바로 가기를 사용하고, 기본 버튼을 사용하고, 가능한 한 많이 UI 액션을 되돌리기 위해 'TAction'(또는 자손)을 사용합니다. 그러나 화면 공간이 너무 많아서 UI 전체에 바로 가기 정보를 추가 할 수는 없습니다. 사용자가 "항목 추가"버튼을 클릭 할 때 화면에 힌트 쇼를 표시하고 싶습니다. "항목을 추가하려면 '삽입'을 누를 수도 있습니다." – afrazier
힌트에 바로 가기를 표시하십시오. VCL이 귀하를 대신합니다. 액셀러레이터 키를 사용하십시오. 사용자가 직접 발견하도록하십시오. 그들을 강요하지 마십시오. –