Ese es un ejemplo en JAVA derivando la clase JFrame, y cabe aclarar que la pregunta que nos plantea es un poco amplia.
Dependiendo de la plataforma y el toolkit (o sea, las herramientas como compilador, enlazador y librerias) que estes usando la respuesta va a ser un poco distinta.
La mayoria de los toolkits graficos como QT o GTK tienen sus propios metodos para que crees CONTROLES personalizados.
En Windows tenes funciones desde BitBit() hasta un laaargo y tendido apartado..
Podrias mirar esto si te apetece:
http://msdn.microsoft.com/en-us/library/4kzfy8za%28v=vs.80%29.aspxAunque habia otra direccion que ahora no encuentro...
La idea seria que seas un poquito mas espeficifo en cuanto a que estas intentando hacer.
Pero si lo que te basta es hacer una interfaz simple, lo mejor que te puedo recomendar es que te elijas un toolkit, y aprendas a usarlo.
Windows tiene varios disponibles, algunos libres y otros no tanto, como MFC, WPF, ATL y Windows Forms.
Dentro de los abiertos tenes un monton tambien, los mas conocidos (me atrevo a decir! jeje) son wxWidgets, GTK, QT y sus bindings (como por ejemplo, gtkmm es un BINDING para GTK con C++, quiere decir que en vez de hacer las cosas en un estilo procedural o imperativo lo podes hacer mas a un estilo orientado a objetos como lo que te propone MauroMasciar..
Espero que sirva, saludos.