CommandSet 클래스
도메인별 언어의 메뉴에서 사용할 수 있는 명령의 하위 집합을 나타냅니다. 이러한 명령을 처리하는 방식을 수정하려면 YourLanguageCommandSet에서 메서드를 재정의합니다.
이 API는 CLS 규격이 아닙니다.
상속 계층 구조
System.Object
System.MarshalByRefObject
Microsoft.VisualStudio.Modeling.Shell.CommandSetLibrary
Microsoft.VisualStudio.Modeling.Shell.CommandSet
네임스페이스: Microsoft.VisualStudio.Modeling.Shell
어셈블리: Microsoft.VisualStudio.Modeling.Sdk.Shell.12.0(Microsoft.VisualStudio.Modeling.Sdk.Shell.12.0.dll)
구문
‘선언
<CLSCompliantAttribute(False)> _
Public MustInherit Class CommandSet _
Inherits CommandSetLibrary
[CLSCompliantAttribute(false)]
public abstract class CommandSet : CommandSetLibrary
CommandSet 형식에서는 다음과 같은 멤버를 노출합니다.
생성자
이름 | 설명 | |
---|---|---|
CommandSet | CommandSet 클래스의 새 인스턴스를 초기화합니다. |
위쪽
속성
이름 | 설명 | |
---|---|---|
CurrentDocData | (CommandSetLibrary에서 상속됨) | |
CurrentDocumentSelection | (CommandSetLibrary에서 상속됨) | |
CurrentDocView | 활성 문서 창의 뷰를 가져옵니다. | |
CurrentModelingDocView | (CommandSetLibrary에서 상속됨) | |
CurrentSelection | (CommandSetLibrary에서 상속됨) | |
MenuService | (CommandSetLibrary에서 상속됨) | |
MonitorSelection | (CommandSetLibrary에서 상속됨) | |
ServiceProvider | (CommandSetLibrary에서 상속됨) | |
SingleDocumentSelection | (CommandSetLibrary에서 상속됨) | |
SingleSelection | (CommandSetLibrary에서 상속됨) |
위쪽
메서드
이름 | 설명 | |
---|---|---|
CanDeleteSelectedItems | 선택한 항목을 삭제할 수 있는 경우 true를 반환합니다. (CommandSetLibrary에서 상속됨) | |
CreateObjRef | 보안 중요 원격 개체와 통신하는 데 사용되는 프록시 생성에 필요한 모든 관련 정보가 들어 있는 개체를 만듭니다. (MarshalByRefObject에서 상속됨) | |
DeleteSelectedItems | 선택한 항목을 삭제합니다. (CommandSetLibrary에서 상속됨) | |
Equals | 지정한 개체와 현재 개체가 같은지 여부를 확인합니다. (Object에서 상속됨) | |
Finalize | 가비지 수집에서 회수하기 전에 개체에서 리소스를 해제하고 다른 정리 작업을 수행할 수 있게 합니다. (Object에서 상속됨) | |
GetHashCode | 기본 해시 함수로 작동합니다. (Object에서 상속됨) | |
GetLifetimeService | 보안 중요 이 인스턴스의 수명 정책을 제어하는 현재의 수명 서비스 개체를 검색합니다. (MarshalByRefObject에서 상속됨) | |
GetMenuCommands | 바로 가기 메뉴에 명령을 표시합니다. (CommandSetLibrary.GetMenuCommands()을(를) 재정의함) | |
GetType | 현재 인스턴스의 Type을 가져옵니다. (Object에서 상속됨) | |
Initialize | 명령 집합을 초기화합니다.GetMenuCommands를 호출하고 결과를 캐시합니다. (CommandSetLibrary에서 상속됨) | |
InitializeLifetimeService | 보안 중요 이 인스턴스의 수명 정책을 제어하기 위한 수명 서비스 개체를 가져옵니다. (MarshalByRefObject에서 상속됨) | |
IsAnyDocumentSelectionCompartment | 선택 목록에 구획 항목이 있으면 True입니다. (CommandSetLibrary에서 상속됨) | |
IsAnyDocumentSelectionMoveableHostShape | 선택 목록의 항목 중 하나가 삭제할 수 없는 이동 가능한 호스트 모양이면 True입니다. (CommandSetLibrary에서 상속됨) | |
IsAnyDocumentSelectionUndeletable | 선택 목록에 있는 모양 항목을 삭제할 수 없으면 True입니다. (CommandSetLibrary에서 상속됨) | |
IsCurrentDiagramEmpty | 다이어그램에 자식이 없으면 true입니다. (CommandSetLibrary에서 상속됨) | |
IsDiagramSelected | 다이어그램이 선택되면 true입니다. (CommandSetLibrary에서 상속됨) | |
IsExpandableShape | 사용자가 도메인 속성을 표시하기 위해 셰이프를 확장할 수 있는지 여부를 확인합니다. | |
IsSingleDocumentSelection | 활성 문서에 선택된 항목이 하나만 있는 경우 true입니다. (CommandSetLibrary에서 상속됨) | |
IsSingleSelection | 활성 문서 창 또는 도구 창에 선택된 항목이 하나만 있는 경우 true입니다. (CommandSetLibrary에서 상속됨) | |
MemberwiseClone() | 현재 Object의 단순 복사본을 만듭니다. (Object에서 상속됨) | |
MemberwiseClone(Boolean) | 현재 MarshalByRefObject 개체의 단순 복사본을 만듭니다. (MarshalByRefObject에서 상속됨) | |
ProcessOnMenuDeleteCommand | 사용자가 Delete 명령을 클릭하거나 Delete 키를 누르면 호출됩니다.항목을 삭제합니다.이 동작을 변경하려면 이 메서드를 재정의합니다. | |
ProcessOnMenuEditCompartmentItemCommand | 사용자가 구획 모양의 항목에 대한 편집 메뉴 명령을 클릭하면 호출됩니다.텍스트 편집 상태로 전환합니다.이 동작을 변경하려면 이 메서드를 재정의합니다. | |
ProcessOnMenuExpandCollapseCommand | 사용자가 셰이프에 할당된 속성 목록을 확장하거나 축소하면 호출됩니다. | |
ProcessOnMenuPageSetupCommand | 페이지 설정 대화 상자를 엽니다.이 동작을 변경하려면 이 메서드를 재정의합니다. | |
ProcessOnMenuPrintCommand | 인쇄 대화 상자를 엽니다.이 동작을 변경하려면 이 메서드를 재정의합니다. | |
ProcessOnMenuPrintPreviewCommand | 인쇄 미리 보기 창을 엽니다.이 동작을 변경하려면 이 메서드를 재정의합니다. | |
ProcessOnMenuRerouteLineCommand | 두 모양 사이 연결선의 기본 위치를 복원합니다.이 동작을 변경하려면 이 메서드를 재정의합니다. | |
ProcessOnMenuResetDecoratorLocationCommand | Decorator 위치 재설정 메뉴 명령을 처리하려면 이 메서드를 재정의합니다. | |
ProcessOnMenuResetDecoratorSizeCommand | Decorator 크기 재설정 메뉴 명령을 처리하려면 이 메서드를 재정의합니다. | |
ProcessOnMenuSelectAllCommand | 사용자가 편집 메뉴에서 모두 선택 명령을 클릭하거나 Ctrl-A를 누르면 호출됩니다.다이어그램의 모든 모양을 선택합니다.이 동작을 변경하려면 메서드를 재정의합니다. | |
ProcessOnStatusDeleteCommand | 삭제 명령이 상황에 맞는 메뉴에 표시되는지 여부를 확인합니다.사용자가 다이어그램에서 마우스 오른쪽 단추를 클릭하면 호출됩니다. | |
ProcessOnStatusEditCompartmentItemCommand | 편집 명령이 상황에 맞는 메뉴에 표시되는지 여부를 확인합니다. | |
ProcessOnStatusExpandCollapseCommand | 확장 또는 축소 명령이 상황에 맞는 메뉴에 표시되는지 여부를 확인합니다.사용자가 다이어그램에서 마우스 오른쪽 단추를 클릭하면 호출됩니다. | |
ProcessOnStatusPageSetupCommand | 페이지 설정 명령이 파일 메뉴에 표시되는지 여부를 확인합니다.다이어그램이 활성 상태일 때 사용자가 파일 메뉴를 클릭하면 호출됩니다. | |
ProcessOnStatusPrintCommand | 인쇄 명령이 파일 메뉴에 표시되는지 여부를 확인합니다.다이어그램이 활성 상태일 때 사용자가 파일 메뉴를 클릭하면 호출됩니다. | |
ProcessOnStatusPrintPreviewCommand | 인쇄 미리 보기 명령이 메뉴에 표시되는지 여부를 확인합니다.다이어그램이 활성 상태일 때 사용자가 파일 메뉴를 클릭하면 호출됩니다. | |
ProcessOnStatusRerouteLineCommand | 바꾸기 명령이 상황에 맞는 메뉴에 표시되는지 여부를 확인합니다.사용자가 다이어그램에서 마우스 오른쪽 단추를 클릭하면 호출됩니다. | |
ProcessOnStatusResetDecoratorLocationCommand | 데코레이터 위치 다시 설정 명령이 상황에 맞는 메뉴에 표시되는지 여부를 확인합니다.사용자가 다이어그램에서 마우스 오른쪽 단추를 클릭하면 호출됩니다. | |
ProcessOnStatusResetDecoratorSizeCommand | 데코레이터 크기 다시 설정 명령이 메뉴에 표시되는지 여부를 확인합니다.사용자가 다이어그램에서 마우스 오른쪽 단추를 클릭하면 호출됩니다. | |
ProcessOnStatusSelectAllCommand | 모두 선택 명령이 파일 메뉴에 표시되는지 여부를 확인합니다.다이어그램이 활성 상태일 때 사용자가 편집 메뉴를 클릭하면 호출됩니다. | |
ToString | 현재 개체를 나타내는 문자열을 반환합니다. (Object에서 상속됨) |
위쪽
설명
DSL 일부 메뉴 명령에 응답 하는 방식을 수정할 수 있습니다. 수정할 수 있는 명령을 바로 가기 메뉴에서 명령 및 파일 및 편집 메뉴에서 일부 명령이 포함 합니다.
DslPackage 프로젝트에서 생성된 된 파일 CommandSet.cs을 호출 하는 클래스의 partial 선언을 포함 하 라는 경우가 <YourLanguageName> CommandSet. 표준 메뉴 명령의 동작을 수정 하려면 동일한 클래스의 부분 정의 사용 하 여 다른 파일을 추가 합니다.
이 클래스는 기본 클래스에 정의 된 메서드를 재정의할 수 있습니다.
참고
새 파일의 네임 스페이스를 네임 스페이스에 생성 된 CommandSet.cs와 같은 인지 확인 합니다.새 파일에 클래스 선언 내에서 "무시"를 입력 재정의할 수 있는 메서드 목록이 표시 됩니다.
각 명령에는 ProcessOnStatus... 메서드 및 ProcessOnMenu는... 방법입니다. ProcessOnStatus... 메서드는 명령을 마우스 오른쪽 단추 메뉴에 표시할지 여부를 결정 합니다. 명령 매개 변수 명령을 표시 되는지 확인 하려면 Visible 속성을 설정 하 고 메뉴 항목이 회색으로 표시 가능 여부를 확인 하려면 Enabled 속성을 설정 합니다.
ProcessOnMenu... 메서드는 메뉴 항목을 클릭할 때 명령을 수행 합니다.
참고
Commands.vsct 파일에 명령을 정의할 수 있습니다.
자세한 내용은 방법: 바로 가기 메뉴에 명령 추가을 참조하십시오.
예제
이 파일은 DslPackage 프로젝트에 추가 됩니다. DSL의 사용자를가 한 번에 둘 이상의 요소가 삭제 수 없습니다.
// In the DslPackage project.
namespace Company.Language1 // Check this is correct after creating the file.
{
internal partial class Language1CommandSet // Same class as the generated class.
{
/// <summary>
/// Called when user right-clicks on the diagram or clicks the Edit menu.
/// </summary>
/// <param name="command"></param>
protected override void ProcessOnStatusDeleteCommand(System.ComponentModel.Design.MenuCommand command)
{
if (this.CurrentSelection.Count > 1)
{
// If user has selected more than one item, Delete is greyed out.
command.Enabled = false;
}
else
{
// Otherwise, default behavior.
base.ProcessOnStatusDeleteCommand(command);
}
}
/// <summary>
/// Called when user presses Delete key or clicks the Delete command on a menu.
/// </summary>
protected override void ProcessOnMenuDeleteCommand()
{
// Allow users to delete only one thing at a time.
if (this.CurrentSelection.Count <= 1)
{
base.ProcessOnMenuDeleteCommand();
}
}
}
}
스레드로부터의 안전성
이 형식의 모든 공용 static(Visual Basic의 경우 Shared) 멤버는 스레드로부터 안전합니다. 인터페이스 멤버는 스레드로부터 안전하지 않습니다.
참고 항목
참조
Microsoft.VisualStudio.Modeling.Shell 네임스페이스