// Draw rounded rectangle (2px radius) GraphicsPath path = GetRoundedRect(buttonRect, 2); LinearGradientBrush brush = new LinearGradientBrush(buttonRect, topColor, bottomColor, LinearGradientMode.Vertical); FillPath(path, brush);

We will create a custom button as a child window. Our WindowProc will handle:

I will use MinGW-w64 in this guide. The code is pure C, so it compiles anywhere.

Buttons Scratch |work| — Windows 7 Exe

// Draw rounded rectangle (2px radius) GraphicsPath path = GetRoundedRect(buttonRect, 2); LinearGradientBrush brush = new LinearGradientBrush(buttonRect, topColor, bottomColor, LinearGradientMode.Vertical); FillPath(path, brush);

We will create a custom button as a child window. Our WindowProc will handle: windows 7 exe buttons scratch

I will use MinGW-w64 in this guide. The code is pure C, so it compiles anywhere. // Draw rounded rectangle (2px radius) GraphicsPath path