Zeichenfarbe ist falsch
-
Hilfe! Wer kann helfen?
Ich habe folgenden Code:if((blau == true) && (rot == false))
{CPen lSolidPenBlau(PS_SOLID,2,RGB(0, 0, 255));
pDC->SelectObject(&lSolidPenBlau);
}if((rot == true) && (blau == false))
{CPen lSolidPenRot(PS_SOLID,2,RGB(255, 0, 0));
pDC->SelectObject(&lSolidPenRot);
}Es trifft auch immer eine Auswahl zu. Trotzdem bekomme ich nur eine schwarze Linie mit Breite 1.
Schreibe ich aber nur, dass immer eine rote oder immer eine blaue Linie gezeichnet werden soll, dann funktioniert das. Kann mir das jemand erklären?
-
Hi,
probiers mal mit debuggen und den Fehler selber
herausfinden...
Außerdem kann ich mir unter den Variablen rot und blau nicht viel
vorstellen, außer, dass es boolsche Variablen sind,
die vielleicht mit zwei Checkboxen verknüpft sind
(was bei diesem Code idiotisch wäre).
Oder poste mal mehr Code...mfg TakeItEasy!
-
Rot und blau sind bool. Ich lese über serielle Schnittstelle von einer Steuerung Temperaturwerte aus. Wenn Temperatur steigt, soll die Kurve rot sein und sonst blau.
Ansonsten zeichne ich dann die Kurve mit MoveTo(altx,alty) und LineTo(x,y).
Debuggt habe ich schon. Die Anweisungen werden zwar durchlaufen aber es passiert nichts.Zum Schluß rufe ich OnPaint auf.
-
Theoretisch hast du doch nur 2 fälle:
Temperatur steigt,
Temperatur fällt.
Reicht somit ein Boolscher wert aus...Devil
-
if((blau == true) && (rot == false)) { CPen lSolidPenBlau(PS_SOLID,2,RGB(0, 0, 255)); pDC->SelectObject(&lSolidPenBlau); }
Du legst eine Instanz von CPen auf dem Stack an. Nach dem Durchgang des Blocks (nach der schließenden geschweiften Klammer) ist das Objekt wieder weg. Benutze new, und es wird klappen.