rewrite contextmenu with our style to make it can be used more conveniently, and add some necessary interface