如图,常用的登录注册界面,edit_control文本编辑框的默认文本位置总是靠左上居中,想要使文本靠左垂直居中的方法如下(当然可能有其他方法,这里讲一下我的做法):
1、首先要设置Multiline为True,另外最好设置Auto HScroll和Auto VScroll为False;
2、然后在OnInitDialog()函数中添加如下代码即可(其中m_cEditUserId和m_cEditPasswd分别为两个编辑框关联的control类别的变量,类型为CEdit)
//UserId的设置
CRect cRect = CRect(0, 0, 0, 0);
m_cEditUserId.GetClientRect(&cRect);
TEXTMETRIC textMetric;
CDC *pcDC = m_cEditUserId.GetDC();
pcDC->GetTextMetrics(&textMetric);
int nFontHight = textMetric.tmHeight + textMetric.tmExternalLeading;
int nOffsetY = (cRect.Height() - nFontHight)/2;//计算文字向下偏移量
cRect.OffsetRect(0, nOffsetY);//设置向下偏移
m_cEditUserId.SetRectNP(cRect);
//UserPasswd的设置
cRect = CRect(0, 0, 0, 0);
m