2010-01-04 3 views
5

[질문]는 Windows7의

1으로 크기가 조정되었다. 창 (WPF)을 감지하는 방법은 Aero Snap으로 조정 되었습니까? 그럼 나는 새로운 크기와 위치를 무시할 수 있습니다.

미리 답변 해 주셔서 감사합니다.

+0

답변은 다음과 같을 것으로 예상되므로 여기에서 성취하려는 것을 알면 도움이 될 수 있습니다. 그러나 문제를 해결할 다른 방법이있을 수 있습니다. – Richard

+0

창 크기가 언제 변경되는지 알고 싶습니까? 또는 구체적으로 Aero Snap? 특히 에어로 스냅이라면 왜? Richard가 말했듯이 실제 문제를 안다면 도움을주는 또 다른 방법이있을 수 있습니다. –

+0

제안 해 주셔서 감사합니다. 에어로 스냅을 사용하기 전에 위치와 크기를 저장해야합니다. – whunmr

답변

4

종료시 GetWindowPlacement으로 전화하십시오. 이렇게하면 현재 창 크기와 위치가 반환되고 최소화 또는 최대화 또는 복원 여부에 관계없이 최신 '복원 된'창 크기와 위치가 표시됩니다.

창 위치의 변경 사항을 추적 할 필요가 없으므로 필요할 때 언제든지 문의하십시오.

typedef struct _WINDOWPLACEMENT { 
    UINT length; 
    UINT flags; 
    UINT showCmd; 
    POINT ptMinPosition; 
    POINT ptMaxPosition; 
    RECT rcNormalPosition; 
} WINDOWPLACEMENT; 
+0

도움 주셔서 감사합니다. – whunmr

+0

왜 P/Invoke와 Win API 호출을 사용합니까? 나는 이것을 피하고 순수한 .NET 클래스 라이브러리 솔루션을 찾는 것이 더 낫다고 생각한다. –

+2

@Oliver : P/Invoking에는 문제가 없습니다. 이 기능은 .NET Framework에서 제공됩니다. 따라서 관리되는 구현을 제공하지 않는 작업을 수행 할 수 있습니다. 여기에 대한 간단한 대답은이 작업을 수행 할 수있는 관리되는 구현이 아니므로 P/Invoking이 유일한 옵션이라는 것입니다. –