我在 int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct) 加入 一条语句就有错误?

SimpleAndHONEST 2005-11-19 02:47:05
请教:

我在 int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct) 加入
if (!m_wndDlgBar.Create(this,IDD_MYDIALOG,CBRS_TOP | CBRS_BOTTOM ,AFX_IDW_DIALOGBAR))
{
}


nt CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
if (CFrameWnd::OnCreate(lpCreateStruct) == -1)
return -1;

if (!m_wndToolBar.CreateEx(this, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBRS_TOP
| CBRS_GRIPPER | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC) ||
!m_wndToolBar.LoadToolBar(IDR_MAINFRAME))
{
TRACE0("Failed to create toolbar\n");
return -1; // fail to create
}

if (!m_wndStatusBar.Create(this) ||
!m_wndStatusBar.SetIndicators(indicators,
sizeof(indicators)/sizeof(UINT)))
{
TRACE0("Failed to create status bar\n");
return -1; // fail to create
}

if (!m_wndDlgBar.Create(this,IDD_MYDIALOG,CBRS_TOP | CBRS_BOTTOM ,AFX_IDW_DIALOGBAR))
{
}
// TODO: Delete these three lines if you don't want the toolbar to
// be dockable
m_wndToolBar.EnableDocking(CBRS_ALIGN_ANY);
EnableDocking(CBRS_ALIGN_ANY);
DockControlBar(&m_wndToolBar);

return 0;
}


编译时提示的错误是:
--------------------Configuration: Mypro31 - Win32 Debug--------------------
Compiling...
MainFrm.cpp
C:\Program Files\Microsoft Visual Studio\MyProjects\Mypro31\MainFrm.cpp(70) : error C2065: 'IDD_MYDIALOG' : undeclared identifier
Error executing cl.exe.

Mypro31.exe - 1 error(s), 0 warning(s)



这是为什么啊?



...全文
323 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
kelinwang19 2005-11-22
  • 打赏
  • 举报
回复
还是guosx(玄远) 讲的简单明了啊
SimpleAndHONEST 2005-11-22
  • 打赏
  • 举报
回复
谢谢各位大哥!
CSDN 真是好人多啊!
guosx 2005-11-22
  • 打赏
  • 举报
回复
在resource浏览窗口中找dialog即可找到你的对话框,让后把它改成IDD_MYDIALOG就可以了
shmily1280 2005-11-22
  • 打赏
  • 举报
回复
这个是对话框么,如果是的话,看情况应该是这个对话框类中的Dialog的ID不对,你到对话框类中的.h文件中找到enum { IDD = IDD_DIALOG_ADD };这句话,改 IDD = IDD_MYDIALOG,应该就好了
当然#include "**.h"是一定的,如果不是一个单独的对话框类,那就参考property1 的做法.
资源 窗口是在VC窗口左边的类视图的旁边,自己找找有三个按钮排在一起的classView/resourceView/FileView就是第二个,点进去,里面有你这个程序用到的所有的资源文件,FileView 中包括你用到的所有文件. resource.h也在其中...
ggw 2005-11-22
  • 打赏
  • 举报
回复
你知道对话框编辑器吧!如果还不知道,建议你先看一下IDE介绍。
这个操作是想在框架上加一个对话条,没有这个对话条的模板,系统不知道怎样加!
SimpleAndHONEST 2005-11-22
  • 打赏
  • 举报
回复
谢谢 property1 大哥:
我刚学 VC ,您说:“你 在 资源中 添加 的对话框 ,属性(对话框上点右键) 里 ID 里 应该添的是 'IDD_MYDIALOG' ”

我找不到这个地方啊?

还有 #define IDD_MYDIALOG 123456

这个 123456 ,是自己定义的?还是系统规定的啊?

谢谢!
property1 2005-11-21
  • 打赏
  • 举报
回复
你 在 资源中 添加 的对话框 ,属性(对话框上点右键) 里 ID 里 应该添的是 'IDD_MYDIALOG'

检查 resource.h 里 是否有 'IDD_MYDIALOG'

如果没有 手工添上
#define IDD_MYDIALOG 123456
SimpleAndHONEST 2005-11-19
  • 打赏
  • 举报
回复
谢谢 property 大哥 和 DentistryDoctor 大哥!

我在 MainFrm.cpp 中添加了 #include Resource.h

可是还是提示错误:

-------------------Configuration: Mypro31 - Win32 Debug--------------------
Compiling...
MainFrm.cpp
C:\Program Files\Microsoft Visual Studio\MyProjects\Mypro31\MainFrm.cpp(71) : error C2065: 'IDD_MYDIALOG' : undeclared identifier
Error executing cl.exe.

Mypro31.exe - 1 error(s), 0 warning(s)




我哪里还有错误啊?

谢谢!
DentistryDoctor 2005-11-19
  • 打赏
  • 举报
回复
#include "resource.h" ?
property1 2005-11-19
  • 打赏
  • 举报
回复
IDD_MYDIALOG 未定义,

正常的情况 你这个 资源必须存在,IDD_MYDIALOG 在 Resource.h 应该有定义

16,473

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧