반응형
일반적으로는 폼이 이동중일때마다 근처에 위치한 윈도우나 바탕화면의 경계면 좌표를 계산해서 일정 거리내로 접근하면 해당 좌표로 이동중인 폼의 좌표를 강제로 설정 해 주는 방식을 사용합니다.
생각보다는 어렵지 않구요. 접근 거리만 적당히 지정하면 기존의 자석 효과와 별반 다르지 않은 수준까지 쉽게 개발이 가능합니다.
자신이 작성한 어플리케이션내에서 자석 효과를 구현 할 때에는 각 폼의 좌표만 계산하는 것이 별로 문제 될 것 없지만 바탕화면에서 실행중인 모든 윈도우를 대상으로 자석 효과를 구현한 다면 전체 윈도우의 목록을 얻고 각 윈도우의 특성에 맞게 자석 효과를 구현 해 줘야 합니다.
GetWindowRect 나 GetClientRect API를 사용하시면 해당 윈도우의 RECT를 알 수 있습니다.
보통은 다른 윈도우와 자석 효과를 내지는 않고 자신의 동료 윈도우나 데스크탑의 경계면하고 자석 효과를 내죠.
====================================
서용혁 (hyuki, mvp, c#)
crazy for .NET
Visual Studio 2005, .NET Framework, C#, MSDN Magazine
반응형
'IT > C#' 카테고리의 다른 글
[C#] DB exception 처리 정석? (0) | 2011.01.11 |
---|---|
[C#] 윈폼 로그인 해킹에 안전하게? (0) | 2011.01.11 |
[C#] 프로그램 중복 실행 방지 (0) | 2011.01.11 |
[C#] 자식 폼에서 부모폼 함수 호출 (0) | 2011.01.11 |
[C#] Combobox사용법 (0) | 2011.01.11 |