我想实现一个对话框,运行时出现了问题:ABOUT DIALOG DISCARDABLE 0,0,187,94
STYLE DS_MODALFRAME | WS_POPUP | WS_CARTION | WS_SYSMENU
FONT 10, "system"
BEGIN 
DEFPUSHBUTTON "OK",IDOK,69,56,5,14
ICON "ABOUT1",IDC_1 26,25,20,21
CTEXT "AAAAAA",IDC_1 30,20,12,21
END这时编译提示STYLE行语法错误注释掉该行后提示DEFPUSHBUTTON行语法错误再注释掉后,在DEVC++中能够编译通过,正常显示,在CFree中,需要将BEGIN和END之间全部注释掉,才能通过请问这是怎么回事,谢谢!!

解决方案 »

  1.   

    是用API写的,我用VC6直接生成对话框,然后再把资源文件中的代码复制过来,仍然是这个问题
      

  2.   

    你现在这个对话框上有这个button么?
      

  3.   

    楼上是什么意思?我是想往上加按扭,但是因为语法错误,只好注释掉,显示的对话框中只有“AAAAAA”的文字和图标,在对话框中只能加CTEXT和ICON,其他都是语法错误。
      

  4.   

    问题解决了,原来是IDOK以及DS_MODALFRAME等窗口类型没有做预定义,加入<windows.h>就能编译通过,可是我的教科书上没有加,而且用vc++6.0自动生成的代码也没有<windows.h>的头文件,请问这是怎么回事?还请问大家用的DEVC++怎么样,我的用的时候代码自动缩进很奇怪,按回车后光标会与上一行文字末尾处对齐,请问能不能修改成像vc++6.0那样的自动缩进格式,vc6还有个选中一段代码然后能全部格式化的功能,请问DEVC++有吗?
      

  5.   

    ABOUTBOX DIALOG DISCARDABLE  32, 32, 180, 100
    CAPTION "Dialog"
    STYLE DS_MODALFRAME | WS_POPUP
    FONT 8, "MS Sans Serif"
    BEGIN
       PUSHBUTTON   "OK", IDOK,69,65,50,14
       CTEXT         "About1",IDC_STATIC,40,12,100,8
    END我写这个对话框时,像上边这样写,对话框能够正常显示。如果把PUSHBUTTON的文字改成中文如"确定"的话,对话框就不显示了,这时如果把CTEXT行注释掉的话就又能够显示。实际上如果按钮的文字为中文时,在资源文件中再添加任何资源,包括按钮,对话框都不显示,只有把文字改为英文才行。请问这时怎么回事?(我在DEVC++和Cfree中都用过,都是这样的)
      

  6.   

    是这样?可为什么是中文后就排斥其他的控件了?是我没写清楚吧,实际上我想说的是,当按钮的名称为中文时,而且对话框只有这一个按钮控件时,就是像这样写:BEGIN 
      PUSHBUTTON  "确定", IDOK,69,65,50,14 
    END 对话框能够显示,上面只显示那个中文按钮。因为这时如果再添加任何其他的控件,如BEGIN 
      PUSHBUTTON  "确定", IDOK,69,65,50,14
      CTEXT        "About1",IDC_STATIC,40,12,100,8
    END 虽然没报错,但是对话框就不显示了。只能把“确定”改为“OK”等英文名时,才能正常显示。