Programming/WindowsForm

Magnetic Window (sticky window)

subutie 2021. 2. 17. 18:24
728x90

전에도 글에서 언급 한적이 있습니다.

간단해 보이는 것은 머리에 이끼끼지 말라는 차원에서

알아보지 않고 무작정 만드는 편인데요

이번엔 메인 창에 자석처럼 자식 창이 붙는 기능을 만들어 봤습니다.

처음엔 확장성을 너무 생각해서 붙어야 할 창에 존을 9분등 해서 어느 위치에 창이 있는지 찾고

거기서 또 얼마나 가까운지 등을 계산 하는 방식으로 구현 하다가..... (한 나절 다 보냄)

'ㄱ' 자 모양으로 붙이거나 좀 더 복잡한 모양으로 붙일 때 오히려 알고리즘이 복잡해 져서

구현 난이도가 올라가게 되어

단순하게 붙어 있는 창들 중에 지금 움직이고 있는 창이 붙을 위치면 붙이는 방식으로 바꿔 구현 했네요

(그래도 반나절이 지났습니다. ^^;)

 

 

덤으로 화면 구성 저장 및 로드 기능도 구현 했습니다.

(코드는 너무 지저분하기도 하고 공용으로 쓸수 없는 부분도 있어서 안 올렸습니다.

혹시라도 필요 하다고 하시는 분이 있다면 Magnetic 기능만 있는 코드를 간추려서 올려 보겠습니다.)