牵着老婆满街逛

严以律己,宽以待人. 三思而后行.
GMail/GTalk: yanglinbo#google.com;
MSN/Email: tx7do#yahoo.com.cn;
QQ: 3 0 3 3 9 6 9 2 0 .

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

 

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
}

posted on 2006-06-22 18:15 杨粼波 阅读(535) 评论(0)  编辑 收藏 引用 所属分类: 文章收藏