Bereich in einem Formular automatisch scrollen



  • Hallo,
    Ich bin neu in diesem Forum und möchte erst mal alle begrüßen!
    Ich habe bisher mit Visual C++ 6 programmiert und fange jetzt an auf Visual Studio 2008 (C++) umzustellen. Also die meisten Dinge gehen ja wirklich einfacher und komfortabler. Aber jetzt mein Problem.
    Ich möchte einen Ausschnitt in einem Formular kontinuierlich horizontal scrollen. In VC++ 6 war das ganz einfach (Timer ruft periodisch ScrollDC auf).
    In Visual Studio 2008 finde ich einfach keine entsprechende Funktion. Und im Netz aller Netzte scheint keiner dieses Problem zu haben. Den Bereich bearbeite ich übrigens mit double buffering um das Flackern wegzukriegen. Das funktioniert sehr gut.
    Ich hoffe jetzt, daß mir einer helfen kann.

    Gruß
    Heizer



  • Dieser Thread wurde von Moderator/in rapso aus dem Forum Spiele-/Grafikprogrammierung in das Forum WinAPI verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.



  • Hallo,

    Heizer schrieb:

    [...](Timer ruft periodisch ScrollDC auf).In Visual Studio 2008 finde ich einfach keine entsprechende Funktion[...]

    ScrollDC kann man auch unter Visual Studio 2008 aufrufen, und Timer kann man auch erstellen, kurz und gut, ich verstehe das Problem nicht... Oder hast du überhaupt keine WinAPI-Anwendung? 😕

    MfG,

    Probe-Nutzer



  • Hallo Probe-Nutzer,
    Also Timer ist natürlich einfach und sollte nur erklären wie ich's machen will.
    ScrollDC aber ist MFC und die gibt es bei VC++ 2008 Express Edition nicht, das ist nämlich .NET!
    Da aber in .NET eigendlich alles genauso gut wie in MFC programmiert werden kann (ich habs ausprobiert) hatte ich gehofft das auch das geht. Aber ich kann einfach keine vergleichbare Funktion finden.
    Nochmal genau: Ich will einen recheckigen Bereich in einem Graphics Context um
    1 Pixel horizontal verschieben.
    Das ist eigetlich ein typisches Grafik Problem. Aber aus dem Grafikbereich wurde ich hierher verbannt. Weis nicht ob ich hier richtig bin?

    vielen Dank für Deine Mühe.
    Heizer


  • Mod

    Das ist doch Quatsch. ScrollDC ist eine normale WinAPI Funktion und gehört nicht nur zur MFC:
    http://msdn.microsoft.com/en-us/library/bb787589(VS.85).aspx



  • Heizer schrieb:

    Da aber in .NET eigendlich alles genauso gut wie in MFC programmiert werden kann (ich habs ausprobiert) hatte ich gehofft das auch das geht.

    Ok, aus diesem Satz schliesse ich, dass du dein Programm auf die Verwendung des .NET-Frameworks umstellen willst, dann wäre hier aber wieder nicht das geeignete Forum, das wäre dann eher C++/CLI, aber das nur nebenbei.

    Heizer schrieb:

    Aber ich kann einfach keine vergleichbare Funktion finden.

    ScrollDC ist dann in der Tat eine der Funktionen, für die es meines Wissens nach unter .NET kein Äquivalent gibt. Ich glaube, wenn du den Aufwand hier gering halten willst, dass du diese Funktion unter Verwendung von PInvoke aufrufen solltest. Mit dieser "Technik" kann man immer auch auf Funktionen zurückgreifen, die in keiner der Klassen des .NET-Frameworks zu finden sind. Insofern haben Martin und ich schon recht, nur der Aufruf muss dann besonders vorbereitet werden. Näheres zu PInvoke hier:

    http://msdn.microsoft.com/en-us/library/ms235282.aspx

    MfG,

    Probe-Nutzer



  • Vielen Dank an den Probe-Nutzer
    Dieser Vorschlag klingt sehr vielversprechend.

    Der Martin Richter scheint aber nicht viel von Leuten zu halten die noch nicht alles wissen. Ich werde keine weitere dumme Frage stellen!
    Es ist wohl ein Forum für Insider.

    MfG
    Heizer


  • Mod

    Selbst unter VC2008 EE bist Du nicht gezwungen .NET zu verwenden.


Anmelden zum Antworten