各位大侠:我是一个vc初学者,正在学习vc++API编程(还没到MFC那一步)如到问题如下:平台:windows2000 server VC++6.0一个简单的带Menu的窗口,在弹出的About对话框中显示的静态控件有问题(两个icon,一个bmp图,均在资源文件中定义),并非是我设计的样子,在编辑模式下可以看见正常图像或ICON,可是运行后就死活出现不了图像或icon(要吗没有,要吗是系统win图标),
ICON或bmp,About的所有属性设置我都设了一遍,可还是不能显示,顶多有个边框什么的。我用vc6向导生成的win32application例子却可以正常显示(随意修改它的About对话框,加入一些icon和bmp都可正常显示)。请教我的问题出在哪里?是否是资源文件定义有问题?可惜这个论坛不能帖图,要不各位大侠们就可以看见错误所示图片了。

解决方案 »

  1.   

    创建的resource.h
    加入project了没有?
      

  2.   

    您指的是这个吗?
    文件里有,是系统自动加上的。// Next default values for new objects
    // 
    #ifdef APSTUDIO_INVOKED
    #ifndef APSTUDIO_READONLY_SYMBOLS#define _APS_NEXT_RESOURCE_VALUE        107
    #define _APS_NEXT_COMMAND_VALUE         40006
    #define _APS_NEXT_CONTROL_VALUE         1000
    #define _APS_NEXT_SYMED_VALUE           101#endif
    #endif
      

  3.   

    大侠们,还是不行啊。我又做了几个试验在现有窗口中加入一个静态控件,就是显示一个bmp图。hwndStatic=CreateWindow("STATIC","PIC001",
    WS_CHILD|WS_VISIBLE|WS_BORDER|SS_BITMAP|SS_CENTERIMAGE,
    100,100,
    300,300,
    hWnd,
    (HMENU)IDS_BITMAP,
    hInstance,
    NULL);
    结果只有边框,还是没有图片或ICON,而用系统向导生成的例子中加入这段代码却没有问题,能显示的都能显示。看来是我的代码有问题,好像就是资源文件中定义的有问题我的资源文件中定义如下
    PIC001 BITMAP DISCARDABLE "test.bmp"但是系统好像就是不认这个pic001,而且在vc环境下,这种情况好像根本无法调试。系统无法确认当前资源是否有效。无法知道否已经载入了这个资源。我该怎么办?
      

  4.   

    应该是没有资源文件没有link进exe执行文件中,看看link设置。向导生成的win32application已经设好了。我以前学时也遇到过。
    其实你最好手动在控制台下编译一次一个win32程序,就很清楚了,可以看看《深入浅出MFC》的前二章(网上有下载的)。
      

  5.   

    我检查过了,应该是link时exe文件中了的,否则,运行程序时,左上角的小图标就不会是我自己定义的图标了。但是就是这个图标,我要把它显示在about窗口中或主窗口中(静态控件显示)就总是大白板,只有边框。真是让人摸不着头脑。
      

  6.   

    build->clean, build->rebuild all
    还是不行的话,God save you吧。
      

  7.   

    呵呵,还是不行,看来俺是遇上鬼了,god也save不了我了。