I'm thinking that you should tell us your level of expertise. How else can we hope to answer your questions in a realistic way?

Your comment regarding invisible buttons over graphics seems to indicate that you don't know how things work at a low level. Regardless of how brilliant your idea may be, you are not going to make the transition from total n00b to master of programming by asking generalized questions on a forum. What do you really want?