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