Zum Inhalt springen

Auf die Maus bei einem TrackBar reagieren


Snypoo

Empfohlene Beiträge

Hallo,

ich möchte auf das Loslassen der Maustaste bei der verwendung eines TTrackBar reagieren.

wenn ich mit

void __fastcall TForm1::OnMouseUp(TObject *Sender, TMouseButton Button, TShiftState Shift, int X, int Y)

arbeite, springt mein Prog nur dann in den Code, wenn ich außerhalb des TrackBars mit der Maus klicke. Es soll aber in den Code Gesprungen werden, wenn die Maus sich Über dem TrackBar befindet.

Ich Hoffe, Ihr könnt mir helfen.

Gruß

Snypoo

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hmmmm...ich arbeite zwar mit dem VC, aber es sollte doch auch bei der VCL möglich sein benutzerdefinierte Klassenableitungen zu erstellen.

Du beziehst Dich ja bei MouseUp auf Deine Form und nicht auf die TrackBar-Instanz.

void __fastcall MyTTrackBar ::OnMouseUp(TObject *Sender, TMouseButton Button, TShiftState Shift, int X, int Y)

So ähnlich würde es bei VC dann heissen *ggg*

Schau mal unter abgeleitete Klassen und die Hierarchie der VCL.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Original geschrieben von Snypoo

Hallo gugelhupf,

wie muß denn die MyTTrackBar aufgebaut sein, damit ich das so anwenden kann wie Du das beschrieben hast???

Also unter der MFC wäre so ein Control genauso mit allen Standardfunktionen und Membern zusammengesetzt wie sonst auch. Wie gesagt ich kenn die VCL nur vom Hören-Sagen. Gibt es denn beim Borland kein Hierarchie-Chart ?

Hast mal nachgeschaut wie man eine Control-Klassen von den Standardklassen ableitet ?

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo,

ich habe nun eine Lösung für mein Problem gefunden, die Wollte ich Posten, damit auch andere davon Profitieren können.

// HEADER

private:

Controls::TWndMethod OldTrackBarProc;

protected:

void __fastcall NewTrackBarProc(TMessage&);

// CPP-Datei

__fastcall TForm1::TForm1(TComponent* Owner)

: TForm(Owner)

{

OldTrackBarProc = TrackBar1->WindowProc;

TrackBar1->WindowProc = NewTrackBarProc;

}

//-----------------------------------------------------------------------------

void __fastcall TForm1::NewTrackBarProc(TMessage& Msg)

{

switch(Msg.Msg)

{

case WM_LBUTTONDOWN:

// Deine Behandlung

break;

case WM_LBUTTONUP:

// Deine Behandlung

break;

// Evtl. andere Cases

}

OldTrackBarProc(Msg);

}

Gruß

Snypoo

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...