Hallo zusammen
Ich habe folgende Funktione aus einem Projekt aus MFC-Buch.
Nun habe ich eine Frage zu folgenden Zeilen:
In all diesen Programmzeilen will ich den alten Zustand des Pinsels oder Stiftes speichern .
Doch auf der rechten Seite der Zuweisung setze ich ja den neuen Pinsel/Stift. Wesshalb wird dann trotzdem der alte Pinsel/Stift in m_pBrushOld bzw. m_pPenOld gespeichert.
Der Zuweisungsoperator (=) wird doch in diesen Zeilen zuletzt ausgeführt.
Übrigens werden die Variablen m_pBrushOld und m_pPenOld in einer Funktion zum zurücksetzen der Gerätekontexts verwendet.
Ich danke euch schon im Voraus für eure Hilfe.
Gruss LukeS
Ich habe folgende Funktione aus einem Projekt aus MFC-Buch.
Code:
void CMyDrawView::SetPenBrush(CDC *pDC, bool bTransparent, UINT nColor)
{
ASSERT(pDC != NULL);
if(bTransparent)
{
// Figuren transparent darstellen
m_pBrushOld = (CBrush*)pDC->SelectStockObject(NULL_BRUSH);
}
else
{
m_pBrushOld = (CBrush*)pDC->SelectStockObject(WHITE_BRUSH);
}
ASSERT(m_pBrushOld != NULL);
// einen neuen Stift erstellen
ASSERT(nColor - ID_FARBE_SCHWARZ >= 0 &&
nColor - ID_FARBE_SCHWARZ <=
(sizeof(arColors) /sizeof(arColors[0])));
// Stiftobjekt auf dem Heap erstellen
m_pPenNew = new CPen();
// den GDI-Stift erstellen und mit dem Gerätekontext (DC) verknüpfen
m_pPenNew->CreatePen(PS_INSIDEFRAME, 0, arColors[nColor - ID_FARBE_SCHWARZ]);
m_pPenOld = (CPen*)pDC->SelectObject(m_pPenNew);
// Gerätekontext wird mit der Funktion ResetPenBrush wieder hergestellt
}
Nun habe ich eine Frage zu folgenden Zeilen:
Code:
m_pBrushOld = (CBrush*)pDC->SelectStockObject(NULL_BRUSH)
Code:
m_pBrushOld = (CBrush*)pDC->SelectStockObject(WHITE_BRUSH);
Code:
m_pPenOld = (CPen*)pDC->SelectObject(m_pPenNew);
In all diesen Programmzeilen will ich den alten Zustand des Pinsels oder Stiftes speichern .
Doch auf der rechten Seite der Zuweisung setze ich ja den neuen Pinsel/Stift. Wesshalb wird dann trotzdem der alte Pinsel/Stift in m_pBrushOld bzw. m_pPenOld gespeichert.
Der Zuweisungsoperator (=) wird doch in diesen Zeilen zuletzt ausgeführt.
Übrigens werden die Variablen m_pBrushOld und m_pPenOld in einer Funktion zum zurücksetzen der Gerätekontexts verwendet.
Ich danke euch schon im Voraus für eure Hilfe.
Gruss LukeS