<p>Every time that I create a new form in my application, it uses the "Microsoft Sans Serif, 8.25pt" font by default. I'm not changing it because I know that in this case my form <em>should</em> pick up whatever the default font is for the system. However, when I run my application, the font that is used is still anything but Segoe UI (my default system font in my Windows Vista OS).</p>

<p>Why does this happen? How do I make sure that my application looks like a normal Windows application?</p>

Yes, it uses the font returned by
```
GetStockObject(DEFAULT_GUI_FONT)
```
.  Which is MS Sans Serif.  An old font, long gone from most machines.  The font mapper translate it to, no surprise, Microsoft Sans Serif.
There is no documented procedure I know of to change that default font, the SDK docs mention MS Sans Serif explicitly.  If you want Segoe, you'll have to ask for it.  Which isn't that safe to do, there are still a lot of XP machines out there without Office 2007.  The font mapper will translate it on a machine that doesn't have Segoe available.  Not sure what pops out, I don't have such a machine left anymore.