<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Nächstgelegenes Objekt zum Mauszeiger auswählen und farbig markieren]]></title><description><![CDATA[<p>hi leute,<br />
ich muss in c++ ein zeichenprogramm schreiben und bis sonntag fertig haben. habe es soweit auch fertig, leider klappt eine funktion nicht, welche bei gedrückter Maustaste das nächstgelene Objekt zum Mauszeiger auswählt und farbig hervorhebt. Die Berechnung der Entfernungen klappt auch soweit, die Distanz zwischen Mausposition und Objekt(mittelpunkt) wird korrekt ausgegeben. was ich aber leider nicht hinbekomme ich, dann das entsprechende Objekt auch auzuwählen...<br />
hier der code:</p>
<pre><code class="language-cpp">for (zaehler=0; zaehler&lt;objektanzahl; zaehler ++)
{
    objekt *objekt=dokument()-&gt;holeobjekt(zaehler);
    //bestimmung der position
    rect.TopLeft()=objekt-&gt;point_tl;
    rect.BottomRight()=objekt-&gt;point_br;
    point=rect.CenterPoint();
    //bestimmung der entfernung zw. mausposition und point
    a=mauspos.x-point.x;
    b=mauspos.y-point.y;
    c[zaehler]=((a²+b²)^1/2);

    //soweit klappt alles, aber ich kriege es nicht hin, dann das objekt
    //welches am nächsten ist auszuwählen und farbig darzustellen

    while (c[zaehler+1]&lt;c[zaehler])//hier steckt wohl der wurm drin :)
    {
          //*objekt an dieser stelle auswählen
          //das klappt irgendwie nicht richtig
          objekt=dokument()-&gt;holeobjekt(zaehler+1);
          rect.TopLeft()=objekt-&gt;point.tl;
          rect.BottomRight()=objekt-&gt;point.br;
          //und farbig darstellen...
    }
}
</code></pre>
<p>wahrscheinlich müsste vor</p>
<pre><code class="language-cpp">while
</code></pre>
<p>noch eine schleife mit eingebaut werden, aber ich komme nicht drauf, irgendwie hab ich da voll das brett vorm kopf.<br />
hat jemand eine idee? wäre echt super...<br />
danke!</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/195035/nächstgelegenes-objekt-zum-mauszeiger-auswählen-und-farbig-markieren</link><generator>RSS for Node</generator><lastBuildDate>Thu, 09 Apr 2026 21:59:16 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/195035.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 13 Oct 2007 02:08:35 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Nächstgelegenes Objekt zum Mauszeiger auswählen und farbig markieren on Sat, 13 Oct 2007 02:08:35 GMT]]></title><description><![CDATA[<p>hi leute,<br />
ich muss in c++ ein zeichenprogramm schreiben und bis sonntag fertig haben. habe es soweit auch fertig, leider klappt eine funktion nicht, welche bei gedrückter Maustaste das nächstgelene Objekt zum Mauszeiger auswählt und farbig hervorhebt. Die Berechnung der Entfernungen klappt auch soweit, die Distanz zwischen Mausposition und Objekt(mittelpunkt) wird korrekt ausgegeben. was ich aber leider nicht hinbekomme ich, dann das entsprechende Objekt auch auzuwählen...<br />
hier der code:</p>
<pre><code class="language-cpp">for (zaehler=0; zaehler&lt;objektanzahl; zaehler ++)
{
    objekt *objekt=dokument()-&gt;holeobjekt(zaehler);
    //bestimmung der position
    rect.TopLeft()=objekt-&gt;point_tl;
    rect.BottomRight()=objekt-&gt;point_br;
    point=rect.CenterPoint();
    //bestimmung der entfernung zw. mausposition und point
    a=mauspos.x-point.x;
    b=mauspos.y-point.y;
    c[zaehler]=((a²+b²)^1/2);

    //soweit klappt alles, aber ich kriege es nicht hin, dann das objekt
    //welches am nächsten ist auszuwählen und farbig darzustellen

    while (c[zaehler+1]&lt;c[zaehler])//hier steckt wohl der wurm drin :)
    {
          //*objekt an dieser stelle auswählen
          //das klappt irgendwie nicht richtig
          objekt=dokument()-&gt;holeobjekt(zaehler+1);
          rect.TopLeft()=objekt-&gt;point.tl;
          rect.BottomRight()=objekt-&gt;point.br;
          //und farbig darstellen...
    }
}
</code></pre>
<p>wahrscheinlich müsste vor</p>
<pre><code class="language-cpp">while
</code></pre>
<p>noch eine schleife mit eingebaut werden, aber ich komme nicht drauf, irgendwie hab ich da voll das brett vorm kopf.<br />
hat jemand eine idee? wäre echt super...<br />
danke!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1384223</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1384223</guid><dc:creator><![CDATA[etwas verzweifelt]]></dc:creator><pubDate>Sat, 13 Oct 2007 02:08:35 GMT</pubDate></item><item><title><![CDATA[Reply to Nächstgelegenes Objekt zum Mauszeiger auswählen und farbig markieren on Sat, 13 Oct 2007 12:07:14 GMT]]></title><description><![CDATA[<p>Nimm eine Variable in der Du den &quot;Best Match&quot; inkl. der bisherigen minimalen Entfernung speicherst (am Anfang einfach das erste). Laufe über alle Objekte. Wenn Du ein besseres Objekt als das bisherige findest dann merke Dir eben das...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1384361</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1384361</guid><dc:creator><![CDATA[Martin Richter]]></dc:creator><pubDate>Sat, 13 Oct 2007 12:07:14 GMT</pubDate></item><item><title><![CDATA[Reply to Nächstgelegenes Objekt zum Mauszeiger auswählen und farbig markieren on Sat, 13 Oct 2007 13:18:03 GMT]]></title><description><![CDATA[<p>Hallo etwas verzweifelt!<br />
ich bin noch etwas mehr verzweifelt! Nichtmals die 2 hab ich bisher geschafft. Könntest du mir ein paar Tipps geben? Das würde mir sehr helfen. Hier meine eMail Adresse: <a href="mailto:Salatblatt85@yahoo.de" rel="nofollow">Salatblatt85@yahoo.de</a><br />
Ich würde mich sehr darüber freuen, schonmal Danke!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1384396</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1384396</guid><dc:creator><![CDATA[etwas mehr verzweifelt]]></dc:creator><pubDate>Sat, 13 Oct 2007 13:18:03 GMT</pubDate></item><item><title><![CDATA[Reply to Nächstgelegenes Objekt zum Mauszeiger auswählen und farbig markieren on Sat, 13 Oct 2007 14:27:40 GMT]]></title><description><![CDATA[<p>Ich habe Dir alles geschrieben was zu schreiben ist!<br />
Ich bin nicht dafür da Hausaufgaben zu machen, oder möchtest Du mich bezahlen?</p>
<pre><code>BestElement auf NULL setzen
BesteEntfernung auf sehr Großen (bzw. unmöglichen Wert) setzen
Laufe über alle Objekte
   Errechne Distanz
   Wenn Neue Distanz &lt; als bisher Bester Treffer oder noch nichts da ist (BestElement ist NULL)
     Merke Dir neues Bestes Element und neue Distanz
</code></pre>
<p>Thats it.<br />
Der Rest sollte doch wohl ein Kinderspiel sein <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f576.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--sunglasses"
      title=":sunglasses:"
      alt="🕶"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1384437</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1384437</guid><dc:creator><![CDATA[Martin Richter]]></dc:creator><pubDate>Sat, 13 Oct 2007 14:27:40 GMT</pubDate></item><item><title><![CDATA[Reply to Nächstgelegenes Objekt zum Mauszeiger auswählen und farbig markieren on Sat, 13 Oct 2007 15:12:03 GMT]]></title><description><![CDATA[<p>Hi Martin,</p>
<p>danke für die Antwort(en).</p>
<p>@&quot;etwas mehr verzweifelt&quot;:<br />
Ich denke die erste und erst recht die zweite Antwort von Martin sollten ausreichen. Da hat er schon recht, der Rest sollte ein Kinderspiel sein.<br />
Habe es zwar auch noch nicht hinbekommen, aber ist ja noch zeit bis morgen...<br />
Ich habe auch noch nicht die anderen Lösungen so wie sie laut Aufgabenstellung zu erledigen sind, wollte erstmal diese Funktion hinkriegen.</p>
<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/35992">@Martin</a>:<br />
ich hatte nicht vor, hier zu posten, damit jemand anderes meine Hausaufgaben macht. Ich wollte nur ein Hinweis von Leuten, die sich in der Materie besser auskennen als ich. Und ich bin nicht der User &quot;etwas mehr verzweifelt&quot;!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1384459</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1384459</guid><dc:creator><![CDATA[etwas verzweifelt]]></dc:creator><pubDate>Sat, 13 Oct 2007 15:12:03 GMT</pubDate></item></channel></rss>