AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Zeichnen

Ein Thema von delphi-projekt · begonnen am 5. Mär 2009 · letzter Beitrag vom 15. Mai 2009
Antwort Antwort
Seite 2 von 3     12 3      
delphi-projekt
(Gast)

n/a Beiträge
 
#11

Re: Zeichnen

  Alt 6. Mär 2009, 21:43
Vielen Dank
und ausgeben tu ich das über image oder?
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#12

Re: Zeichnen

  Alt 6. Mär 2009, 21:46
Besser eine TPaintBox. Und Zeichenoperationen nur in der Paint-Methode durchführen, da der Canvas sonst beim Redraw überschrieben wird
Markus Kinzler
  Mit Zitat antworten Zitat
delphi-projekt
(Gast)

n/a Beiträge
 
#13

Re: Zeichnen

  Alt 6. Mär 2009, 21:55
Ich hab das jetzt so geschrieben
image1.Canvas.Linieto(X+LinieHorizontal,Y+LinieVertikal); wie mach ich das mit einer Painbox?

und es ist noch folgender Fehler aufgetreten damit meint er die -5

[Fehler] uWinIOTest.pas(454): E1012 Konstantenausdruck verletzt untere Grenzen

MfG Delphi-Projekt

[edit=mkinzler]Delphi-Tag eingefügt Mfg, mkinzler[/edit]
  Mit Zitat antworten Zitat
delphi-projekt
(Gast)

n/a Beiträge
 
#14

Re: Zeichnen

  Alt 6. Mär 2009, 22:04
Ich hab euch mal meinen Quelltext reingestellt. Eine Sache ist noch wenn "W" gedrückt wird soll er eine Line nach oben malen. Wenn "A" gedrückt wird soll er eine Line nach links malen.Wenn "S" gedrückt wird soll er eine Line nach unten malen. Wenn "D" gedrückt wird soll er eine Line nach rechts malen. Und er soll nur solange die line malen bis ich von der Taste runter bin.

Delphi-Quellcode:
 if GetAsyncKeyState(ord('W'))<0
     then
       begin
         cbData1.checked:=false;
         cbStrobe.checked:=false;
         LinieHorizontal:=0;
         LinieVertikal:=-5;
       end
     else
       begin
         cbData1.checked:=true;

     end;

   if GetAsyncKeyState(ord('D'))<0
     then
       begin
         cbData5.checked:=false;
         cbStrobe.checked:=false;
         LinieHorizontal:=5;
         LinieVertikal:=0;
       end
     else
       begin
         cbData5.checked:=true;

     end;

        if GetAsyncKeyState(ord('A'))<0
     then
       begin
         cbData7.checked:=false;
         cbStrobe.checked:=false;
         LinieHorizontal:=-5;
         LinieVertikal:=0;
       end
     else
       begin
         cbData7.checked:=true;
     end;
     Paintbox1.Canvas.LineTo(X+LinieHorizontal,Y+LinieVertikal);

end;
[edit=mkinzler]Delphi-Tag eingefügt Mfg, mkinzler[/edit]
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#15

Re: Zeichnen

  Alt 6. Mär 2009, 22:05
Wie gesagt Zeichnen nur in der dafür zuständigen Methode
Markus Kinzler
  Mit Zitat antworten Zitat
delphi-projekt
(Gast)

n/a Beiträge
 
#16

Re: Zeichnen

  Alt 6. Mär 2009, 22:23
Wenn ich jetzt einen Timer erstelle. Und ich einen doppelclick auf den Timer mache.
Was schreib ich denn da in die Procedure rein?
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#17

Re: Zeichnen

  Alt 6. Mär 2009, 22:26
Den Code, den du jeweils bei Ablauf des Intervalls ausführen willst
Markus Kinzler
  Mit Zitat antworten Zitat
Noedel
(Gast)

n/a Beiträge
 
#18

Re: Zeichnen

  Alt 6. Mär 2009, 22:33
also die abfrage, welcher key grade aktuell ist und der code s.o.das wärs auch schon
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#19

Re: Zeichnen

  Alt 6. Mär 2009, 22:40
Die Berechnung der Position ja, das Zeichnen aber nicht.
Markus Kinzler
  Mit Zitat antworten Zitat
delphi-projekt
(Gast)

n/a Beiträge
 
#20

Re: Zeichnen

  Alt 6. Mär 2009, 22:59
Scheiße das klappt nicht so wie ich mir das vorstelle.
Geht das überhaupt, wenn ich "D" drücke das der dann langsam eine line zieht und wenn ich
von "D" los lasse das er dann automatisch aufhört die line zu zeichnen.

Ich hab echt keine Ahnung mehr wie ich weiter machen soll.

Muss ich so was wirklich in einem Timer machen?
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 3     12 3      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:46 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz