Abfangen von Meldungen in eigener Klasse misslingt

gabifi

Mitglied
Hallo, ich baue mir gerade eine eigene Klasse abgeleitet von CSliderCtrl.
Ich möchte das Scrollen auf einen bestimmten Bereich beschränken, also wollte ich in meiner neuen Klasse die OnHScroll überschreiben. Das geht, aber wenn ich Scrolle springt mein Programm nicht in diese Funktion.

Wie kann man denn sowas bewerkstelligen? Ich möchte halt eine extra Klasse haben, bei der sich alle Elemente so verhalten wie ich es in der OnHScroll angebe, aber das bringt mir ja nichts wenn sie nie aufgerufen wird. Im Dialog selber die OnHScroll mit dem Code zu füllen wird für jeden Slider halt einfach zu viel.
Bitte um Hilfe, bin schon ganz verzweifelt.
Danke
Gabriel
 
Die WM_HSCROLL sendet der Slider-Control ja an das Parent, wenn drin gescrollt wurde. Das ist für deinen Wunsch ja schon zu spät.
Du musst auf die einzelnen TB_xxx-Nachrichten eingehen. Geh mal auf zum Beispiel TB_THUMBTRACK, da solltest du den Wertebereich eingrenzen können.
 
Hm, Danke, das hab ich schon vermutet. Nur steh ich grad total auf dem Schlauch, wie fang ich denn so ne TB_xxx-Nachricht ab. Kannst du mir ein kleines Beispiel geben, das wär nett. Ich verwend .Net, falls das was hilft.
 
Die sollte dir der Klassenassistenten-Nachfolger in der Eigenschaftenleiste eigentlich anbieten. Die TB_xxx-Nachrichten sind auch nur Nachrichten. Wenn du in deiner von CSliderCtrl abgeleiteten Klasse Alt-Enter drückst, sollten da in den Tabs auch die TB-Nachrichten drin sein.

Wenn ich "sollten" sage, dann heisst das, ich weiss es nicht genau, aber es müsste eigentlich so sein.
 
Das tut er leider nicht. Er zeigt mir Meldungen wie WM_HSCROLL oder so an, aber keine TB_xxx. Welche Methode muss ich denn an sich überschreiben, ich find auch keine OnTB... oder so. Der Klassenassistent gibt zum direkten überschreiben auch nur ganz wenig Funktionen an. Mit dem thois-Zeiger bekomm ich schon ein TB_THUMBTRACK, aber mehr auch net.
 
In einem solchen Härtefall versuch mal die WindowProc anlegen zu lassen, da sollten eigentlich alle Nachrichten durchkommen.
 
Dank mal für die Hilfe, im Moment hab ich das mal zurückgestellt, mich wunderts nur dass es bei mir nicht geht, das es manch schlaus Buch so empfiehlt. Naja, seis drum, dann versuch ichs halt mal in der WinProc, die kann man immerhin überschreiben
 
Zurück