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.11.0(Microsoft.VisualStudio.Modeling.Sdk.Shell.11.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 키를 누를 때 호출 됩니다.항목을 삭제합니다.이 동작을 변경 하려면이 메서드를 재정의 합니다. | |
ProcessOnMenuEditCompartmentItemCommand | 구획 모양에서 항목을 편집 메뉴 명령을 클릭할 때 호출 됩니다.텍스트 편집 상태로 전환 됩니다.이 동작을 변경 하려면이 메서드를 재정의 합니다. | |
ProcessOnMenuExpandCollapseCommand | 사용자가 확장 될 때 호출 또는 속성에 할당 된 목록을 축소 합니다. | |
ProcessOnMenuPageSetupCommand | 페이지 설정 대화 상자를 엽니다.이 동작을 변경 하려면이 메서드를 재정의 합니다. | |
ProcessOnMenuPrintCommand | 인쇄 대화 상자를 엽니다.이 동작을 변경 하려면이 메서드를 재정의 합니다. | |
ProcessOnMenuPrintPreviewCommand | 인쇄 미리 보기 창을 엽니다.이 동작을 변경 하려면이 메서드를 재정의 합니다. | |
ProcessOnMenuRerouteLineCommand | 두 셰이프 사이의 연결선의 기본 위치에 복원 됩니다.이 동작을 변경 하려면이 메서드를 재정의 합니다. | |
ProcessOnMenuResetDecoratorLocationCommand | 데코레이터 위치 재설정 메뉴 명령을 처리 하려면이 메서드를 재정의 합니다. | |
ProcessOnMenuResetDecoratorSizeCommand | 데코레이터 크기 재설정 메뉴 명령을 처리 하려면이 메서드를 재정의 합니다. | |
ProcessOnMenuSelectAllCommand | 편집 메뉴에서 모두 선택 명령을 클릭 하거나 A. ctrl 키를 누를 때 호출다이어그램의 모든 셰이프를 선택합니다.이 동작을 변경 하는 메서드를 재정의 합니다. | |
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 네임스페이스