Scrollareagadget mit WinApi ???

Windowsspezifisches Forum , API ,..
Beiträge, die plattformübergreifend sind, gehören ins 'Allgemein'-Forum.
Graffiti
Beiträge: 173
Registriert: 30.08.2004 08:34
Wohnort: Thailand

Scrollareagadget mit WinApi ???

Beitrag von Graffiti »

Habe immer noch mein altes Problem aber vielleicht gehts mit API:

Wie erstelle ich ein Scrollareagadget mit WinApi das dann auch Events zurückgibt, ohne das der Programmablauf von PB beim festhalten des Scrollbalkens mit der Maus angehalten wird.

beim PB-Scrollareagadget wird nämlich der Programmablauf für diese Zeit angehalten

oder funktioniert das allgemein nicht ???

Bitte postet mir einen Code da ich mit der Umsetzung von VB auf PB noch nicht ganz so klarkomme

gruß Graffiti
Benutzeravatar
freedimension
Admin
Beiträge: 1987
Registriert: 08.09.2004 13:19
Wohnort: Ludwigsburg
Kontaktdaten:

Re: Scrollareagadget mit WinApi ???

Beitrag von freedimension »

Graffiti hat geschrieben:Bitte postet mir einen Code da ich mit der Umsetzung von VB auf PB noch nicht ganz so klarkomme
Bitte poste uns einen Code damit wir nachvollziehen können wo genau das Problem liegt - es könnte ja durchaus auch sein dass du einen Fehler in deinem Code gemacht hast ;-)
Beginne jeden Tag als ob es Absicht wäre!
Bild
BILDblog
Graffiti
Beiträge: 173
Registriert: 30.08.2004 08:34
Wohnort: Thailand

Beitrag von Graffiti »

in meinem Code ist kein Fehler und außerdem 100 km lang
eine kurzversion gibts da leider nicht

aber

bastel dir ein Scrollareagadget und lass per mciplayer ein musikstück laufen und per debug mußt du die Zeit beobachten.

wenn du nun auf den scrollbalken klickst und hältst bleibt die Zeit stehen, wenn du losläßt läuft die Zeit weiter, der Programmablauf von PB pausiert quasi

In diesem Zeitraum frage ich die Zeitab und möchte den Comport ansteuern aber da die Zeit / Programm pausiert geht natürlich nichts.
Benutzeravatar
Danilo
-= Anfänger =-
Beiträge: 2284
Registriert: 29.08.2004 03:07

Re: Scrollareagadget mit WinApi ???

Beitrag von Danilo »

Graffiti hat geschrieben:beim PB-Scrollareagadget wird nämlich der Programmablauf für diese Zeit angehalten

oder funktioniert das allgemein nicht ???
Beim scrollen werden Nachrichten mit höchster Priorität verwendet,
die *nicht* durch die normale Event-Queue gehen.
Windows ruft hier direkt den zuständigen Callback auf, so wie
auch beim resize mit WM_SIZE.
Das funktioniert in Windows so, da diese Nachrichten schnellst-
möglich verarbeitet werden sollen, so daß scrollen und resize
nicht gestört werden. Diese Dinge sollen ja quasi in Echtzeit
funktionieren, und nicht immer etwas anderes dazwischenfunken.

Eine Möglichkeit wäre evtl. Deine kleinstmögliche (und schnelle)
Funktion zum Updaten in den Callback zu integrieren.
Wenn Du etwas unabhängig vom MainLoop updaten willst (z.B.
ein Display 1 x pro Sekunde), dann nimmst Du aber am besten
einen unabhängigen Thread.
cya,
...Danilo
"Ein Genie besteht zu 10% aus Inspiration und zu 90% aus Transpiration" - Max Planck
Graffiti
Beiträge: 173
Registriert: 30.08.2004 08:34
Wohnort: Thailand

Beitrag von Graffiti »

@ Danilo

habs verstanden wenn das scrollen nicht höchste Priorität bekommt hakts in der "Verarbeitung".

ich werde jetzt im Programmablauf die Zeiten vergleichen und in einer dementsprechenden Pause automatisch scrollen und das scrollareagadget
deaktivieren dann kann es keine Programmaussetzer mehr geben.
mit den Threads ist mir das zu gefährlich, weil ich auch ans Programm Rückmeldungen geben muß und ich keine Abstürze gebrauchen kann

Danke
Antworten