This is a screenshot of Steam\'s client window being resized.
Steam\'s client window has two cool
Basically, you can do almost anything with your window. But most of the tricks are to be implemented manually.
WS_BORDER
and WS_CAPTION
when creating a WS_POPUP
window. After that you will have to draw a border and a caption yourself. Handle WM_ERASEBKGND
and WM_PAINT
messages, draw background, menus, all as usual.WM_SIZE
message, processes it, Windows sends a WM_ERASEBKGND
message which the window ignores. Thus, the system draws a new shadow around new window frame which is not yet filled with new window image. And here we get this cool glass effect: old image of underlaying windows with a windows aero shadow. You can try to disable windows shadows and look at this effect.In order to create a custom resizing border, you might find useful these functions: LoadCursor
, SetCursor
, MoveWindow
.
In order to draw your custom borders, you can use standart GDI functions. Also you can create a handful of child windows and delegate drawing to them. This is basics of winapi.