It depends. In Pokemon Diamond you could place your Pokemon to walk with you, so he could get extra happiness. Then, when you fight other Pokemon and you win, you get more happiness. Also, you can buy some vitamins to make your Pokemon happy, and even give him soothe bell to gain happiness more faster.
So yea, I'm happy when I have a bud besides me, when I pass an hard exam, even when I'm drunk. And I can be happy when someone gift me something.