| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2425 人关注过本帖
标题:请问MFC中一个头文件该怎么定义啊
只看楼主 加入收藏
wei0000
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:80
专家分:136
注 册:2010-3-12
结帖率:91.67%
收藏
已结贴  问题点数:10 回复次数:4 
请问MFC中一个头文件该怎么定义啊
用MFC做一个膨胀的椭圆时出现了错误

在用MFC写一个膨胀的椭圆的绘图程序时,出现了一个致命的错误,错误如下用红字标示的地方

#include<afxwin.h>
#include<afxext.h>

#define SeedRand() srand(UINT)::GetTickCount()

class CMyApp:public CWinApp{
    public:
        virtual BOOL InitInstance();
};

class CMainWnd:public CFrameWnd{
    protected:
        int  m_nCurScreen;
        CPoint rec_E;
        int R_rec;
        int L_rec;
        COLORREF GetRandomColor();
        UINT MapRand(UINT nMax);
        void Growing_Ellipse(CClientDC *pDC);
    public:
        CMainWnd();
        afx_msg void OnTimer(UINT IDtimer);
        DECLARE_MESSAGE_MAP();
};

#include "CDCDEMO.h" //在这一行出现了错误,说是运行时出现了致命的错误,说这个库函数找不到,再请问这个库函数包含些什么样的函数???应该怎样定义这个库函数?????????????请高手们指教啊!!!!不胜感激啊
BEGIN_MESSAGE_MAP(CMainWnd,CFrameWnd)
    ON_WM_TIMER()
END_MESSAGE_MAP()

CMainWnd::CMainWnd(){
    rec_E.x=320;
    rec_E.y=480;
    R_rec=30;
    L_rec=10;
    SeedRand();
}

COLORREF CMainWnd::GetRandomColor(){
    return RGB(MapRand(255),MapRand(255),MapRand(255));
}

UINT CMainWnd::MapRand(UINT nMax){
    int nRand=rand();
    float fMap=(float)nMax/RAND_MAX;
    float fRetVal=(float)nRand*fMap+0.5F;
    return (UINT)fRetVal;
}

void CMainWnd::OnTimer(UINT IDtimer){
    CClientDC dc(this);
    Growing_Ellipse(&dc);
}

void CMainWnd::Growing_Ellipse(CClientDC *pDC){
    CBrush ColorBrush(GetRandomColor());
    pDC->SelectObject(&ColorBrush);
    pDC->Ellipse(rec_E.x-R_rec,rec_E.y-R_rec*480/640,
        rec_E.x+R_rec,rec_E.y+R_rec*480/640);
    R_rec=R_rec+C_rec;
    if(rec_E-R_rec<=10||rec_E-R_rec>=300) C_rec-=C_rec;
}

BOOL CMyApp::InitInstance(){
    CMainWnd *pFrame=new CMainWnd;
    pFrame->Create(0,"Graphics Demo",WS_POPUPWINDOW|WS_DLGFRAME,CRect(0,0,640,480));
    this->m_pMainWnd=pFrame;
    pFrame->ShowWindow(m_nCmdShow);
    pFrame->UpdateWindow();
    pFrame->SetTimer(0,50,NULL);
    return TRUE;
}

CMyApp MyApp;
搜索更多相关主题的帖子: MFC 定义 文件 
2010-03-16 09:11
秀痘魔导士
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:6
帖 子:250
专家分:1150
注 册:2009-12-23
收藏
得分:0 
CDCDEMO.h

不就是你上面那个头文件么?
2010-03-16 14:31
cnfarer
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:179
帖 子:3330
专家分:21157
注 册:2010-1-19
收藏
得分:0 
红字之间的就是CDCDEMO.h的内容

★★★★★为人民服务★★★★★
2010-03-16 15:32
wei0000
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:80
专家分:136
注 册:2010-3-12
收藏
得分:0 
3楼的说红字之间的就是CDCDEMO.H的内容,如果是这样的话,为什么运行时会说这个头文件找不到,能解释是什么原因吗????????????
如果头文件没错的话,能帮忙检查下是其他的什么错误吗?????????高手们帮忙改改啊
不胜感激!
2010-03-16 16:57
秀痘魔导士
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:6
帖 子:250
专家分:1150
注 册:2009-12-23
收藏
得分:10 
程序代码:
#include<afxwin.h>
#include<afxext.h>

#define SeedRand() srand(UINT)::GetTickCount()

class CMyApp:public CWinApp{
    public:
        virtual BOOL InitInstance();
};

class CMainWnd:public CFrameWnd{
    protected:
        int  m_nCurScreen;
        CPoint rec_E;
        int R_rec;
        int L_rec;
        COLORREF GetRandomColor();
        UINT MapRand(UINT nMax);
        void Growing_Ellipse(CClientDC *pDC);
    public:
        CMainWnd();
        afx_msg void OnTimer(UINT IDtimer);
        DECLARE_MESSAGE_MAP();
};

把这些代码粘贴到以CDCDEMO.h为名的文件中,放到项目下。
2010-03-16 19:09
快速回复:请问MFC中一个头文件该怎么定义啊
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.029390 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved