The moves obtained by a Pokémon when hatching are as follows:
The Pokémon will start with any moves that it would learn as a "Start" move in its learnset (In Generation II and Generation III, they learned all moves that are level 5 and below in their learnset.). The Pokémon will start with any moves that it would learn by leveling up only if both parents know the move. This does not apply to moves that later evolutions can learn (such as Breloom's Mach Punch, which Shroomish cannot learn for obvious reasons). The Pokémon will start with any TM or HM moves (and in Crystal, Move Tutor moves) that the father knows and the baby can also learn by machine. The Pokémon will start with any Egg moves that the baby can learn and the father knows.
"As I was walking up the stairs, I met a man who wasn't there, he wasn't there again today, i wish I wish he'd go away."