工控编程吧
标题:
上位机MFC如何在长文本末端显示省略号
[打印本页]
作者:
qq263946146
时间:
2019-7-31 10:03
标题:
上位机MFC如何在长文本末端显示省略号
在窗口界面上直接输出文本可以使用函数DrawText。例如在对话框程序的函数OnPaint中添加如下代码。
CPaintDC dc(this);
CString strText = _T("This a long string");
CRect rect(10, 10, 100, 30);
//输出文本,在长文本末端显示省略号
dc.DrawText(strText, rect, DT_LEFT | DT_END_ELLIPSIS);
CDialog::OnPaint();
复制代码
变成:
void CGkbc8Dlg::OnPaint()
{
if (IsIconic())
{
CPaintDC dc(this); // device context for painting
SendMessage(WM_ICONERASEBKGND, (WPARAM) dc.GetSafeHdc(), 0);
// Center icon in client rectangle
int cxIcon = GetSystemMetrics(SM_CXICON);
int cyIcon = GetSystemMetrics(SM_CYICON);
CRect rect;
GetClientRect(&rect);
int x = (rect.Width() - cxIcon + 1) / 2;
int y = (rect.Height() - cyIcon + 1) / 2;
// Draw the icon
dc.DrawIcon(x, y, m_hIcon);
}
else
{CPaintDC dc(this);
CString strText = _T("This a long string");
CRect rect(10, 10, 100, 30);
//输出文本,在长文本末端显示省略号
dc.DrawText(strText, rect, DT_LEFT | DT_END_ELLIPSIS);
CDialog::OnPaint();
}
}
复制代码
我们可以看到
dc.DrawText(strText, rect, DT_LEFT | DT_END_ELLIPSIS);
其中
DT_END_ELLIPSIS就 是实现这一功能的关键代码。
[MFC408]1[/MFC408]
[weixinlianxi]1[/weixinlianxi]
欢迎光临 工控编程吧 (https://www.gkbc8.com/)
Powered by Discuz! X3.4