1. 程式人生 > >mfc編輯框輸入垂直居中&字型調整&不採用password屬性進行密碼輸入&vs2013中載入bitmap點陣圖

mfc編輯框輸入垂直居中&字型調整&不採用password屬性進行密碼輸入&vs2013中載入bitmap點陣圖

第一部分: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!