You can also keep your firearm on you when picking up your kid at school provided you stay in the car. New rule change a year or two ago.
They're trying to get CC allowed in ABC licensed establishments (restaurants, etc) here soon. Until then however, you still have to open carry there.
Generally speaking if a firearm isn't allowed by federal law, they'll put up this HUGE sign saying so. For example, the VA hospital up in Martinsburg WV has one of these. So does the courthouse, along with it's metal detectors. I'm a little fuzzy on the subject, but I believe also the post office has you disarm.
Now other places can certainly post 'no firearms' on their windows, but its simply a trespassing charge if you refuse to leave. Not a felony to my knowledge. Wachovia is an example.
If you can, get 'Virginia Gun Owners Guide' by Alan Korwin and Steve Maniscalco.