MFC 设置文本框控件中,显示文本的行高

来源:百度知道 编辑:UC知道 时间:2024/05/25 00:24:21
我选了一个文本框控件,然后在改变输入字体的格式,就是新建一个CFont m_font,然后在OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)响应函数里面,当重绘此控件时,用CDc读取这个m_font。

由于我的m_font字体大小设置的比较大,文本框里面只能显示字体顶端的一部分,把文本框拖大后也是一样,请问怎么修改显示的行高?

代码如下:
新建一个CFont m_font;成员;

在构造函数里面初始化这个成员:
m_font.CreatePointFont(200, "Arial");

在OnCtlColor中修改控件字体:
HBRUSH CSettingDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);

// TODO: Change any attributes of the DC here
if (IDC_LINE_WIDTH == pWnd->GetDlgCtrlID())
{
pDC->SetTextColor(RGB(255,0,0));
pDC->SetBkColor(RGB(0,255,0));
pDC->SelectObject(&m_font);
return m_brush;
}

// TODO: Return a different brush if the default is not desired
return hbr;
}
就是字体设置的大了,在文本框里面只显示了一部分(文本框拖了很大了,里面显示字的行怎么改行高??)

既然显示不了,那你干嘛把字体创建的那么大呢m_font.CreatePointFont(200, "Arial");

void CDlg0927Dlg::OnButton1()
{
CWnd* pWnd = GetDlgItem(IDC_LINE_WIDTH);
if( NULL != pWnd )
pWnd->SetFont(&m_font);
}