Einzelnen Beitrag anzeigen

Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.648 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: canvas.line markieren = dicker zeichnen wenn maus drüber

  Alt 9. Feb 2009, 00:39
Crossposts sollten angegeben werden, aber der Crosspost ist ja deshalb ohnehin schon geschlossen:
http://forum.delphi-treff.de/showthread.php?p=186283

Du zeichnest die Linie ja auch nie wieder dünn. Was du eigentlich machen müsstest ist doch prüfen, ob sich der Status (Maus drüber oder nicht) geändert hat, wenn die Maus bewegt wurde.

Stattdessen prüfst du zweimal die selbe Bedingung und nur in x-Richtung und zeichnest nur mit einer Dicke von 2 und nicht wieder mit 1.

Dann zu der Bedingung:
if ((pos.X -7)> (oldrand.left-5)) and ((pos.x-7)< (oldrand.Left+5)) then Ich forme mal um:
(pos.X -7)> (oldrand.left-5) // +7
(pos.X) > (oldrand.left-5) + 7
pos.X > oldrand.left + 2

(pos.x-7)< (oldrand.Left+5) // +7
pos.x < (oldrand.Left+5) + 7
pos.x < oldrand.Left + 12

Ist das so gedacht? Jedenfalls musst du die Linie auch wieder dünn zeichnen, wenn die Bedingung nicht erfüllt ist.
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat