第一部分:mfc编辑框输入垂直居中

  • 处理前:编辑框光标靠上,不太美观这里写图片描述

  • 处理后:光标垂直居中这里写图片描述

  • 操作:
    1)将编辑框属性中的Align Text 选择为Center

    2)将编辑框属性中的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输入字体调整

  1. 先添加类成员变量: CFont font; //字体变量
  2. 然后在OnInitDialog()函数中添加
    //修改字体大小和字体类型
    font.CreatePointFont(120, _T("微软雅黑"));
    m_name.SetFont(&font);

    结果如第一部分所示,明显可知光标变大了。

第三部分:mfc不采用password属性进行密码输入

  1. 当编辑框修改为垂直居中的时候,编辑框属性中单行变多行,此时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!

更多推荐