하위 메뉴 활성화에 사용한 방법과 유사한 방법을 사용하여 다른 풀다운 또는 바로 가기 메뉴를 활성화 또는 비활성화할 수 있습니다. 이것을 메뉴 참조라고 합니다.
풀다운 메뉴나 바로 가기 메뉴는 상대 및 절대의 두 가지 방법으로 참조할 수 있습니다. 절대 참조는 메뉴 계층 구조에 있는 메뉴 항목의 절대 위치를 사용합니다. 상대 참조는 사용자화 그룹 이름과 요소 ID를 사용합니다. 상대 참조는 동적 특성으로 인해 권장됩니다.
메뉴 항목을 참조하는 것 이외에도 다음 구문을 사용하여 메뉴 항목을 활성화 또는 비활성화할 수 있습니다.
$Pn.i=xxx
$는 메뉴 섹션을 로드합니다. Pn은 활성화 메뉴 섹션을 지정합니다(유효값은 0에서 16까지). i 는 메뉴 항목 번호를 지정합니다. 그리고 xxx (있는 경우)는 그레이 아웃되거나 표시된 문자의 문자열을 지정합니다.
다음 예에서는 $Pn=xxx 구문을 사용하여 POP7 별칭으로 메뉴의 항목 1에 확인 표시를 추가합니다.
$P7.1=!.
다음 예제(AutoCAD)에서는 AutoLISP menucmd 함수를 사용하여 풀다운 또는 바로 가기 메뉴 항목을 참조합니다. 사용자화 파일은 동적(부분적 CUIx 파일 로드)이므로 다음 구문이 작동하지 않는 경우도 있습니다.
(menucmd "P1.2=~")
이 구문은 메뉴 항목의 위치에 의존하며, CUILOAD 명령으로 POP1 앞에 새 항목을 삽입하는 경우에는 작동하지 않습니다.
메뉴 항목 번호 매기기는 메뉴의 계층 구조에 관계없이 연속적입니다.
메뉴 계층 구조에서의 위치와 관계없이 항목이 자체적으로 처리되도록 하려면 다음을 사용합니다.
현재 명령 또는 가장 최근에 선택한 명령을 참조합니다.
현재 메뉴 또는 가장 최근에 선택한 메뉴의 n 항목을 참조합니다.
AutoLISP menucmd 함수를 사용하여 사용자화 그룹 및 요소 ID를 기반으로 풀다운 또는 바로 가기 메뉴 항목을 참조할 수 있습니다. 다음 구문에서는 요소 ID를 기준으로 메뉴 항목을 참조합니다.
(menucmd "Gcustomizationgroup.element_id=value")
다음 예제는 상대 참조 구문을 사용하여 ID_Line 메뉴 항목(ACAD 사용자화 그룹에 저장됨)을 비활성화합니다. 이것은 메뉴에서 메뉴 항목의 위치와 관계 없이 작동합니다.
(menucmd "GACAD.ID_Line=~")
주 사용자화(CUIx) 파일에 포함된 내용을 알고 있다면, 주 CUIx 파일을 참조하는 추가 메뉴 항목으로 부분적 사용자화(CUIx) 파일을 작성할 수 있습니다. 이러한 방식으로 부분적 CUIx 파일과 특정한 기본 사용자화 파일을 서로 연동할 수 있습니다.
AutoLISP menucmd 함수는 $Pn=xxx 명령 문자를 앞에 $를 제외하고 승인합니다. 이러한 함수에서 명령 문자열의 xxx 부분에는 특수한 값이 있을 수 있습니다.
지정된 항목에 대한 현재 사용 안 함 및 표시된 상태를 문자열로 반환합니다(예: 사용 안 함으로 설정된 항목의 경우 ~, 확인 표시가 있는 항목의 경우 !., 회색으로 표시되거나 표시되지 않은 항목의 경우 "").
Pn.i=?에 대해 설명한 것과 동일한 유형의 문자열을 반환하지만, Pn.i= 머리말이 사용됩니다. 이것은 실제 메뉴와 항목 번호가 반환되기 때문에 @ 형식과 함께 사용하면 유용합니다.
예를 들어, POP6 섹션에서 다섯 번째 항목이 사용 불가능할 경우 다음의 menucmd 코드가 다음 문자열 값을 반환합니다.
(menucmd "P6.5=?") returns "~" (menucmd "P6.5=#?") returns "P6.5=~"