Handling AeroSnap message in WndProc

I’m guessing there aren’t any special messages here; Aero is likely just using the plain Win32 APIs – ShowWindow(SW_MAXIMIZE) and similar. The thing to uderstand with the SC_ messages are that those are requests from a menu asking the window to resize/restore/etc itself, but that is not the only mechanism for changing the windows’s size. … Read more

How do you set the glass blend colour on Windows 10?

Since GDI forms on Delphi don’t support alpha channels (unless using alpha layered windows, which might not be suitable), commonly the black color will be taken as the transparent one, unless the component supports alpha channels. tl;dr Just use your TTransparentCanvas class, .Rectangle(0,0,Width+1,Height+1,222), using the color obtained with DwmGetColorizationColor that you could blend with a … Read more

Aero: How to draw solid (opaque) colors on glass?

Seems to work OK for me. With the lack of a full code example I’m assuming you’ve got your compositing mode wrong. public void RenderGdiPlus() { List<string> colors = new List<string>(new string[] { “000000”, “ff0000”, “00ff00”, “0000ff”, “ffffff” }); List<string> alphas = new List<string>(new string[] { “00”, “01”, “40”, “80”, “c0”, “fe”, “ff” }); Bitmap … Read more

How do you disable Aero Snap in an application?

I recently needed to do this to a custom, resizable ResizeMode = CanResizeWithGrip WPF window with no window decorations (no title bar and buttons). I used DragMove() to move the window, and when It is maximized by AeroSnap, the window becomes unmovable and hence locked in place. I tried Barn Monkey’s solution, which partially worked, … Read more

Borderless Window Using Areo Snap, Shadow, Minimize Animation, and Shake

After using Spy++ to inspect Steam’s window (its window styles, how it replies to window messages) and trying to match everything it does, combined with the DWMAPI calls from this C# borderless window behavior, I believe I figured it out. To hide the window’s border, handle the WM_NCCALCSIZE message in your WindowProc: case WM_NCCALCSIZE: { … Read more