query_posts - loop through a page and its child (sub) pages to display all

Is there an efficient way I can do a query_posts or new wp_query and use a certain page, lets say '7' but run a foreach through all of the child pages, displaying them all well? i dont want just a list, i want the loop and all subpages to show up.