+ -
当前位置:首页 → 问答吧 → 自绘按钮文本换行

自绘按钮文本换行

时间:2011-12-09

来源:互联网

我在网上下的一个按钮类,现在想实现按钮的多行显示,哪位高手帮帮忙啊。
我在网上看到说是添加DrawText的属性DT_WORDBREAK,可是我试了没有实现,谁有好的建议。谢谢。

作者: lzz4513   发布时间: 2011-12-09

DrawText(..., DT_WORDBREAK);应该没有问题的

作者: VisualEleven   发布时间: 2011-12-09

实在不行就分两行DrawText()

作者: VisualEleven   发布时间: 2011-12-09

没有实现啊,您能把具体的函数给我写一下吗?
pDC->DrawText (strCaption, rectFocus, DT_CENTER | DT_WORDBREAK );
不行啊。

作者: lzz4513   发布时间: 2011-12-09

我是在WinCE环境下做的。没有运行到下边这句的时候,strCaption还是换行的,到这句的时候字符串便成为
pDC->DrawText (strCaption, rectFocus, DT_CENTER | DT_WORDBREAK );
自动||方式,不知道为什么换行符变成这个符号了。
高手指点一下、

作者: lzz4513   发布时间: 2011-12-09

C/C++ code
void CXXDlg::OnPaint()
{
    CPaintDC dc(this); // device context for painting
    // TODO: Add your message handler code here
    // Do not call CDialog::OnPaint() for painting messages
    CString str = _T("hello\r\nworld");
    dc.DrawText(str, CRect(0, 0, 100, 100), DT_WORDBREAK | DT_CENTER);
}

试了一下,模拟器和真机上都没有问题,可以换行

作者: VisualEleven   发布时间: 2011-12-09

dc.DrawText(str, CRect(0, 0, 100, 100), DT_EDITCONTROL | DT_WORDBREAK | DT_CENTER);
我记得需要使用DT_EDITCONTROL,否则连续英文不会换行
 

作者: yu52000guang   发布时间: 2011-12-09

热门下载

更多