Ein Slider (Trackbar) und OnHScroll mögen sich nicht. ???
-
Hi.
Ich habe da ein Problem. Ich habe in meinem Dialog eine Scrollbar und einen Slider, die HORIZONTAL sind.
Nun habe ich eine OnHScroll abgeleitet. In die habe ich dann denn unten stehenden Code eingefügt.
if( pScrollBar == &m_Scrollbar )
{
...
}if( pScrollBar == &m_Slider )
{
...
}Was ich nur bekomme, ist eine Fehlermeldung.
Sie lautet:
"error C2446: '==' : no conversion from 'class CSliderCtrl *' to 'class CScrollBar *'"Wie kann man das jetzt machen? Muss man für den Slider eine andere Funktion erstellen? Das mit dem Scrollbar funktioniert, nur mit dem Slider nicht.
Nun, wie kann ich das machen. Bin noch ein Anfänger, deswegen würde ich mich über eine kleine ausführliche Antwort freuen. Danke im voraus.
-
Hallo,
das Problem ist das Du nicht den Typen des Elementes rausfinden musst sondern das Du einfach den Handle zu dem jeweiligen Element finden musst. Desweiteren ist ein "&" hier falsch da das Element ja schon deklariert ist.
Also Funktioniert es eher so:
if(pScrollBar->m_hWnd==m_ScrollBar.m_hWnd)
{}
if(pScrollBar->m_hWnd==m_slider.m_hWnd)
{}
Gruß
Ocrana
-
Da der == operator in CWnd überladen ist, kann man auch folgendes schreiben:
if( *pScrollBar==m_ScrollBar) { } else if( *pScrollBar==m_slider) { }