pregnant は 「妊娠している」という意味で、名詞のpregnancy(妊娠)とともに、一番よく使われる単語です。
ですが、(友達だったら、上記の言い方でOKですが)少々直接的ですので、
もう少しソフトに言いたい時は
expectを使って、
Are you expecting?(expect 予想する・期待する)
というと、どんな人にも使えます。
なお、have は、babyに使うと「生む」という意味になりますので、ちょっと注意が必要ですね。
She had her first baby overseas.
(彼女は、海外で最初の子供を産んだ)
その他表現
☆She is three months pregnant.
(彼女は妊娠3か月だ)
☆望まない妊娠
unwanted pregnancy.
ご参考まで
英語で「子供が出来た」はpregnantと言い、
Are you pregnant?と言う人もいますが、
やや表現が直接的すぎると言って
この表現を避ける人もいます。
expectingは「子供が出来た」の婉曲表現で良く使います。
「(子供を)期待している」ということです。
Are you having a baby?は文字通りの意味です。
Are you with child?も「子供が出来る」の意味を
表す婉曲表現ですが、やや古い表現になります。
普通に使うのならば
Are you expecting?
Are you having a baby?
が無難だと思います。
give birth toは「子供を産む」という意味で
She gave birth to a baby yesterday.
彼女は昨日子供を産んだ
というように使います。
参考になれば幸いです。