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

简介: CJlibrary 6.08是一套非常漂亮的用户界面类。为广大的VC用户所欢迎。但是在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
}
目录
相关文章
|
缓存 Linux Windows
.NET Core 获取主机运行资源的库
CZGL.SystemInfo 是一个支持 Windows 和 Linux 的资源信息获取库,用于获取系统环境、机器资源信息、系统资源使用情况。 Nuget 搜索 CZGL.SystemInfo 即可安装。 类库中每一个属性和方法,我都加上了注释,调用时可以看得到。
209 0
|
.NET Linux Windows
以Windows服务方式运行.NET Core程序
原文:以Windows服务方式运行.NET Core程序 在之前一篇博客《以Windows服务方式运行ASP.NET Core程序》中我讲述了如何把ASP.NET Core程序作为Windows服务运行的方法,而今,我们又遇到了新的问题,那就是:我们的控制台程序,也就是普通的.
2171 0
|
开发框架 .NET 开发工具
检查.net dll构建的目标平台是any cpu、x86、x64
原文:检查.net dll构建的目标平台是any cpu、x86、x64 有时候,需要检查构建的dll是否针对正确的平台 可以使用CorFlags.exe(它是.NET Framework SDK的一部分)从dll中查找此信息。
1199 0
|
C# 编译器 Python
动态执行 VB.NET 和 C# 代码
原文:动态执行 VB.NET 和 C# 代码 有时候我们需要尝试动态地与一些代码进行交互,而不是只能执行程序内已编死的代码,那该怎么办呢?我首先推荐各种脚本语言,如Javascript、Lua、Python等等,这些脚本语言有很多优秀的第三方类库,可以很方便的与 .NET 系统集成,让我们的程序中执行动态代码。
1322 0