Check out the "owner draw" features of windows controls if you don't want to use widget libraries.
Mouseover effects are fairly simple... subclass the control and play with WM_MOUSEMOVE and WM_LBUTTONDOWN / WM_LBUTTONUP messages to change the button colour or appearance.
Another simple tactic is to use GetCursorPos() and WindowFromPoint() to manage mouseovers in your main message loop.
Windows API is a monster 30,000+ function calls...
if you don't have it already you should download the Windows SDK from.... HERE