Wie bekomme ich einen MouseOver effekt hin

Versuchs mal über den Objektinspector.
Wenn du den Button oder was auch immer markiert hast, klickst du auf Events. Dort kannst du dir optionen auswählen wie z.B. OnMouseMove oder ähnliches.
 
Ja aber wenn ich dem Bild mit mousemove eine ander Grafik zuweise , und ich es bei Form1 wieder in den Uhrzustand setze flakkert es.



(!)
 
Überprüfst du beim MouseOver, ob schon die neue Grafik gezeichnet wurden ist?(falls ja, muss diese nicht erneut eingelesen werden).

Schonmal was von 2 Puffern gehört?
Setze DoubleBuffered auf true.
 
Hi,

dass hier verwende ich, klappt auch sehr gut :

in der Cpp Datei folgendes eintragen;

Code:
void __fastcall TForm1::OnMouseOver(TMessage & Msg)
{
  if ( ((TImage *)Msg.LParam) == Image1)
  {
    Image1->Picture->LoadFromFile("C:\\x_over.bmp");
  }
  if ( ((TImage *)Msg.LParam) == Image2)
  {
    Image2->Picture->LoadFromFile("C:\\m_over.bmp");
  }
}
//---------------------------------------------------------------------------
void __fastcall TForm1::OnMouseOut(TMessage & Msg)
{
  if ( ((TImage *)Msg.LParam) == Image1)
  {
    Image1->Picture->LoadFromFile("C:\\x.bmp");
  }
   if ( ((TImage *)Msg.LParam) == Image2)
  {
    Image2->Picture->LoadFromFile("C:\\m.bmp");
  }
}
//---------------------------------------------------------------------------

In die header Datei in public folgendes eintragen:

Code:
public:		// Anwender-Deklarationen

  void __fastcall OnMouseOver(TMessage & Msg);
  void __fastcall OnMouseOut(TMessage & Msg);
  BEGIN_MESSAGE_MAP
  VCL_MESSAGE_HANDLER(CM_MOUSEENTER , TMessage, OnMouseOver)
  VCL_MESSAGE_HANDLER(CM_MOUSELEAVE , TMessage, OnMouseOut)
  END_MESSAGE_MAP(TForm)

Müsste verständlich sein, wenn du fragen hast, einfach fragen.

MFG ASD20054
 

Neue Beiträge

Zurück