这段网上流传的经典代码,为什么会报错啊
在单元文件的.h文件中加入:
private: // User declarations
void __fastcall WndProc(TMessage &Msg);
在单元文件的.cpp文件中加入:
// 重载窗体的WndProc实现截获窗体消息
void __fastcall TForm1::WndProc(TMessage &Msg)
{
switch(Msg.Msg)
{
case WM_NCHITTEST: //
{
// 分解当前鼠标的坐标
int nPosX = LOWORD(Msg.LParam);
int nPosY = HIWORD(Msg.LParam);
if(nPosX >= Left + Width - 2 && nPosY >= Top + Height - 2)
// 本文转自 C++Builder 研究 - http://www.ccrun.com/article.asp?i=990&d=70jx1b
{
// 鼠标位置在窗体的右下角附近
Msg.Result = HTBOTTOMRIGHT;
return;
}
else if(nPosX >= Left + Width -2)
{
// 鼠标位置在窗体右侧
Msg.Result = HTRIGHT;
return;
}
else if(nPosY >= Top + Height - 2)
{
// 鼠标位置在窗体下方
Msg.Result = HTBOTTOM;
return;
}
// 以上只判断鼠标位置是否在右侧,右下角,下方,所以仅仅当鼠标指针在这三个位置时才会改变成改变大小的形状,拖动后可改变大小。
break;
}
default:
break;
}
TForm::WndProc(Msg);
}
错误提示
[C++ Error] TfmMain.cpp(1890): E2034 Cannot convert 'int' to 'TsuiImagePanel *'
[C++ Warning] TfmMain.cpp(1898): W8004 'nPosY' is assigned a value that is never used
[解决办法]
这个错误不是上面额代码引起的吧
[解决办法]