Duilib中任意地方取指定字符串大小/宽度(SIZE)、改变窗口大小
版权声明:
本文为博主原创文章,转载请声明原文链接...谢谢。o_0。
更新时间:
2017-12-05 11:25:23
温馨提示:
学无止境,技术类文章有它的时效性,请留意文章更新时间,如发现内容有误请留言指出,防止别人"踩坑",我会及时更新文章
计算文本的大小
通过hdc来取一段文本的宽度和高度
HDC hdc = GetDC(m_hWnd); SIZE size=CRenderEngine::GetTextSize(hdc, &m_PaintManager,"一些文本",0,0); //如果想取文字在一个控件上绘制时的宽度大小时用下面的方法 CLabelUI* m_lab; HDC hdc = GetDC(m_hWnd); SIZE size = CRenderEngine::GetTextSize(hdc, &m_PaintManager, szFileName, m_lab->GetFont(),m_lab->GetTextStyle());
改变窗口的大小
在窗口类的OnSize中写入下面代码
RECT rc; //取当前窗口区域 GetClientRect(m_hWnd, &rc); //改变窗口大小 rc.right = size.cx+100; //设置窗口根元素的大小 m_PaintManager.GetRoot()->SetPos(rc); //移动窗口到指定区域 ::MoveWindow(m_hWnd, rc.left, rc.top, rc.right, rc.bottom, true);