您的位置:首页 > 其它

如何修改CJlibrary608在VC.net环境下运行

2010-12-20 18:36 190 查看
CJlibrary 6.08是一套非常漂亮的用户界面类。为广大的VC用户所欢迎。但是在VC.net下编译的时候报错,需要修改方能运行通过。我已把我修改并编译通过的过程记录下来,供大家参考。下面列出每个错误及其修改方式:

1.报错:

CJlirary.h文件#include <../src/afximpl.h>文件找不到

修改:

改为#include <../src/mfc/afximpl.h>

 

2.报错:

COLORREF clr = afxData.bWin4 ? afxData.clrBtnShadow : afxData.clrWindowFrame 中bwin4没有定义

修改:

查找并替换所有项目文件中afxData.bWin4为fxData.bWin95

 

3.报错:

(CCJMonthCalCtrl*) CWnd::FromHandle(pDX->m_hWndLastControl);中m_hWndLastControl不是CDataExchang成员

修改:

查找并替换项目中pDX->m_hWndLastControl 为pDX->m_pDlgWnd->m_hWnd

 

4.报错:

CJColorPopup.cpp文件CWnd::OnActivateApp(bActive, hTask);不能将hTask参数转换成DWORD

修改:

修改CJColorPopup.h和ColorPopup.cpp文件中的OnActivateApp函数声明,将HTASK hTask转换成DWORd hTask

 

5.报错:

CJCaption.cpp无法从void (__thiscall CCJCaption::* )(UINT,LONG)转换为LRESULT (__thiscall CWnd::* )(WPARAM,LPARAM)

修改:

改CJCaption.h文件afx_msg void OnPushPinButton(UINT lParam, LONG wParam)为afx_msg LRESULT OnPushPinButton(UINT lParam, LONG wParam);

 

6.报错:

switch((pNMPGCalcSize)->dwFlag)类型错误

修改:

先修改函数头为BOOL CCJPagerCtrl::OnPagerCalcSize(/*NMPGCALCSIZE**/NMHDR* pNMPGCalcSize, LRESULT* pResult)再修改switch(((NMPGCALCSIZE*)pNMPGCalcSize)->dwFlag)

 

7.报错:

无法从“BOOL (__thiscall CCJPagerCtrl::* )(NMPGCALCSIZE *,LRESULT *)”转换为“void (__thiscall CCmdTarget::* )(NMHDR *,LRESULT *)”

修改:

把NMPGCALCSIZE修改为NMHDR,并且将CCJPagerCtrl::OnPagerCalcSize的实现修改为:

BOOL CCJPagerCtrl::OnPagerCalcSize(NMHDR* pNMPGCalcSize, LRESULT* pResult)
{
     NMPGCALCSIZE* ns = (NMPGCALCSIZE*) pNMPGCalcSize;
    switch(ns->dwFlag)
     {
    case PGF_CALCWIDTH:
         ns->iWidth = m_nWidth;
        break;

    case PGF_CALCHEIGHT:
         ns->iHeight = m_nHeight;
        break;
     }

    *pResult = 0;
    return FALSE;    // Let parent handle message
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: