版权声明:本文为博主原创文章,未经博主允许不可以转载。 https://blog.csdn.net/aasmfox/article/details/84643638
要创建模板生成的程序,就要使用RectTrack,进行组件拖放,动态创建各式组件:
要使用的技术要点:
C++B中的消息处理机制,每个Control都有一个MainWndProc是static 函数,实际调用的是WndProc,这个是是虚函数,
各个组件可以重载wndproc来处理特定消息,缺省是调用Dispose消息函数:
一、重载WndProc函数
void __fastcall TForm1::WndProc(Messages::TMessage &msg)
{
if (msg.Msg == WM_LBUTTONDOWN )
{
Caption = "down";
POINT pt ;
GetCursorPos(&pt);
::ScreenToClient(Handle, &pt);TrackRubberBand(Handle,pt ) ;
this->Text ="down";
return ;
}if (msg.Msg == WM_LBUTTONUP )
{
Caption = "up";
return ;
}TForm::WndProc(msg);
}
C++ Builder为了方便地处理消息,定义了以下三个处理消息的宏:
BEGIN_MESSAGE_MAP
VCL_MESSAGE_HANDLER(msg,type,meth)
END_MESSAGE_MAP(base)