void MyDialog::OnPaint()
{
CPaintDC dc(this);
CRect text(100,100,200,200);
dc.Rectangle(text);
dc.DrawText(L"111",text,DT_BOTTOM | DT_CENTER);
}
为了防守受其他因素影响,我把其他代码都删掉了,就剩下这几句。可是,“111”还是出现在了矩形的顶部中间。换了DT_VCENTER也是这样,水平的都可以正常调整,但垂直的调整都不起作用了。
解决方案 »
- 怎么报错?
- 急问:关于CListCtrl,想实现这样一个简单的功能
- vassistx 关联高亮颜色如何改啊,现在是蓝色背景,根本看不出
- 关于进程地址空间的保护~~~~!
- 完成端口GetQueuedCompletionStatus后,我怎么知道是WSASend完成了?还是WSARecv完成了??
- 求助:BMP文件存取函数库,100分,不够再加,要求不包含任何MFC代码,只要WIN32 SDK或用纯C/C++
- VC++程序员面试题目之一,你想试试吗?顶者有分!
- 100分请教高手:如何制作系统服务程序?
- MDI 子窗口如何能移出主框架
- 几个关于HTTP,代理,安全认证的问题?高手请进
- 工具栏高度调整?
- 关于StretchDIBits
::DrawText(dcMem, strText.c_str(), -1, &rectTmp, DT_CENTER | DT_WORDBREAK | DT_CALCRECT | DT_EDITCONTROL);先算一个文字的区域,再计算实际要显示的位置
rectTmp = XXX;::DrawText(dcMem, strText.c_str(), -1, &rectTmp, DT_LEFT | DT_EDITCONTROL | DT_WORDBREAK | DT_PATH_ELLIPSIS);