Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

Hi,

ich hab nen Slider in einer DialogBox dieser soll wenn er bewegt wird den Wert an ein Static Text geben. Der Text heisst IDC_COLOR_STATIC.

Das ganze natürlich mit VC+++ :)

Kann mir da jemand helfen ?? Hab schon alle Events durchprobiert aber ich bekomms net hin ..

Geschrieben

Ein Slider-Steuerelement senden Scroll-Nachrichten an sein Parent. Wenn es ein horizontaler Slider ist, sendet er WM_HSCROLL, ein vertikaler sendet WM_VSCROLL. Du musst also dem Parent-Fenster des Sliders - üblicherweise ein Dialog oder ein FormView - eine Nachrichtenbehandlungsfunktion für WM_HSCROLL bzw. WM_VSCROLL hinzufügen.

Der dritte Parameter dieser Funktion erhält einen Zeiger auf das Steuerelement, leider in Form eines CScrollBar*, auch wenn die Nachricht von einem Slider kommt. Daher muss man den Zeiger casten, um zu prüfen, ob die Nachricht vom Slider stammt:

[color=blue]void[/color] [color=blue]CDeinDlg[/color]::[color=darkred]OnHScroll[/color]([color=blue]UINT[/color] [color=darkblue]nSBCode[/color], [color=blue]UINT[/color] [color=darkblue]nPos[/color], [color=blue]CScrollBar[/color]* [color=darkblue]pScrollBar[/color]) 
{
[color=blue]CSliderCtrl[/color]* [color=darkblue]pSlider[/color] = [color=blue]static_cast[/color]<[color=blue]CSliderCtrl[/color]*>( [color=darkred]GetDlgItem[/color]( [color=purple]IDC_DEIN_SLIDER[/color] ) );
[color=blue]if[/color]( [color=darkblue]pScrollBar[/color] == [color=blue]reinterpret_cast[/color]<[color=blue]CScrollBar[/color]*>( [color=darkblue]pSlider[/color] ) ) {
[color=blue]int[/color] [color=darkblue]nRealPos[/color] = [color=darkblue]pSlider[/color]->[color=darkred]GetPos[/color]();
[color=blue]CString[/color] [color=darkblue]strPos[/color];
[color=darkblue]strPos[/color].[color=darkred]Format[/color]( "%d", [color=darkblue]nRealPos[/color] );
[color=darkred]SetDlgItemText[/color]( [color=purple]IDC_COLOR_STATIC[/color], [color=darkblue]strPos[/color] );
}
[color=blue]CDialog[/color]::[color=darkred]OnHScroll[/color]([color=darkblue]nSBCode[/color], [color=darkblue]nPos[/color], [color=darkblue]pScrollBar[/color]);
}[/CODE]

Wenn Du bereits eine Steuerelementvariable für den Slider hast, kannst Du Dir natürlich den Kram mit GetDlgItem sparen.

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden

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...