Trackbar eines anderen Programmes bewegen



  • Hey,

    ich möchte in einem anderen Programm eine "msctls_trackbar32" ans Maximum bewegen. Das klappt soweit auch, ich schicke dem Control eine

    SendMessage(trackbar,TBM_SETPOS , (WPARAM) TRUE, (LPARAM) 100000)

    Message.

    Nun bewegt sich der slider auch wie er soll, aber die EditBox verändert sich natürlich nicht, die den Wert anzeigt. Ich weiß jetzt nicht wie ich, oder was ich, schicken muss, damit sich die Edit Box aktualisiert und den neuen Wert entsprechend der maximalen Slider Stellung anzeigt.

    Ich weiß es gibt eine TBM_SETPOSNOTIFY Message, aber die ist erst ab Windows 7 drin und ich brauch etwas, was auch mit XP funktioniert.

    Danke für die Hilfe



  • ok ich hab was funktionierendes. Ich sende jetzt diese 3 Messages:

    SendMessage(trackbar,TBM_SETPOS , (WPARAM) TRUE, (LPARAM) 100000);
    SendMessage(parentOfTrackbar,WM_HSCROLL, (WPARAM) MAKELONG(TB_THUMBTRACK, 1000000),0);
    SendMessage(parentOfTrackbar, WM_HSCROLL, (WPARAM) MAKELONG(TB_THUMBPOSITION, 1000000), 0);

    nun klappt es!

    Ist das irgendwie schlimm, wenn ich da als Parameter immer 100000 übergebe? Ich kenne ja das Maximum nicht und es funzt so wie es aussieht ...


  • Mod

    Und warum fragst Du den nicht ab mit TBM_GETRANGEMAX?


Anmelden zum Antworten