-
유니티 화면 비율 고정 처리...4일지 2021. 9. 19. 22:59
WinAPI에서 드래그 종료를 체크할 방법에 대한 고민
드래그 종료를 감지하는 게 유니티에는 당연하게 존재하지 않으며 이것을 체크하기 위해 WinAPI를 사용해야 했다.
먼저 떠올린 건 콜백 이벤트.
WinAPI에는 다양한 이벤트가 존재하고 해당 이벤트를 전달받은 뒤 수행할 내용을 따로 작성할 수 있기 때문에 해당 내용을 찾아봤다.
c++ - WinAPI. Check if window resizing has been finished - Stack Overflow
위의 글에서 WM_ENTERSIZEMOVE 이벤트가 들어온 이후 화면 크기 변경이 시작되고 WM_EXITSIZEMOVE 가 들어온 이후 화면 크기 변경이 종료된다는 것을 알 수 있었다.
하지만 C#에서 윈도우 메시지 받는 방법을 알지 못하기에 일단 이 방법은 킵해두고 넘긴다.
두 번째로 고민할 방법은 WinAPI 함수를 Dll 임포트 한 뒤 해당 함수를 통해 마우스 커서 정보를 가져와 해당 정보로 사이즈 변경 완료 정보로 가공하는 방법이다.
일단 당장 시도할 수 있는 건 두 번째 방법이고 깔끔하게 처리 가능해 보이는 건 첫 번째 방법이다.
먼저 WinAPI 함수 로드해 처리해 보고 WinProc을 C#에서 사용하는 방법을 찾은 뒤 C# 코드에서 직접 윈도우 메시지를 받을 수 있도록 해 봐야겠다.