OnTopReplica/OnTopReplica/Platforms/WindowsSeven.cs

44 lines
1.3 KiB
C#
Raw Normal View History

2013-10-16 02:07:04 +13:00
using System;
using System.Windows.Forms;
using OnTopReplica.Native;
using WindowsFormsAero.Dwm;
namespace OnTopReplica.Platforms {
class WindowsSeven : WindowsVista {
private double? PreviousOpacity { get; set; }
2013-10-16 02:07:04 +13:00
public override void PreHandleFormInit() {
//Set Application ID
WindowsSevenMethods.SetCurrentProcessExplicitAppUserModelID("LorenzCunoKlopfenstein.OnTopReplica.MainForm");
}
public override void PostHandleFormInit(MainForm form) {
DwmManager.SetWindowFlip3dPolicy(form, WindowsFormsAero.Flip3DPolicy.ExcludeAbove);
2013-10-16 02:07:04 +13:00
DwmManager.SetExcludeFromPeek(form, true);
DwmManager.SetDisallowPeek(form, true);
}
public override void HideForm(MainForm form) {
PreviousOpacity = form.Opacity;
2013-10-16 02:07:04 +13:00
form.Opacity = 0;
}
public override bool IsHidden(MainForm form) {
return (form.Opacity == 0.0);
}
public override void RestoreForm(MainForm form) {
if (form.Opacity == 0.0) {
form.Opacity = PreviousOpacity.GetValueOrDefault(1.0);
PreviousOpacity = null;
}
2013-10-16 02:07:04 +13:00
form.Show();
}
}
}