小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

VS2010/MFC編程入門之二十七(常用控件:圖片控件Picture Control)

 牛人的尾巴 2015-10-27

       上一節(jié)中雞啄米講的是滾動(dòng)條控件,本節(jié)主要講一種簡單實(shí)用的控件,圖片控件Picture Control。我們可以在界面某個(gè)位置放入圖片控件,顯示圖片以美化界面。

       圖片控件簡介

       圖片控件和前面講到的靜態(tài)文本框都是靜態(tài)文本控件,因此兩者的使用方法有很多相同之處,所屬類都是CStatic類,有關(guān)成員函數(shù)已在前面介紹,這里就不重復(fù)了。

       圖片控件靜態(tài)和動(dòng)態(tài)加載圖片

       雞啄米下面為大家演示如何為圖片控件靜態(tài)和動(dòng)態(tài)加載位圖圖片。

       1. 圖片控件靜態(tài)加載圖片

       1)創(chuàng)建一個(gè)基于對(duì)話框的MFC工程,名稱設(shè)置為“Example27”。

       2)準(zhǔn)備一張Bitmap圖片,名稱設(shè)為“test.bmp”,放到工程的res文件夾中,res文件夾路徑為...\Example27\Example27\res。雞啄米在這里用的是一張雞啄米網(wǎng)站的截圖。

       3)在Resource View中的“Example27.rc*”節(jié)點(diǎn)上點(diǎn)右鍵,選擇“Add Resource...”,彈出“Add Resource”對(duì)話框:

 VS2010/MFC編程入門之二十七(常用控件:圖片控件Picture Control)

       然后在左側(cè)的“Resource Type”中選擇“Bitmap”,點(diǎn)按鈕“Import”,顯示一個(gè)文件對(duì)話框,我們選擇res文件夾中的test.bmp圖片文件,導(dǎo)入成功后會(huì)在Resource View的Example27.rc*節(jié)點(diǎn)下出現(xiàn)一個(gè)新的子節(jié)點(diǎn)“Bitmap”,而在“Bitmap”節(jié)點(diǎn)下可以看到剛添加的位圖資源IDB_BITMAP1,這里的默認(rèn)ID就不修改了。

       4.)在自動(dòng)生成的對(duì)話框模板IDD_EXAMPLE27_DIALOG中,刪除“TODO: Place dialog controls here.”靜態(tài)文本控件、“OK”按鈕和“Cancel”按鈕。添加一個(gè)Picture Control控件,在圖片控件的屬性頁中有一個(gè)Type屬性,Type屬性下拉列表中有8種類型,下面分別介紹下:

       Frame:顯示一個(gè)無填充的矩形框,邊框顏色可以通過Color屬性的下拉列表設(shè)定

       Etched Horz:顯示一條橫分割線

       Etched Vert:顯示一條豎分割線

       Rectangle:顯示一個(gè)填充的矩形框,矩形顏色可通過Color屬性的下拉列表設(shè)定

       Icon:顯示一個(gè)圖標(biāo)(Icon),圖標(biāo)通過Image 下拉列表來設(shè)置圖標(biāo)資源ID

       Bitmap:顯示一個(gè)位圖(Bitmap),位圖通過Image 下拉列表來設(shè)置位圖資源ID

       Enhanced Metafile:顯示一個(gè)加強(qiáng)的元數(shù)據(jù)文件(Metafile)

       Owner Draw:自繪

       因?yàn)槲覀円虞d的是位圖圖片,所以Type屬性選擇Bitmap。

       5)在圖片控件的Image屬性的下拉列表中選擇3)中導(dǎo)入的位圖IDB_BITMAP1。

       6)編譯運(yùn)行程序,彈出結(jié)果對(duì)話框,如下圖所示:

VS2010/MFC編程入門之二十七(常用控件:圖片控件Picture Control)

        2. 圖片控件動(dòng)態(tài)加載圖片

        以上講的是靜態(tài)加載圖片的方法,下面接著講動(dòng)態(tài)加載圖片的方法。程序依然沿用上面的工程。步驟如下:

        1)將上面添加的圖片控件的Image屬性IDB_BITMAP1清空,Type屬性不變。

        2)修改圖片控件的ID為IDC_JIZHUOMI_STATIC,然后為其添加CStatic類型控件變量m_jzmPicture。(若不修改ID則無法為其添加控件變量

        3)在對(duì)話框下方添加一按鈕控件,Caption屬性改為“加載圖片”,ID設(shè)為IDC_LOAD_PIC_BUTTON。

        4)為按鈕IDC_LOAD_PIC_BUTTON添加點(diǎn)擊消息的處理函數(shù)CExample27Dlg::OnBnClickedLoadPicButton(),然后修改此函數(shù)的函數(shù)實(shí)現(xiàn)如下:

C++代碼
  1. void CExample27Dlg::OnBnClickedLoadPicButton()   
  2. {   
  3.     // TODO: Add your control notification handler code here   
  4.     CBitmap bitmap;  // CBitmap對(duì)象,用于加載位圖   
  5.     HBITMAP hBmp;    // 保存CBitmap加載的位圖的句柄   
  6.   
  7.     bitmap.LoadBitmap(IDB_BITMAP1);  // 將位圖IDB_BITMAP1加載到bitmap   
  8.     hBmp = (HBITMAP)bitmap.GetSafeHandle();  // 獲取bitmap加載位圖的句柄   
  9.     m_jzmPicture.SetBitmap(hBmp);    // 設(shè)置圖片控件m_jzmPicture的位圖圖片為IDB_BITMAP1   
  10. }  

        5)編譯運(yùn)行程序,彈出結(jié)果對(duì)話框,點(diǎn)擊按鈕“加載圖片”,結(jié)果如下:

VS2010/MFC編程入門之二十七(常用控件:圖片控件Picture Control)

       圖片控件Picture Control的內(nèi)容就講到這里了。應(yīng)該說還是比較簡單的。最后,雞啄米在此對(duì)一直以來關(guān)注本站的老朋友以及剛來的新朋友表示感謝。


    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多