XmCreate {Error | Warning | Info} 대화 상자를 사용하여 메인 윈도우가 열려 있고 프로그램 데이터를 사용할 수 없으면 SDL 기반 애플리케이션의 일부 메시지를 화면에 표시하려고합니다. 대화 상자를 열어 원하는 메시지를 인쇄하고 사용자가 [확인] 버튼을 클릭하면 대화 상자와 함께 작성해야하는 상위 위젯을 닫거나 제거해야합니다. 이제 afaik XtAppMainLoop은 사용자가 닫을 때까지 최고 위젯 메시지 (윈도우?)를 반복하고 처리합니다. 대화 상자가 반환 될 때 닫고 싶습니다. 어떻게해야합니까?XtAppMainLoop (Motif)를 죽이는 방법은 무엇입니까?
1
A
답변
2
Google 검색 및 독서로 몇 시간이고 XtAppSetExitFlag (XtAppContext)를 사용할 수 있다는 것을 알게되었습니다.
1
XtAppMainLoop에서 반환되는 XtAppContext에서 간단합니다. p->exit_flag = 1;
입니다.
응용 프로그램이 단순히 자신의 메인 루프를 포함하고 원하는대로 수행하는 것이 일반적입니다. 모든 XtAppMainLoop은 XtAppNextEvent(app, &event)
을 호출 한 다음 XtDispatchEvent(&event)
을 호출합니다.
+0
XtAppContext가 일부 포함 파일 및 전달 선언 트릭을 사용하여 일부 불투명 한 데이터 형식으로 바뀌 었으므로 정보를 보내 주셔서 감사하지만 XtAppContext.exit_flag에 액세스 할 수 없으며 필요한 (X11) 파일이 필요한지 확인할 수 없습니다. 그것을 작동시키기 위해 포함시키는 것. XtDestroyApplicationContext를 호출하여 원하는 것을 얻을 수 있다고 생각합니다. XtDestroyApplicationContext는 이벤트 루프도 처리합니다. – karx11erx
관련 문제
- 1. RemoteActor를 죽이는 방법은 무엇입니까?
- 2. 단백질 서열에서 motif를 찾았습니까?
- 3. Symfony2에서 세션을 죽이는 방법은 무엇입니까?
- 4. C# 프로세스를 죽이는 방법은 무엇입니까?
- 5. MacOS에서 프로세스를 죽이는 방법은 무엇입니까?
- 6. Windows에서 glassfish 서버를 죽이는 방법은 무엇입니까?
- 7. C#에서 스레드를 즉시 죽이는 방법은 무엇입니까?
- 8. 다른 활동으로 서비스를 죽이는 방법은 무엇입니까?
- 9. vb.net에서 백그라운드 작업자를 죽이는 방법은 무엇입니까?
- 10. 원격 디버깅을 마치면 msvsmon.exe를 죽이는 방법은 무엇입니까?
- 11. 데이터베이스를 죽이는 가장 좋은 방법은 무엇입니까
- 12. Silverlight에서 실행중인 모든 스레드를 죽이는 방법은 무엇입니까?
- 13. 비동기 대의원을 중지하거나 죽이는 방법은 무엇입니까?
- 14. JavaScript에서 "죽이는"것은 무엇입니까?
- 15. 창을 죽이는 방법?
- 16. 이맥스에서 실수로 텍스트를 죽이는 것을 피하는 방법은 무엇입니까?
- 17. 명령을 사용하여 마지막으로 연 Internet Explorer 창을 죽이는 방법은 무엇입니까?
- 18. 자바의 다른 스레드에서 즉시 스레드를 죽이는 방법은 무엇입니까?
- 19. .net webservice에 자바 스크립트 비동기 호출을 죽이는 방법은 무엇입니까?
- 20. SIGSEGV를 일으키는 스레드를 죽이는
- 21. 내 사용자의 Asp.net 세션을 죽이는 것은 무엇입니까?
- 22. 프로세스를 죽이는 두 가지 방법의 차이점은 무엇입니까?
- 23. 리눅스에서 프로세스를 죽이는 것
- 24. ajax 요청을 죽이는 방법
- 25. sshj를 통해 프로세스를 죽이는
- 26. C# 스레드를 죽이는 방법?
- 27. 서비스에서 활동을 죽이는 방법
- 28. vb.net에서 프로세스를 죽이는 방법
- 29. 수은 저장소를 죽이는 방법?
- 30. 프로세스를 죽이는 방법?
사실, 나는 다른 생각을했습니다. 자식에서 fork() 및 상태 창을 수행 한 다음 자식을 종료하면됩니다. 너무 늦었 어! 죄송합니다! 나는 다른 것에 대해 생각하고있었습니다. 다른 질문의 예제 코드가 Xm/Xm.h를 포함했기 때문에 주제를 사용하고 있습니까? 이제 모티프에는 아무런 문제가 없지만 원하는 모든 것이 스플래시 화면 이었으면 과장되었습니다. 알려주십시오 ... – DigitalRoss
메시지 상자의 시작 화면을 찾고 있지 않습니다. 음, 실제로는 그 이상입니다. 길고 여러 줄의 진단 메시지를 출력 할 수 있기를 원하기 때문에 텍스트 위젯을 가진 대화 상자가 필요합니다. 나는 마침내 Motif 프로그래밍 매뉴얼에서 쓸만한 것을 발견했으며 그것을 내 필요에 맞게 조정했습니다. 나는 코드를 게시 할 것이며, 코드를 완성 할 때 코드에 대한 링크를 게시 할 것이다. Btw, 프로그램 종료 응용 프로그램 루프를 피하기 위해 창 관리자 닫기 신호를 가로 채고 XtAppSetExitFlag 대신 응용 프로그램의 종료 플래그를 설정할 수 있습니다. 그러면 이벤트 루프가 종료됩니다. – karx11erx