我想让CEdit中的文字垂直居中,因为这个编辑控件很宽。
解决方案 »
- CWinApp::Run()消息机制解释?directinput
- 紧急招聘VC高级开发工程师(北京),待遇6k起步!!
- vc++带给我的一些疑惑!
- WIN32命令行程序怎么接受自定义消息???
- 在两台机器间用串口发int型,怎么办?
- 关于MFC框架的一点理解和疑问。
- 我发现当CListCtrl的几个ITEM被选中后,鼠标点击别的控件,这些ITEM项的选中焦点就不见了,如何解决?
- 采用服务器,客户端模型,最多支持多少个用户?
- 谁能给我发一个psapi.lib文件 [email protected]
- 才鸟问题:怎么把IDR_MAINFRAME菜单加到CReBar里面去?
- 请大家来讲讲为什么现在做WebApp用J2EE的多于用MSDCOM和COM+的,是微软的东西真的有缺点还是因为别的?
- OPC::FactorySoft, INC.的FSServer有问题?
CEditView::GetEditCtrl()将返回其CEditCtrl的引用。()
利用ModifyStyle 将ES_CENTER 这个属性加上就可以了。如果你用的是控件,直接将Center属性勾上就可以了。
重复一下问题:
我想让CEdit中的文字垂直居中,因为这个编辑控件很宽。
既然CEdit中的文字垂直居中,一定是多行编辑控件了!
重写CEdit,重载OnPaint设置文字对齐方式吧!
文字是单行的。只要垂直即可。
如果重载OnPaint,用DrawText()设置文字,则显示的是两行,一行是自己的,另一行是默认的。
ModifyStyle(ES_MULTILINE ,0);
CRect rc;
GetClientRect(&rc);
CString strEdit;
GetWindowText(strEdit);
SetWindowText("");
dc.DrawText(strEdit,&rc,DT_VCENTER);
谁知道的话给我发个邮件,[email protected]
谢谢,谢谢!
(1):根本显示不了字符,strEdit总是空的。
如果没有SetWindowText("");
(2):光标显示还是个问题。
因为窗口中光标的位置不是SetCursorPos(point.x,point.y);所能完全控制的。
为什么???