mfc编辑框输入垂直居中&字体调整&不采用password属性进行密码输入&vs2013中加载bitmap位图
第一部分:mfc编辑框输入垂直居中
处理前:编辑框光标靠上,不太美观
处理后:光标垂直居中
操作:
1)将编辑框属性中的Align Text 选择为Center2)将编辑框属性中的Multiline设置为true
3)在OnInitDialog()函数中添加如下代码
//设置编辑框字体垂直居中 CRect rc = CRect(0, 0, 0, 0); m_name.GetClientRect(&rc); //用户名控件的客户区 CDC* pDC = m_name.GetDC(); TEXTMETRIC tm; pDC->GetTextMetrics(&tm); int nFontHeight = tm.tmHeight + tm.tmExternalLeading; int nMargin = (rc.Height() - nFontHeight) / 3; rc.DeflateRect(0, nMargin); m_name.SetRectNP(&rc); //设置用户名编辑框垂直居中其中m_name是编辑框关联的control型变量。
第二部分:mfc输入字体调整
- 先添加类成员变量:
CFont font; //字体变量 - 然后在OnInitDialog()函数中添加
//修改字体大小和字体类型
font.CreatePointFont(120, _T("微软雅黑"));
m_name.SetFont(&font);
结果如第一部分所示,明显可知光标变大了。
第三部分:mfc不采用password属性进行密码输入
当编辑框修改为垂直居中的时候,编辑框属性中单行变多行,此时password属性失效。为了进行密码输入。此时可如下操作:
1). 单击编辑框右键,选择“添加时间处理程序”然后消息类型选择“EN_CHANGE”添加函数。
2). 在新添加的函数中添加如下代码:
GetDlgItem(IDC_EDIT_PWD)->GetWindowTextW(pwd);
pwd_show.Append(_T("*"));
GetDlgItem(IDC_EDIT_PWD)->SetWindowTextW(pwd_show);3). 其中pwd和pwd_show均为CString类型,且在类成员变量声明的地方进行public声明。pwd存储输入的密码字符,pwd_show 将保持同pwd等长度的“*”在密码编辑框输入。
第三部分:vs2013中加载bitmap位图
– 百度的vs加载位图一般是先将bitmap图像拷贝到工程res中,然后在“资源视图“中单击右键选择”添加资源“,然后选择”Bitmap“-》”导入“,此时,发现预定的文件类型为”.bmp、 .dib 、.gif、.jpg“。然后发现我们预先拷贝的bitmap资源无法加载。
– 解决办法是将文件类型选择为”所有文件(.)“。可发现出了先拷贝过来的bitmap位图。
注: 上述解决办法,除第3部分是自己思考得出,其余均是总结百度优秀答案,仅供学习交流哈O(∩_∩)O!
更多推荐


所有评论(0)