| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 4101 人关注过本帖
标题:求助!!vc++2005程序编译出错,vc6没问题
只看楼主 加入收藏
网球浪子
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2008-5-21
收藏
 问题点数:0 回复次数:4 
求助!!vc++2005程序编译出错,vc6没问题
共有三个编译错误,但是在vc6却没有问题,2005无法通过,求达人帮助
错误说明: “static_cast”: 无法从“void (__thiscall COutputView::* )(const CString *)”转换为“LRESULT (__thiscall CWnd::* )(WPARAM,LPARAM)”

    afx_msg void OnAddString(const CString* str); //头文件声明
    ON_MESSAGE(UMSG_ADDSTRING,OnAddString)

void COutputView::OnAddString(const CString* str) //源函数定义
{
    m_strList.AddTail(*str);

    CSize size = GetTotalSize();
    int height = m_strList.GetCount()*m_FontHeight;
    if(height > size.cy){
        SetScrollSizes(MM_TEXT,CSize(500,height));
        POINT pt;
        pt.x = 0;
        pt.y = height;
        ScrollToPosition(pt);
    }

    Invalidate(FALSE);

    MSG msg;
    if(::PeekMessage(&msg,NULL,0,0,PM_REMOVE)){
        ::SendMessage(msg.hwnd, msg.message, msg.wParam, msg.lParam);
    }
}

错误说明:“static_cast”: 无法从“void (__thiscall COutputView::* )(void)”转换为“LRESULT (__thiscall CWnd::* )(WPARAM,LPARAM)”    
    afx_msg    void OnRemoveAllString(); //头文件声明
    ON_MESSAGE(UMSG_REMOVEALLSTRING,OnRemoveAllString)

void COutputView::OnRemoveAllString() //源函数定义
{
    m_strList.RemoveAll();
    SetScrollSizes(MM_TEXT,CSize(500,200));
    Invalidate(FALSE);

    MSG msg;
    if(::PeekMessage(&msg,NULL,0,0,PM_REMOVE)){
        ::SendMessage(msg.hwnd, msg.message, msg.wParam, msg.lParam);
    }
}

错误说明: “static_cast”: 无法从“UINT (__thiscall CCoolDialogBar::* )(CPoint)”转换为“LRESULT (__thiscall CWnd::* )(CPoint)”

afx_msg UINT OnNcHitTest(CPoint point); //头文件声明

UINT CCoolDialogBar::OnNcHitTest(CPoint point)  //源函数定义
{
    if (IsFloating())
        return CControlBar::OnNcHitTest(point);

    CRect rc;
    GetWindowRect(rc);
    point.Offset(-rc.left, -rc.top);
    if(m_rectClose.PtInRect(point))
        return HTSYSMENU;
    else if (m_rectUndock.PtInRect(point))
        return HTMINBUTTON;
    else if (m_rectGripper.PtInRect(point))
        return HTCAPTION;
    else if (m_rectBorder.PtInRect(point))
        return HTSIZE;
    else
        return CControlBar::OnNcHitTest(point);
}

[[it] 本帖最后由 网球浪子 于 2008-5-21 21:07 编辑 [/it]]
搜索更多相关主题的帖子: void str 编译 const void str 编译 const 
2008-05-21 18:24
网球浪子
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2008-5-21
收藏
得分:0 
在线等达人解答
2008-05-21 18:25
网球浪子
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2008-5-21
收藏
得分:0 
第三个问题已经解决,但是前面两个没有解决,急切需要高手
2008-05-21 19:04
pigppy
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2008-6-21
收藏
得分:0 
这种问题我也有遇到啊,不知道改怎么解决呢,希望高手指点一下啦。
2008-06-24 13:32
zz_tot
Rank: 1
等 级:新手上路
帖 子:23
专家分:0
注 册:2007-7-4
收藏
得分:0 
你的 声明 和  实现
把 void 改成 LRESULT 就过去了
2005 是需要返回值的
2008-08-02 12:20
快速回复:求助!!vc++2005程序编译出错,vc6没问题
数据加载中...
 
   



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

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