随笔-145  评论-173  文章-70  trackbacks-0

最近又要开始学习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, 00, 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 阅读(1395) 评论(0)  编辑 收藏 引用 所属分类: MFC程序设计入门

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   博问   Chat2DB   管理