Hirai is like extension, as Cassandra says.
Haengma is about the "movement" of stones, or perhaps the relation between them. When you have a stone on the board, and you place another stone in the surrounding area to extend the influence of that stone, it's haengma.
One space jump, two space jump, knight's move, large knight's move, etc., are all types of haengma. When the relationship created between the stones is good, you can say that it's the correct haengma. If it's not, you can say that it's not the correct haengma. For example, if you play knight's move at the wrong time in order to extend the influence of your group, you might say that it's "not the correct haengma". Maybe, for example, the correct haengma was a two space jump.
Stuff like this.
It can also be related to the relationship with the opponent's stones. For example, I've heard that the white stone here is the proper haengma in relation to the black stones in the corner.:

Move 1
- Click Here To Show Diagram Code
[go]$$Wc Move 1
$$ ---------------------------------------
$$ | . . . . . . . . . . . . . . . . . . . |
$$ | . . . . . . . . . . . . . . . . . . . |
$$ | . . . . . . . . . . . . . . . X . a . |
$$ | . . . , . . . . . , . . . . . X . . . |
$$ | . . . . . . . . . . . . . . . . W . . |
$$ | . . . . . . . . . . . . . . . . . . . |
$$ | . . . . . . . . . . . . . . . . . . . |
$$ | . . . . . . . . . . . . . . . . . . . |
$$ | . . . . . . . . . . . . . . . . . . . |
$$ | . . . , . . . . . , . . . . . , . . . |
$$ | . . . . . . . . . . . . . . . . . . . |
$$ ---------------------------------------[/go]
It's the proper haengma, because it leaves the followup move at 'a'. On the other hand, in some cases, the following white move is *not* the correct haengma:

Move 1
- Click Here To Show Diagram Code
[go]$$Wc Move 1
$$ ---------------------------------------
$$ | . . . . . . . . . . . . . . . . . . . |
$$ | . . . . . . . . . . . . . . . . . . . |
$$ | . . . . . . . . . . . . . . . X . b . |
$$ | . . . , . . . . . , . . . . . X . a . |
$$ | . . . . . . . . . . . . . . . . . . . |
$$ | . . . . . . . . . . . . . . . . W . . |
$$ | . . . . . . . . . . . . . . . . . . . |
$$ | . . . . . . . . . . . . . . . . . . . |
$$ | . . . . . . . . . . . . . . . . . . . |
$$ | . . . , . . . . . , . . . . . , . . . |
$$ | . . . . . . . . . . . . . . . . . . . |
$$ ---------------------------------------[/go]
Even if white plays 'a', black's response at 'b' is fine.
So basically, when you are thinking of the "movement of stones", the relationship between stones, and putting stones down to extend the influence in the local area of your existing stones/group - it's a similar concept to haengma.