牵着老婆满街逛

严以律己,宽以待人. 三思而后行.
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 杨粼波 阅读(490) 评论(0)  编辑 收藏 引用 所属分类: 文章收藏


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理