문제

cfusernotificationDisplayalert 그리고 cfusernotificationDisplayNotice a 비 모달 창 원래 응용 프로그램 창을 선택하면 응용 프로그램 UI를 매우 바람직하지 않은 상태로 가져올 수 있기 때문에 이것은 나쁩니다 (메시지 상자는 숨겨져 있지만 응용 프로그램이 응답하지 않습니다).

오래된 SystemAlert 모달 이었지만 이것은 유니 코드 문자열을 완전히 지원하지 않습니다.

Mac 아래의 Modal 창으로 메시지 상자를 어떻게 표시 할 수 있습니까? Windows의 MessageBox와 비슷한 시간을 찾고 있습니까?

도움이 되었습니까?

해결책 2

그것은 그것을 보인다 CreateStandardAlert 이것이 올바른 솔루션입니다 모달.


DialogRef theItem;
DialogItemIndex itemIndex;
CreateStandardAlert(kAlertNoteAlert, CFSTR("aaa"), CFSTR("bbb"), NULL, &theItem);
RunStandardAlert(theItem, NULL, &itemIndex);

다른 팁

나는 그것을 구현했다 CFUserNotificationDisplayAlert 사용자가 메시지 상자를 닫을 때까지 돌아 오지 않습니다.

코드를 살펴보고 싶다면 Mac의 MessageBox 기능Mac 용으로 구현 된 MessageBox 함수를 찾을 수 있으며 MB_OKCANCEL에 대해서만 구현되지만 코드가 거의 없으면 전체 MessageBox 플래그와 리턴 값을 다룰 수 있습니다. 좋은 시작점입니다.

살펴보십시오 NSBeginAlertSheet 기능 또는 NSAPP에서 :

- (void)beginSheet:(NSWindow *)sheet modalForWindow:(NSWindow *)docWindow
      modalDelegate:(id)modalDelegate didEndSelector:(SEL)didEndSelector contextInfo:(void *)contextInfo

당신이 원하는 것일 수 있습니다. 여기 또한 시트 작업에 대한 좋은 기사입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top