<?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[Frage zu DrawLine]]></title><description><![CDATA[<p>hallo,</p>
<p>als ich heute die DrawLine Funktionen verwenden wollte, musste ich feststellen das Winapi diese anscheind nicht kennt.Ich wollte folgendes Problem lösen. Jeder kennt sicherlich die &quot;SEPARATOR&quot; wenn man ein Menü erzeugt und ich wollte genau sowas direkt in mein Fenster einbauen, um eine Visuelle Trennung zu erzeugen.Jedoch klappt das nicht, kann mir einer weiterhelfen was ich verwenden könnte?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/201270/frage-zu-drawline</link><generator>RSS for Node</generator><lastBuildDate>Tue, 28 Apr 2026 06:55:02 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/201270.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 27 Dec 2007 12:25:59 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Frage zu DrawLine on Thu, 27 Dec 2007 12:25:59 GMT]]></title><description><![CDATA[<p>hallo,</p>
<p>als ich heute die DrawLine Funktionen verwenden wollte, musste ich feststellen das Winapi diese anscheind nicht kennt.Ich wollte folgendes Problem lösen. Jeder kennt sicherlich die &quot;SEPARATOR&quot; wenn man ein Menü erzeugt und ich wollte genau sowas direkt in mein Fenster einbauen, um eine Visuelle Trennung zu erzeugen.Jedoch klappt das nicht, kann mir einer weiterhelfen was ich verwenden könnte?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1426763</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1426763</guid><dc:creator><![CDATA[Firefighter]]></dc:creator><pubDate>Thu, 27 Dec 2007 12:25:59 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu DrawLine on Thu, 27 Dec 2007 12:37:36 GMT]]></title><description><![CDATA[<p>du kannst in nem fenster zeichnen indem du mit<br />
&quot;MoveTo&quot; den stift zu einer koordinate bewegst und von dort aus mit<br />
&quot;LineTo&quot; nach der ziel koordinate bewegst</p>
<p>also eine line von 10, 10 nach 10, 20 ist<br />
dc.MoveTo(10, 10);<br />
dc.LineTo(10, 20);</p>
<p>kapsels am besten in eine funktion wenn dus oefters brauchst</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1426765</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1426765</guid><dc:creator><![CDATA[EXDW]]></dc:creator><pubDate>Thu, 27 Dec 2007 12:37:36 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu DrawLine on Thu, 27 Dec 2007 12:40:38 GMT]]></title><description><![CDATA[<p>ok alles klar und was ist in deinem falle das dc? und die kann ich einfach so aufrufen oder muss ich da vorher etwas besonderes erstellen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1426769</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1426769</guid><dc:creator><![CDATA[Firefighter]]></dc:creator><pubDate>Thu, 27 Dec 2007 12:40:38 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu DrawLine on Thu, 27 Dec 2007 12:43:46 GMT]]></title><description><![CDATA[<p>? DrawLine? Sollte eigtl. bei Forms-Anwendungen aufzufinden sein. Und wenn du GDI+ nutzt. Ansonsten solltest du dich mich sowas begnügen:</p>
<pre><code class="language-cpp">void draw_line(::HDC&amp; hDC, int x1, int y1, int x2, int y2, ::HPEN const&amp; hPen)
{
    ::HGDIOBJ hOldPen(::SelectObject(hDC, hPen)); // pen auswählen
    ::POINT old_pos;
    ::MoveToEx(hDC, x1, y1, &amp;old_pos); // zu P(x1, y1) bewegen und alte pos sichern
    ::LineTo(hDC, x2, y2); // linie von P(x1, y1) zu P(x2, y2) ziehen
    ::MoveToEx(hDC, old_pos.x, old_pos.y, NULL); // gesicherte pos wiederherstellen
    ::SelectObject(hDC, hOldPen); // alten pen wieder auswählen
}
</code></pre>
<p>...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1426771</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1426771</guid><dc:creator><![CDATA[*D*Evil]]></dc:creator><pubDate>Thu, 27 Dec 2007 12:43:46 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu DrawLine on Thu, 27 Dec 2007 12:48:42 GMT]]></title><description><![CDATA[<p>@(D)Evil öhmm sorry, aber da blick ich nich so ganz durch, kann man da nich ein einfaches beispiel anbringen wo man die Funktion in aktion sieht, wenn ich bei mir im Programm Draw eingebe und dann die autovervollständigung dann zeigt er mir das DrawLine nicht an.Ich weiß nich, ich benutze Code::Blocks und kann dort ja wenn ich ein Win32GUI Projekt auswähle, entweder &quot;Frame Based&quot; oder &quot;Dialog Based&quot; auswählen, ich habe Dialog Based genommen, vieleicht hängt es damit zusammen. Nur kenne ich auch den Unterschied zwischen den beiden Möglichkeiten nicht, vieleicht kann mir da einer helfen, bin auf jedenfall schonmal Dankbar dafür. :xmas1:</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1426774</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1426774</guid><dc:creator><![CDATA[Firefighter]]></dc:creator><pubDate>Thu, 27 Dec 2007 12:48:42 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu DrawLine on Thu, 27 Dec 2007 12:56:39 GMT]]></title><description><![CDATA[<p>Meint er möglicherweise ein SplitWindow?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1426779</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1426779</guid><dc:creator><![CDATA[Elektronix]]></dc:creator><pubDate>Thu, 27 Dec 2007 12:56:39 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu DrawLine on Thu, 27 Dec 2007 12:57:54 GMT]]></title><description><![CDATA[<p>hier mal die paint struktur der WinApi, muesste auch auf nen dialog oder frame funktionieren</p>
<pre><code class="language-cpp">/*...*/

// zeichnen vorbereiten
PAINTSTRUCT ps;
HDC hDC = BeginPaint(m_MainWindow, &amp;ps); //m_MainWindow ist das handle des fensters wo gezeichnet werden soll

// linie zeichnen
PaintLine(&amp;hDC, 10, 10, 10, 20);

// zeichnen fertig
EndPaint(m_MainWindow, &amp;ps);

/*...*/

void PaintLine(HDC* hDC, int XFrom, int YFrom, int XTo, int YTo)
{
    // stift auswaehlen mit style und farbe sowie dicke
    HPEN hPen = ::CreatePen(0, 1, RGB(0, 0, 0));
    ::SelectObject(*hDC, hPen);
    // zu position bewegen
    MoveToEx(*hDC, XFrom, YFrom, NULL);
    // von dort aus zeichnen bis
    LineTo(*hDC, XTo, YTo);
    // stift loeschen
    ::DeleteObject(hPen);
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1426781</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1426781</guid><dc:creator><![CDATA[EXDW]]></dc:creator><pubDate>Thu, 27 Dec 2007 12:57:54 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu DrawLine on Thu, 27 Dec 2007 13:06:13 GMT]]></title><description><![CDATA[<p>ach das is doch mist, ich hab die funktion von dir in eine .h gepackt, hab sie mti eingebunden, jedoch sagt er zu mir &quot;multiple definition of PaintLine(HDC__*,int,int,int,int);&quot; was soll mir dsa sagen? warum wird denn eigentlich nich so eine funktion vorgegeben?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1426784</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1426784</guid><dc:creator><![CDATA[Firefighter]]></dc:creator><pubDate>Thu, 27 Dec 2007 13:06:13 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu DrawLine on Thu, 27 Dec 2007 13:11:55 GMT]]></title><description><![CDATA[<p>das gehoert ja auch ne in eine header file {o;<br />
da du an verschiedenen stellen die header benutzt, wird versucht die selbe funktion mehrmals bekannt zu machen, und das geht nunmal nicht</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1426788</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1426788</guid><dc:creator><![CDATA[EXDW]]></dc:creator><pubDate>Thu, 27 Dec 2007 13:11:55 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu DrawLine on Thu, 27 Dec 2007 13:17:28 GMT]]></title><description><![CDATA[<p>ok alles klar, so geht es, aber eigentlich war das doch nicht die lösung meines problem. Nochmal. Ihr wisst ja wenn man eine Resource datei für ein Menü erstellen möchte kann man auch sagen</p>
<p>&quot;MENUITEM SEPARATOR&quot; so dann erscheint im Menü so ein Trennstrich. Und genau so einen Trennstrich würde ich gerne in meinem Hauptfenster haben, ist denn sowas möglich?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1426790</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1426790</guid><dc:creator><![CDATA[Firefighter]]></dc:creator><pubDate>Thu, 27 Dec 2007 13:17:28 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu DrawLine on Thu, 27 Dec 2007 13:32:29 GMT]]></title><description><![CDATA[<p>wie waer es wenn du nen picture control nimmst und es auf 1 pixel hoehe stellst #gg<br />
oder du nimmst ne groupbox ?<br />
was du meinst ist sicher n splitter, das man beide ansichten auch separat scrollen kann ?<br />
das kann man auch fixieren das man es nicht verschieben kann, das ist aber overhead fuer eine rein optische trennung<br />
im menue ist auch nichts anderes gemacht nur das der resourcen compileer dort eine linie zeichnet</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1426797</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1426797</guid><dc:creator><![CDATA[EXDW]]></dc:creator><pubDate>Thu, 27 Dec 2007 13:32:29 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu DrawLine on Thu, 27 Dec 2007 13:34:06 GMT]]></title><description><![CDATA[<p>asso...naja und ich dachte man kann genau so eine linie in meinem fenster erzeugen, nee ich benutze keine groupbox, nagut wenn das nicht geht, dann muss ich es wohl erstmal sein lassen, danke trotzdem für die ratschläge</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1426798</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1426798</guid><dc:creator><![CDATA[Firefighter]]></dc:creator><pubDate>Thu, 27 Dec 2007 13:34:06 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu DrawLine on Thu, 27 Dec 2007 13:54:51 GMT]]></title><description><![CDATA[<p>@Mr.Evil: Beachte, dass du die Position wieder zurücksetzen musst (in deiner Funktion PaintLine)</p>
<pre><code class="language-cpp">void DrawLine(HDC hDC, int x1, int y1, int x2, int y2, HPEN hPen)
{
    HGDIOBJ hOldPen = SelectObject(hDC, hPen); // pen auswählen
    POINT old_pos;
    MoveToEx(hDC, x1, y1, &amp;old_pos); // zu P(x1, y1) bewegen und alte pos sichern
    LineTo(hDC, x2, y2); // linie von P(x1, y1) zu P(x2, y2) ziehen
    MoveToEx(hDC, old_pos.x, old_pos.y, NULL); // gesicherte pos wiederherstellen
    SelectObject(hDC, hOldPen); // alten pen wieder auswählen
}
</code></pre>
<p>so sieht meine Funktion ... ehm ... etwas mehr C aus <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1426805</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1426805</guid><dc:creator><![CDATA[*D*Evil]]></dc:creator><pubDate>Thu, 27 Dec 2007 13:54:51 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu DrawLine on Thu, 27 Dec 2007 13:57:46 GMT]]></title><description><![CDATA[<p>&quot;genauso eine linie&quot; hast du doch wenn du selber eine zeichnest wie hier vorgestellt ?! - was anderes ist doch im menue auch nicht</p>
<p>// edit<br />
warum position zuruecksetzen ? da man immer wenn man irgendwo was schreib und zeichnet eh zu beginn immer an die stelle springt</p>
<p>ich hatte damals als ich mehr machte schreib, zeichen aktionen usw immer in funktionen gekapselt die style, dicke, farbe usw annimmt, am anfang wird der pen immer gesetzt und zu der position gesprungen</p>
<p>wozu also zurueck setzen wenn man eh immer zu beginn hin springt {o;</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1426806</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1426806</guid><dc:creator><![CDATA[EXDW]]></dc:creator><pubDate>Thu, 27 Dec 2007 13:57:46 GMT</pubDate></item></channel></rss>