을 구현하는 방법 Win32 응용 프로그램의 sigc 및 glibmm을 사용하여 UI를 설계 한 경우 메시지 루프를 구현하는 방법은 무엇입니까? GetMessage, DispatchMessage, TranslateMessage 등의 Win32 API를 계속 사용하고 있습니까? 또는 다른 기능을 사용하여 종료합니까? 그리고 기본 WinProc이 아직 있습니까?sigc 및 glib를 사용하는 win32 응용 프로그램에서 메시지 루프
2
A
답변
2
모든 Windows GUI 응용 프로그램은 GetMessage
, TranslateMessage
, DispatchMessage
을 기반으로 메시지 펌프를 실행해야합니다. 프레임 워크는 일반적으로 구현 세부 사항에서 당신을 보호하지만 어딘가에 프레임 워크는 메시지 펌프가 될 것입니다.
윈도우 절차에서도 마찬가지입니다. 글을 쓸 필요가 없거나 상호 작용할 필요는 없지만, 프레임 워크는 프레임 워크 구현 방법에 따라 최상위 윈도우와 하위 윈도우에 대한 윈도우 프로 시저를 제공해야합니다.
3
sigc + glibmm은 네이티브 콜백/메인 루프 (MacOSX의 경우 NSRunLoop 및 Windows의 경우 GetMessage)의 맨 위에있는 GTK C 프레임 워크 콜백/메인 루프의 최상위 레벨입니다.
GetMessage는 Windows 핸들, 키 누르기 및 마우스 동작과 같은 절대적인 기본 사항을 얻으려면 Windows의 모든 GUI 응용 프로그램에서 호출해야합니다.
액셀러레이터 키가 GTK 자체 구현으로 처리되므로 TranslateMessage가 필요하지 않습니다.
SendMessage는 거의 사용되지 않으며 SendMessage가 필요한 대부분의 호출은 버튼이나 텍스트 필드 위젯과 같은 클라이언트 컨트롤에 대한 호출입니다. GTK에서는 GtkButton 및 GtkEntry로 구현되며 GTK는 Windows 메시지 전달을 거치지 않고 직접 C 구현을 사용할 수 있습니다.
관련 문제
- 1. 키보드 입력 및 Win32 메시지 루프
- 2. 아이폰에서 glib를 사용하는 방법은 무엇입니까?
- 3. 다중 스레드 Win32 GUI 메시지 루프
- 4. 메시지 루프 대기
- 5. 외부 응용 프로그램의 메시지 루프 수신
- 6. MinGW에서 GLib를 컴파일하고 사용하는 방법
- 7. Win32 응용 프로그램에서 드로잉 문제
- 8. 콘솔 응용 프로그램에서 메시지 표시
- 9. Windows 메시지 루프 및 WTL
- 10. Win32 API의 게임 루프
- 11. win32 응용 프로그램에서 Excel 2007로 작업
- 12. GUI 응용 프로그램에서 콘솔에 쓰는 방법
- 13. WTL 8.0 _ 모듈 및 메시지 루프
- 14. MFC 응용 프로그램에서 win32 및 winhttp를 사용하여 컴파일 오류가 발생했습니다.
- 15. Win32 응용 프로그램에서 동기 작업으로 프로세스 실행
- 16. Win32 콘솔 응용 프로그램에서 커서 위치 설정
- 17. Win32 응용 프로그램에서 DLL 종속성 잡기
- 18. MIME 및 처리 피드백 루프 메시지
- 19. Gems없이 Rails 응용 프로그램에서 SMS 메시지 보내기
- 20. C# 응용 프로그램에서 Google 크롬으로 메시지 보내기
- 21. .net 메시지 루프
- 22. Windows 메시지 루프
- 23. django 응용 프로그램에서 사용하는 인터프리터
- 24. Win32 응용 프로그램에서 "WindowProc"의 올바른 반환 값
- 25. kdevelop에서 glib를 어떻게 사용합니까?
- 26. DLL을 사용하는 응용 프로그램에서 System.pas의 전역 변수
- 27. flex 응용 프로그램에서 오류 메시지 구성
- 28. 다른 응용 프로그램에서 열린 메시지 상자 감지하기
- 29. MVC 응용 프로그램에서 메시지 상자를 표시하는 방법
- 30. 특정 응용 프로그램에서 Windows 메시지 캡처
"예 :"GetMessage "가 정확합니다. 'PeekMessage'는 실행 가능한 대안입니다. –