Though I don't have any experience with this personally, I have a friend who is gay that seems to handle this topic very well. Similar to your "no, I have a girlfriend" answer, she just brings up her girlfriend or the fact that she's gay as if the person she's talking to already knows. It seems like that way works.
Personally I would answer differently depending on the person. With some people you might have to use the just "no" answer. If you think the person would be ok with it and not be like

I would be more straightforward about it. Good luck with whatever you choose, and let us know how things turn out