CJlibrary 6.08是一套非常漂亮的用戶(hù)界面類(lèi)。為廣大的VC用戶(hù)所歡迎。但是在VC.net下編譯的時(shí)候報(bào)錯(cuò),需要修改方能運(yùn)行通過(guò)。我已把我修改并編譯通過(guò)的過(guò)程記錄下來(lái),供大家參考。下面列出每個(gè)錯(cuò)誤及其修改方式:
1.報(bào)錯(cuò):
CJlirary.h文件#include <..\src\afximpl.h>文件找不到
修改:
改為#include <..\src\mfc\afximpl.h>
2.報(bào)錯(cuò):
COLORREF clr = afxData.bWin4 ? afxData.clrBtnShadow : afxData.clrWindowFrame 中bwin4沒(méi)有定義
修改:
查找并替換所有項(xiàng)目文件中afxData.bWin4為fxData.bWin95
3.報(bào)錯(cuò):
(CCJMonthCalCtrl*) CWnd::FromHandle(pDX->m_hWndLastControl);中m_hWndLastControl不是CDataExchang成員
修改:
查找并替換項(xiàng)目中pDX->m_hWndLastControl 為pDX->m_pDlgWnd->m_hWnd
4.報(bào)錯(cuò):
CJColorPopup.cpp文件CWnd::OnActivateApp(bActive, hTask);不能將hTask參數(shù)轉(zhuǎn)換成DWORD
修改:
修改CJColorPopup.h和ColorPopup.cpp文件中的OnActivateApp函數(shù)聲明,將HTASK hTask轉(zhuǎn)換成DWORd hTask
5.報(bào)錯(cuò):
CJCaption.cpp無(wú)法從void (__thiscall CCJCaption::* )(UINT,LONG)轉(zhuǎn)換為L(zhǎng)RESULT (__thiscall CWnd::* )(WPARAM,LPARAM)
修改:
改CJCaption.h文件afx_msg void OnPushPinButton(UINT lParam, LONG wParam)為afx_msg LRESULT OnPushPinButton(UINT lParam, LONG wParam);
6.報(bào)錯(cuò):
switch((pNMPGCalcSize)->dwFlag)類(lèi)型錯(cuò)誤
修改:
先修改函數(shù)頭為BOOL CCJPagerCtrl::OnPagerCalcSize(/*NMPGCALCSIZE**/NMHDR* pNMPGCalcSize, LRESULT* pResult)再修改switch(((NMPGCALCSIZE*)pNMPGCalcSize)->dwFlag)
7.報(bào)錯(cuò):
無(wú)法從“BOOL (__thiscall CCJPagerCtrl::* )(NMPGCALCSIZE *,LRESULT *)”轉(zhuǎn)換為“void (__thiscall CCmdTarget::* )(NMHDR *,LRESULT *)”
修改:
把NMPGCALCSIZE修改為NMHDR,并且將CCJPagerCtrl::OnPagerCalcSize的實(shí)現(xiàn)修改為:
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
}