다음을 통해 공유


ContextMenu.ProcessCmdKey(Message, Keys, Control) 메서드

정의

명령 키를 처리합니다.

protected public:
 virtual bool ProcessCmdKey(System::Windows::Forms::Message % msg, System::Windows::Forms::Keys keyData, System::Windows::Forms::Control ^ control);
protected internal virtual bool ProcessCmdKey (ref System.Windows.Forms.Message msg, System.Windows.Forms.Keys keyData, System.Windows.Forms.Control control);
override this.ProcessCmdKey : Message * System.Windows.Forms.Keys * System.Windows.Forms.Control -> bool
Protected Friend Overridable Function ProcessCmdKey (ByRef msg As Message, keyData As Keys, control As Control) As Boolean

매개 변수

msg
Message

처리할 창 메시지를 나타내며 참조에 의해 전달되는 Message입니다.

keyData
Keys

처리할 키를 나타내는 Keys 값 중 하나입니다.

control
Control

명령 키가 적용될 컨트롤입니다.

반환

Boolean

컨트롤이 문자를 처리하면 true이고, 그렇지 않으면 false입니다.

설명

이 메서드는 명령 키를 처리하기 위해 메시지 전처리 중에 호출됩니다. 명령 키는 항상 일반 입력 키보다 우선하는 키입니다. 명령 키의 예로는 액셀러레이터 및 메뉴 바로 가기가 있습니다. 메서드는 명령 키를 처리했음을 나타내거나 false 키가 명령 키가 아님을 나타내기 위해 반환 true 되어야 합니다. 이 메서드는 컨트롤은 ActiveX 컨트롤 또는 Windows Forms 애플리케이션에서 호스트 되는 경우에 호출 됩니다.

메서드는 ProcessCmdKey 먼저 컨트롤에 명령 키를 처리할 수 있도록 컨트롤 ContextMenu에 있는지 여부를 결정합니다 ContextMenu . 명령 키가 메뉴 바로 가기가 아니고 컨트롤에 부모가 있는 경우 키는 부모의 ProcessCmdKey 메서드에 전달됩니다. 그 결과 명령 키가 컨트롤 계층 구조 위로 "버블링"됩니다. 사용자가 누른 키 외에도 키 데이터는 키와 동시에 누른 한정자 키를 나타냅니다. 한정자 키에는 Shift, Ctrl 및 Alt 키가 포함됩니다.

상속자 참고

파생 클래스에서 메서드를 재정의 ProcessCmdKey(Message, Keys) 할 때 컨트롤이 반환 true 되어 키를 처리했음을 나타내야 합니다. 컨트롤에서 처리되지 않는 키의 경우 기본 클래스의 ProcessCmdKey(Message, Keys) 메서드를 호출한 결과가 반환되어야 합니다. 컨트롤은 이 메서드를 재정의해야 하는 경우 거의 없습니다.

적용 대상