标题:求助:怎样添加我编好的类呢
只看楼主
qwz2008
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2010-8-20
结帖率:100%
已结贴  问题点数:20 回复次数:8 
求助:怎样添加我编好的类呢
我编好了一个public继承CEDIT的类,以下是头文件的内容:
class CComEdit : public  CEdit
{
public:
    void ShowText(int IDC_EDIT);
};

接着是C文件:
#include "CCOMEDIT.h"

void CComEdit::ShowText(int IDC_EDIT)
{
     SetDlgItemText(IDC_EDIT,"我的类");
}(只是想试验一下怎样添加一个类,写简单了点)

然后用“add files to project”将这两个文件加入myclass工程中,在myclassdlg.cpp中添加#include "CCOMEDIT.h",再调用ShowText(int IDC_EDIT),可是编译了老出错:unexpected end of file while looking for precompiled header directive  
Error executing cl.exe.

不知道错在哪了,请高手帮帮忙

搜索更多相关主题的帖子: class 继承 unexpected include public 
2010-09-03 18:47
东海一鱼
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:48
帖 子:757
专家分:4760
注 册:2009-8-10
得分:10 
把你debug和release目录里面的*.pch文件删除,重新编译。

举世而誉之而不加劝,举世而非之而不加沮,定乎内外之分,辩乎荣辱之境,斯已矣。彼其于世未数数然也。
2010-09-03 23:00
qwz2008
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2010-8-20
得分:0 
删了也不行啊,
d:\vc学习\mysw\ccomedit.c(2) : fatal error C1083: Cannot open precompiled header file: 'Debug/mysw.pch': No such file or directory
Error executing cl.exe.
2010-09-04 11:36
daisylin
Rank: 2
等 级:论坛游民
帖 子:33
专家分:26
注 册:2009-8-14
得分:0 
回复 楼主 qwz2008
不能直接调用类的成员函数,创建自定义类的对象,再通过对象调用成员函数试试
2010-09-04 13:36
东海一鱼
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:48
帖 子:757
专家分:4760
注 册:2009-8-10
得分:0 
别用.c文件后坠,否则执行的是C的编译规则。
把你的文件后坠改为cpp,重新加入工程编译。

举世而誉之而不加劝,举世而非之而不加沮,定乎内外之分,辩乎荣辱之境,斯已矣。彼其于世未数数然也。
2010-09-04 22:00
bydzyj
Rank: 3Rank: 3
等 级:论坛游侠
威 望:3
帖 子:38
专家分:123
注 册:2010-8-8
得分:0 
直接通过文件导入,重新编译。
2010-09-05 08:47
bydzyj
Rank: 3Rank: 3
等 级:论坛游侠
威 望:3
帖 子:38
专家分:123
注 册:2010-8-8
得分:0 
class CMy123Dlg : public CDialog
{
// Construction
public:
    CComEdit m_eid;
}
.h文件写好之后不能直接应用,先定义一变量,再在函数中调用。我试过了OK没问题…………


void CMy123Dlg::OnPaint()
{
    if (IsIconic())
    {
        CPaintDC dc(this); // device context for painting

        SendMessage(WM_ICONERASEBKGND, (WPARAM) dc.GetSafeHdc(), 0);

        // Center icon in client rectangle
        int cxIcon = GetSystemMetrics(SM_CXICON);
        int cyIcon = GetSystemMetrics(SM_CYICON);
        CRect rect;
        GetClientRect(&rect);
        int x = (rect.Width() - cxIcon + 1) / 2;
        int y = (rect.Height() - cyIcon + 1) / 2;

        // Draw the icon
        dc.DrawIcon(x, y, m_hIcon);
    }
    else
    {
        CDialog::OnPaint();
    }
    m_eid.ShowText(IDC_EDIT);
}
2010-09-05 09:10
bydzyj
Rank: 3Rank: 3
等 级:论坛游侠
威 望:3
帖 子:38
专家分:123
注 册:2010-8-8
得分:10 
class CMy123Dlg : public CDialog
{
// Construction
public:
    CComEdit m_eid;   //定义
}
.h文件写好之后不能直接应用,先定义一变量,再在函数中调用。我试过了OK没问题…………


void CMy123Dlg::OnPaint()
{
    if (IsIconic())
    {
        CPaintDC dc(this); // device context for painting

        SendMessage(WM_ICONERASEBKGND, (WPARAM) dc.GetSafeHdc(), 0);

        // Center icon in client rectangle
        int cxIcon = GetSystemMetrics(SM_CXICON);
        int cyIcon = GetSystemMetrics(SM_CYICON);
        CRect rect;
        GetClientRect(&rect);
        int x = (rect.Width() - cxIcon + 1) / 2;
        int y = (rect.Height() - cyIcon + 1) / 2;

        // Draw the icon
        dc.DrawIcon(x, y, m_hIcon);
    }
    else
    {
        CDialog::OnPaint();
    }
    m_eid.ShowText(IDC_EDIT);//调用
}
2010-09-05 09:11
qwz2008
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2010-8-20
得分:0 
回复 8楼 bydzyj
你运行得了吗,我的运行起来的时候报错,弹出一个错误框出来。然后我就把SetDlgItemText(IDC_EDIT,"我的类")这条语句注释掉,F7,运行,没报错。奇怪了,SetDlgItemText(IDC_EDIT,"我的类")有问题?
2010-09-06 10:58



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-317671-1-1.html




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

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