So, let's say
$query is your WP_Query object. I.e.
$query = new WP_Query($some_query_args );
Then you can set up 'the loop', by
Then to check if there are actually any returned results:
if ( $query->have_posts() ) :
//Use a While loop to show the results
//No results, let's show a message instead.
//This is how WordPress' twentyeleven theme does it, but you can format it how you like:
<article id="post-0" class="post no-results not-found">
<h1 class="entry-title"><?php _e( 'Nothing Found', 'twentyeleven' ); ?></h1>
<p><?php _e( 'Apologies, but no events were found.', 'twentyeleven' ); ?></p>
Keep in mind the logic, must be inside php tags, while the HTML markup must be outside.
Disclaimer: the syntax might not all be correct, I've not tested it. But check out index.php of the TwentyEleven to see what they do.