MFC程序框架下,将资源定义在某个类的头文件里,像这样
#define IDD_DIALOG_Q 0x00001254
IDD_DIALOG_Q DIALOG 0,0,300,200
STYLE WS_POPUP
FONT 10,"SYSTEM"
{
}
class DlgQ : public CDialog
{
.......
enum{IDD= IDD_DIALOG_Q};
.....
}
请问要怎么做才不会有错误呢》还是在MFC生成框架下不能这样做?

解决方案 »

  1.   

    IDD_DIALOG_Q DIALOG 0,0,300,200
    STYLE WS_POPUP
    FONT 10,"SYSTEM"
    属于.rc文件的内容,而.rc文件是专门以脚本的方式记录.DLG、.BMP、.ICO、.CUR、.FON等资源的,也是用RC Compiler来编译的(生成.RES),一般的.C、.H是以C Compiler来编译的(生成.OBJ),你这样把资源脚本放在某个类的.H里面,我想用VC提示的编译器缺省编译参数应该不行吧!
      

  2.   

    如果要加入自定义的资源,你可以在(1)resourse.h中加入资源的定义#define IDD_DIALOG_Q 0x00001254,而后可以(2)在String Table文件夹中添加资源说明。
    最后(3)可以把IDD_DIALOG_Q DIALOG 0,0,300,200
    STYLE WS_POPUP
    FONT 10,"SYSTEM"
    {
    }
    添加到resourse.h的相应位置。但是,向你构建对话框资源,直接生成就可以了,没有必要那么作。象我遇到加资源的情况有:
    1、加入一个状态指示。前两步不变,最后一步具体做法是在mainFrm.cpp文件中的indicators[]数组中加入资源ID.
    2、还有是你对某些自己添加的资源要做细节上的修改:比如你加了一个组合框,那么可以在resourse.h中看到
       COMBOBOX        IDC_CMD_DSN,62,27,63,30,CBS_DROPDOWN | CBS_SORT | 
                        WS_VSCROLL | WS_TABSTOP你可以改变上面的参数,达到你的要求.
    3、其他的普通用法,可以参看VC的书。
    4、高级的用法,我也无能为力,希望高手们指点.