Ergebnis 1 bis 7 von 7

Thema: Mauszeiger / Parallel Processes (Delphi)

Baum-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1

    Mauszeiger / Parallel Processes (Delphi)

    Wie kann ich in einem Delphi-Programm eigene Mauszeiger verwenden? Ich brauche einen Stift- oder Pinselcursor. In welcher Größe und welchem Dateiformat muss ich das Bild des Cursors speichern, wenn ich ihn gezeichnet habe? Wie hol' ich das Ding in mein Projekt rein?

    Wie realisiere ich "Parallel Processes" (so heißen sie zumindest beim RPG-Maker 2000), also Methoden, die im Hintergrund schleifenartig ablaufen. Wie kann ich zum Beispiel erreichen, dass eine Prozedur jede Sekunde die aktuelle Systemzeit in eine Panel.Caption oder wohin auch immer schreibt, oder die Farbe eines Panels immer wieder von rgb(0,0,0) auf rgb(255,255,255) und zurück überblendet. Man soll das Programm nebenbei ganz normal weitersteuern können.
    Dieser Frage schließt sich natürlich auch die Frage an, wie man eine wait(ms)-Funktion programmiert, die es trotzdem erlaubt, dass man das Programm ganz normal weiter verwendet, wie oben bereits erwähnt. Ich hab's mit der sleep(ms)-Funktion versucht, aber die hält den gesamten Programmablauf an.
    Außerdem würde ich gerne wissen, wie ich erreiche, dass ein Formular nach jedem Schleifenablauf aktualisiert wird. Wenn ich zum Beispiel ein Panel um x Punkte verschieben und diese Verschiebung auch zeigen will, würde ich folgende Prozedur verwenden:
    Code:
    procedure PanelNachRechtsVerschieben(x: Integer);
    var i, neuePosition: Integer;
    begin
    neuePosition := Panel.Left + x;
    while (Panel.Left <> neuePosition) do
      begin
      if (Panel.Left < neue Positon) then Panel.Left := Panel.Left + 1
      else if (Panel.Left > neue Positon) then Panel.Left := Panel.Left - 1;
      sleep(10); // 0,01 Sekunden warten
      end;
    end;
    Wenn ich aber diesen Code verwenden würde, würde das Panel beim Bewegen eine Spur hinterlassen oder es würde erst nach einer Sekunde an seiner neuen Position angezeigt werden, ohne, dass es sich je dazwischen befunden hat. Wie erreiche ich also, dass das Formular in jedem Schleifenablauf aktualisiert wird, um das Panel alle 0,01 Sekunden auf seiner neuen Position anzeigen zu lassen?

    Ich hoffe, irgendwer kann mir helfen.

    Geändert von derBenny (04.12.2004 um 16:33 Uhr)

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •