دوستان عزیز سلام این نمونه کد که می ذارم را از help خود bcb برداشتم که در اون نحوه تعریف یک message و تعریف تابع اون گفته شده خیلی گویاست مدت ها بود دنبالش بودم که اتفاقی پیداش کردم .
اگه تکراری به بزرگی خودت ببخشید اگر هم نه یه دعایی در حق ما کنید برای سر به راه شدن
اخه مگه از برنامه نویسی هم نونی در میاد؟ انشاالله به ممد برنامه بیست ساله در میاد . . .

خب این هم از کد:
Example: Message handler

Here is the declaration of a message handler for a user-defined message called CM_CHANGECOLOR.

#define CM_CHANGECOLOR (WM_APP + 400)
class TMyControl : public TControl

{
protected:
void __fastcall CMChangeColor(TMessage &Message);

BEGIN_MESSAGE_MAP

MESSAGE_HANDLER(CM_CHANGECOLOR, TMessage, CMChangeColor)
END_MESSAGE_MAP(TControl)
};

void __fastcall TMyControl::CMChangeColor(TMessage &Message)

{
Color = Message.LParam; // set color from long parameter
TControl::CMChangeColor(Message); // call the inherited message handler
}