我在程序的DialogBar中用代码生成了一个combobox,发现字体很粗,想改变,
但调用setfont方法发现只改变了combobox的外观尺寸,而输入的文字字体却没
有改变,请高人指教如何才能做到这两者一起改变?代码如下:
dialogbar的定义:
class CQuickBar : public CDialogBar  
{
public:
CComboBox m_URLComboBox;
CQuickBar();
virtual ~CQuickBar();
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CQuickBar)
//}}AFX_VIRTUAL
protected:
//{{AFX_MSG(CQuickBar)
afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
afx_msg void OnLButtonDown(UINT nFlags, CPoint point);
//}}AFX_MSG
DECLARE_MESSAGE_MAP()};
实现:
int CQuickBar::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
    if (CDialogBar::OnCreate(lpCreateStruct) == -1)
return -1;
    CRect rect;
    GetClientRect(&rect);
    rect.top+=2;
    rect.left+=100;
    rect.right+=(-70);
    rect.bottom += 400;
   
    if (!m_URLComboBox.Create(
        WS_CHILD|WS_VISIBLE|CBS_AUTOHSCROLL|CBS_DROPDOWN | CBS_HASSTRINGS |SS_CENTERIMAGE|WS_BORDER|WS_TABSTOP ,
        rect, this, IDC_COMBOBOXEX1))
    {
        TRACE0("Failed to create combobox\n");
        return FALSE;
    }     NONCLIENTMETRICS ncm;
     CFont hFontMenu;
     memset(&ncm, 0, sizeof(NONCLIENTMETRICS));
     ncm.cbSize = sizeof(NONCLIENTMETRICS);
     if (SystemParametersInfo(SPI_GETNONCLIENTMETRICS, sizeof(NONCLIENTMETRICS), &ncm, 0))
     {
          hFontMenu.CreateFontIndirect(&ncm.lfMenuFont);
     }
     m_URLComboBox.SetFont( &hFontMenu,true);
     hFontMenu.DeleteObject();
return 0;
}