To get the font right you should always call this after CreateWindow(Ex):
// hwnd is the handle of the control you just created
::SendMessage(hwnd, WM_SETFONT, (WPARAM)::GetStockObject(DEFAULT_GUI_FONT), MAKELPARAM(FALSE, 0));
You probably want to set the modern UI themes as well (XP and beyond). Check out my reply to this post for that. It's very simple.
Update
Above method is officially no longer recommended (see the Remarks section of GetStockObject). I should mention that I've always used it without experiencing any problems with ClearType (as claimed in the OldNewThing post).
Anyway the recommended way to do it now goes as follows:
NONCLIENTMETRICS ncm;
ncm.cbSize = sizeof(NONCLIENTMETRICS);
::SystemParametersInfo(SPI_GETNONCLIENTMETRICS, sizeof(NONCLIENTMETRICS), &ncm, 0);
HFONT hFont = ::CreateFontIndirect(&ncm.lfMessageFont);
::SendMessage(hwnd, WM_SETFONT, (WPARAM)hFont, MAKELPARAM(TRUE, 0));