시트 우클릭 메뉴 깜박임·시트 전환·뒤쪽 툴팁
개발 기록 · 블로그 공개
원본 기록 상태 해결
실제 마우스로 우클릭 소멸·시트 전환을 재현해 수정하고, 메뉴 뒤쪽 툴팁을 억제했습니다.

작업 결과
우클릭 메뉴 유지·현재 시트 유지·대상 작업·메뉴 중 툴팁 억제 및 종료 후 복구를 실제 Unity에서 검증했습니다.
변경 내용
재현 조건
Unity6000.0.83f1·Windows·전용 QA 프로젝트
재현 순서
현재 시트가 아닌 탭을 오른쪽 버튼으로 클릭하고 포인터를 멈춘 채 기다립니다.
기대 동작
메뉴가 유지되고 현재 시트가 그대로이며 뒤쪽 툴팁이 뜨지 않아야 합니다.
실제 동작
수정 전 실제 오른쪽 클릭에서 메뉴가 사라지고 시트 전환. 사용자 추가 제보로 메뉴 뒤 툴팁도 수정.
원인
MouseDown과 ContextClick을 중복 처리하고 메뉴를 열 때 SelectWorksheet를 호출했습니다. ScreenTip은 포인터가 소유 문서 위에 있는지만 검사해 연결된 메뉴가 열린 상태를 고려하지 않았습니다.
적용 내용
오른쪽 MouseDown은 탭 버튼에 전달하지 않고 MouseUp에서 메뉴를 한 번만 엽니다. 같은 클릭의 ContextClick 재처리를 억제합니다. 메뉴를 열 때 SelectWorksheet를 호출하지 않으며, 이름 변경·삭제는 캡처한 시트 이름을 대상으로 실행합니다. 연결된 팝업이 열려 있으면 문서 ScreenTip을 초기화하고, 닫으면 일반 호버를 다시 허용합니다.
검증
수정 전 실제 우클릭에서 메뉴 소멸·시트 전환 재현. 수정 후 같은 메뉴 핸들로5초 유지·Column 유지. 최종 메뉴 코드에서 실제 우클릭6회, Esc/바깥 클릭 각3회, 왼쪽 선택·비선택 시트 삭제·저장 재열기 통과. 메뉴의 이름 변경 항목을 실제 클릭한 뒤 캡처된 콜백으로 다른 시트만 변경했습니다. 툴팁 추가 수정 후 실제 우클릭·정지3초에서 tipKey 비어 있음·painted false·동일 메뉴 유지, Esc 후 일반 sheet.tab 툴팁 복구를 확인했습니다. 제품3어셈블리 컴파일 통과. 서로 다른 실행 어셈블리는 source.json에 구분합니다.
개발 화면
