C Builder相談室 Part3
■ このスレッドは過去ログ倉庫に格納されています
0531デフォルトの名無しさん
NGNGサブクラス化までは必要ないです。TFormが受け取るメッセージをディスパッチ
すれば十分なようです。
ただし、DelphiのMLにもありますように、Panelの上にImageが乗ってたりすると
うまく行きません。
protected:
BEGIN_MESSAGE_MAP
VCL_MESSAGE_HANDLER(CM_MOUSEENTER, TMessage, CMMouseEnter);
VCL_MESSAGE_HANDLER(CM_MOUSELEAVE, TMessage, CMMouseLeave);
END_MESSAGE_MAP(TForm);
void __fastcall TForm1::CMMouseEnter(TMessage& Msg)
{
// Image1 にマウスが入った?
if (reinterpret_cast<TComponent*>(Msg.LParam) == Image1) {
// 赤く塗る
Image1->Canvas->Brush->Color = clRed;
Image1->Canvas->FillRect(Rect(0, 0, Image1->Width, Image1->Height));
}
}
//---------------------------------------------------------------------------
void __fastcall TForm1::CMMouseLeave(TMessage& Msg)
{
// Image1 からマウスが出た?
if (reinterpret_cast<TComponent*>(Msg.LParam) == Image1) {
// 白く塗る
Image1->Canvas->Brush->Color = clWhite;
Image1->Canvas->FillRect(Rect(0, 0, Image1->Width, Image1->Height));
}
}
■ このスレッドは過去ログ倉庫に格納されています