这有个完整的例子,但可能有点复杂,也包含了你问的所有问题.
http://expert.csdn.net/Expert/topic/1586/1586488.xml?temp=.6806147