인터넷/IT/프로그래밍
DwmSetWindowAttribute 을 이용하여 창 애니메이션 없애기
coffee94
2014. 3. 11. 10:49
윈도우 비스타 이상에서 에어로 효과가 활성화되어 있을 경우 창을 숨기거나 할 때 애니메이션 효과가 발생하면서 바로 숨겨지지 않습니다.
때로는 바로 숨겨져야 할 상황이 있어서 애니메이션 효과를 없애야 하는 경우가 있는데 다음과 같이 해결이 가능합니다.
var
Disable: BOOL;
begin
if Win32MajorVersion >= 6 then
begin
// 윈도우 비스타 이상일 경우..
Disable := True;
DwmSetWindowAttribute(Self.Handle, DWMWA_TRANSITIONS_FORCEDISABLED,
@Disable, SizeOf(Disable));
end;