What games like this do is create Hit Box sprites.
Here is a good example, the Red Box is the hit box.
<img src="http://img189.imageshack.us/img189/6738/drshoryu.png" border="0" />
Those sprites are created during the animation of the move, but are invisible sprites so you don't see them. However, they are what the game uses for collision detection. The blue boxes are where the character can be hit during that particular frame of animation.
So in your case, say you have a 6 frame animation for your punch. In Construct you would say When Animation is at Frame 2, create hitbox sprite at the right locations (usually using an image point). When the animation is at frame 6, destroy the hitbox sprite.
Then you just check for collision with that hitbox sprite. Make sense?