C++Builder里TWndMethod解释
TWndMethod is the type for Windows message procedures.
typedef void __fastcall (__closure *TWndMethod)(Messages::TMessage &Message);
Description
Each Window has a message procedure that responds to calls from Windows. These calls can originate from Windows (such as paint messages), from user actions (such as mouse messages), or from your messages that you send in your own code.
TWndMethod is the type for VCL-based message procedures. Message procedures of this type can be assigned to controls using the WindowProc method. In addition, a window that implements this procedure but which is not associated with a control can be created using the AllocateHWnd function.
The Message parameter encapsulates the message to which the procedure responds. It contains fields for the incoming message parameters and a result field that holds the return value.
比如:
重写Image1控件的消息循环:
定义一个消息处理函数过程:
//.h 中
TWndMethod OldImageWndProc5;//定义一个函数过程,(实际上是一个地址)
void __fastcall NewImageWndProc(TMessage& Message);//自定义的新回调函数
//.cpp中
OldImageWndProc5=Image1->WindowProc;//把Image1的原先消息回调函数地址赋值给OldImageWndProc5,方便完成自己的代码后调用
Image1->WindowProc=NewImageWndProc;//把image的消息毁掉函数指向到我们定义的回调函数 NewImageWndProc5
void __fastcall TForm2::NewImageWndProc(TMessage&Message)
{
if(Message.Msg==CM_MOUSELEAVE)
{
Image1->Picture->Assign(MinNoth);
bmpok5=true ;
}
else if(Message.Msg==CM_MOUSEENTER)
{
Image1->Picture->Assign(MinMove);
bmpok5=false;
}
OldImageWndProc5(Message);
}
本文介绍了C++Builder中TWndMethod类型的作用,它用于处理Windows消息程序。通过TWndMethod,开发者可以重写控件的消息响应,实现自定义的窗口消息处理。
1626

被折叠的 条评论
为什么被折叠?



