Announcement

Collapse
No announcement yet.

FEHLER: Bild/Leinwand erlaubt kein Zeichnen

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • FEHLER: Bild/Leinwand erlaubt kein Zeichnen

    Weiß irgend jemand woher der Fehler stammen könnte. Ich hab einen einfachen Bildschirmschoner programmiert nur um das mal ausprobiert zu haben und ab und zu wenn der den Preview-Modus(der Modus bei dem die kleine Vorschau in der Systemsteuerung zu sehen ist) startet bzw. wenn er in dem Modus aufgerufen wird erscheint eben dieser Fehler. Aber nur manchmal. Was könnte das sein ? Ich hab das Handle von dem zweiten Parameter der von der Systemsteuerung übergeben wird. Der Fehler muss ja warscheinlich irgendwo in dem Bereich liegen in dem gezeichnet wird. Aber wo und vor allem warum ?

    Form1.create..
    begin
    parameter2:=paramstr(2); //Parameter für Handle
    hPrevWnd := StrToInt(Parameter2);
    PrevWndDC := GetDC(hPrevWnd);
    Canvas2.Handle := PrevWndDC;
    end;

    if Modus = 3 then //Modus für Vorschau
    begin
    for ZLl := 1 to 5 do
    begin
    SIZE := Random(3); // Zeichnet die Vorschau(vorerst nur Kreise)
    Canvas2.Pen.Color := Col[Random(10) + 1];
    X1 := Random(little_window_width - 4);
    Y1 := Random(little_window_height - 4);
    Canvas2.Ellipse(X1 - SIZE, Y1 - SIZE, X1 + SIZE, Y1 + SIZE);
    Application.ProcessMessages;
    end;
    if not IsWindowVisible(hPrevWnd) then
    Form1.Close;
    end;

    PS: Bin noch Anfänger in Delphi und wusste nicht genau wo diese Frage sonst hingehört hätte

  • #2
    Hallo,<p>schau dir mal den Artikel von Borland http://community.borland.com/article/0,1410,19534,00.html an, wie die das mit dem Vorschaufenster "Ordnungsgemäß" lösen

    Comment


    • #3
      Hi Elmar,

      danke erstmal für die Antwort und den Link, ich hab mir die Seite mal angeschaut und keine großen Unterschiede zu meinem Bildschirmschoner gefunden. Aber is ja auch egal weil ein Delphi-Kumpel den Fehler schon zu mindest teilweise behoben hat. Außerdem wollt ich mich noch entschuldigen dass ich nich sofort geantwortet hab, ich hatte kaum Gelegenheit in letzter Zeit(mach grad Abi und so).

      Also, bis denn, dann

      Comment


      • #4
        <pre>
        begin
        parameter2:=paramstr(2); //Parameter für Handle
        hPrevWnd := StrToInt(Parameter2); <br>

        if IsWindow(hPrevWnd) then
        begin
        PrevWndDC := GetDC(hPrevWnd);
        if PrevWndDC <> 0 then
        begin
        Canvas2.Handle := PrevWndDC;
        ...
        end;
        end;
        end;

        </pre>

        Gruß Hage

        Comment


        • #5
          Wenn der Spot läuft erscheint im Hintergrund der Desktop im Kreis. Kann man auch irgendetwas anderes in diesen Kreis zaubern? Frage Wie
          Gruss ph

          Comment

          Working...
          X