Steam uses WebKit to render its interface. Basically it produces html page for it's UI, probably with some JavaScript for logic.
But yeah, if you want to draw custom stuff, WM_PAINT message is fine. Get the DC and draw on it.
Alternative approach is to use D3D or OpenGL to draw using hardware acceleration. Pretty much what Handmade Hero does. Do a loop in main that polls events and sends rendering commands to GPU. This is also what
dear imgui does.