TrueCrypt is a really great solution for this, but there are different ways you can go about accomplishing your goals; here are a few ideas:
Encrypt the hard drive of the Host OS (assuming you're running an OS that TrueCrypt supports encrypting the boot partition for)
Use the "Favourites" sub-menu in TrueCrypt to simplify mounting the encrypted volume, or use TrueCrypt's command-line parameters to mount the volume and then add this command to your system's StartUp routines
Install TrueCrypt on the Guest OS and encrypt its virtual hard drive from within that Guest OS (assuming you're virtualizing an OS that TrueCrypt supports encrypting the boot partition for)
Set up two scripts which would presumably rely on command-line parameters:
a. The "start" script -- mounts the TrueCrypt volume, then starts your Virtual Machine
b. The "stop" script -- shuts down your Virtual Machine (and waits for it to stop), then dismounts the TrueCrypt volume
Develop the habit of being careful to mount/dismount your TrueCrypt volume at the appropriate times (the downside is the potential for human error since this does require some practice and common sense, such as not using your computer while you're half-asleep)
I like option 1 the most, but if your needs require that the Virtual Machine be encrypted separately then one of the other options will be more interesting to you.