如何修改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
}
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
}
相关文章推荐
- php如何在运行phpunit之前修改一些必要的环境变量
- Android studio中如何修改运行环境中最低版本和目标版本
- HOWTO:如何修改InstallShield的运行环境
- 如何修改CJlibrary608在VC.net环境下运行
- 如何修改CJlibrary608在VC.net环境下运行(转)
- 如何myEclipse修改工程项目的运行环境和编译环境
- MyEclipse中如何设置 jdk 和 jre 编译运行环境
- 如何快速正确的安装 Ruby, Rails 运行环境
- 如何在 Kubernetes 环境中运行 Spark 集群
- Unix环境高级编程第三版中实例代码如何在自己的linux上运行的问题
- 如何在Window XP下安装Android运行环境
- Linux下在已经运行的tomcat环境下如何再部署新的tomcat
- 如何实现多个线程同步 (2013-11-10 12:07:24)转载▼ 标签: it 在编写一个类时,如果该类中的代码可能运行于多线程环境下,那么就要考虑同步的问题,Java实现线程同步的方法很多
- 如何打脱离eclipse环境运行的jar包
- 如何快速正确的安装 Ruby, Rails 运行环境
- 如何配置Java Server Page运行环境
- 如何停止正在运行的job(解决job不能删除或修改的问题)
- xampp/wamp集成环境安装后,如何修改mysql的默认编码格式的方法整理
- 如何用export修改环境变量 以及 PATH与$PATH的区别
- 如何在IIS7.5(7.0)下配置asp的运行环境