最近又要開始學習MFC了,界面設計真是讓人蛋疼啊,現在發現搞MFC的就是很復雜,門檻還是很高啊,雖然可能很多人說技術含量不高,不高鄙人覺得要是把這些機制啥的都搞懂了就應該是牛人了。無奈畢設要用,也沒辦法,而且還是使用的老版的VC6.0,很多新的控件和類都不支持,慢慢開始搞吧。
參考資料:1. http://blog.csdn.net/huangye010/archive/2008/12/05/3451574.aspx(看了一下,后面的完全沒懂怎么冒出個新的類)
2.http://topic.csdn.net/u/20080511/10/64586f33-9758-4312-8e32-e8ebd052cd3e.html(試了幾次成功了)
其實還是比較簡單的,就是加入代碼:
CString strPath("C:\\Users\\liuchang\\Desktop\\a\\001\\res\\a.bmp");
HBITMAP hBmp = (HBITMAP)::LoadImage(AfxGetInstanceHandle(),strPath, IMAGE_BITMAP, 0, 0, LR_CREATEDIBSECTION|LR_LOADFROMFILE);
m_picture.SetBitmap(hBmp); //MARK,這里在ClassVIzard中添加控制代碼,即將m_picture和CStatic類結合起來

或者代碼:

/**////MARK:下面的這兩行代碼是正確的,另外在前面還有一段初始化的代碼
HBITMAP hBmp = (HBITMAP)m_bitmap.GetSafeHandle();
m_picture.SetBitmap(hBmp); //m_static為Pic控件關聯的變量
發一個低級的錯誤:第一個strPath的時候路徑寫的是相對路徑,導致圖片不能顯示,換成了絕對路徑ok。(論壇上面的人的代碼中都是相對路徑,我懷疑是不是VC6不如VS牛逼,認不出來?)
原因不明,測試多次依然如此,試過的相對路徑有:
\\res\\a.bmp,
\\001\\res\\a.bmp,
\\a\\001\\res\\a.bmp; (不解,求高手指導)。
注記:省略了類型的交代,以及初始化的信息和相關的ClassWizard的設定,在上面的參考帖子中已經有敘述了,不重復,你懂的。。。
小水文一篇,記錄下一個下午的收獲。
posted on 2011-04-18 16:15
deercoder 閱讀(1402)
評論(0) 編輯 收藏 引用 所屬分類:
MFC程序設計入門