我有一个MFC程序,view-doc形式的,view启动的时候显示了一个bmp位图。
但是我只找到如下代码:
rc文件中:IDB_INIT                BITMAP                  "init.bmp"
resource.h文件中:#define IDB_INIT                        254
就是没有看出来如何显示出来的。
请问程序中哪里显示的?

解决方案 »

  1.   

    你说的是view是由bitmap打底的是么?
    有种可能是在资源里编辑的,加个static pic控件,然后type改为bitmap,再把你事先准备好的图片,通过资源编辑页加进去,在修改一些属性就可以real size显示了。这样的话,就只会在rc文件里看到改动。而你所说的程序中是没有痕迹的。
      

  2.   

    CMainFrame里面的OnCreate()找找
      

  3.   

    你看看你的工程里有 CSplashWnd 否?
    vc通常是用这个类做启动画面的
      

  4.   

    看看view视图OnDraw()函数里面有没有显示图片
      

  5.   

    有好多方法可以在程序开始显示一个图片,是MDI 窗口背景的还是view里的?还是无边框的对话框?是显示一会儿自动就消失了?还是用户开始操作才消失?还是一直在背景里存在?
    你得说说情况才能知道。
      

  6.   

    补充信息:
    有完整代码,全局搜索IDB_INIT只有上两处有。
    是启动显示,之后就显示别的了。
      

  7.   

    再补充:
    把::
    #define IDB_INIT                        254 
    注释掉编译不出错,一样运行,只是不显示图片了。
    所以我怀疑是VC MFC有什么缺省或者默认的动作。
      

  8.   

    你也可以自己添加一个启动图片的。。具体如下:工程--添加到工程--components and contol--vc++ component 找到splash screen加一下就行了。
    你自己看看添加了什么类啊,什么成员函数的
      

  9.   

    mutou0422说的是正解。
    的确有一个static控件的一个属性设置了IDB_INIT。
    附加的问题是,怎么在.rc资源文件文件里面有定义与IDB_INIT?因为已经全局搜索了,没有。
    系统怎么知道这个控件的属性有这么一个IDB_INIT的?
      

  10.   

    知道了。
    CONTROL         254,IDC_STATIC,"Static",SS_BITMAP | SS_REALSIZEIMAGE,0,0,427,295
    其中第一个参数254,就是对应那个bitmap资源。好隐蔽。
    多谢大家了!结贴给分。