Einfach nur ein Kreis zeichnen

fujitsufan

Erfahrenes Mitglied
Hallo,

ich versuche einen Kreis auf einen Dialog zu zeichnen.
Der Innenbereich des Kreise soll mit einer auswählbaren Farbe dargestellt werden.

Mit einem Rechteck funktioniert dies prächtig.
C++:
DWORD bgColor = _config->getBackgroundColor();
 
HBRUSH backGroundBrush = CreateSolidBrush(bgColor);
HPEN pen = CreatePen(0, 1, bgColor);
 
RECT displaySize = _config->getDisplaySize();
 
SelectObject(dc, backGroundBrush);
SelectObject(dc, pen);
Rectangle(dc, 0, 0, displaySize.right, displaySize.bottom);

Circle gibt´s nicht oder finde ich nicht.
Muss ich eine Polygonzug herstellen?

C++:
PolyPolygon(__in HDC hdc,  __in CONST POINT *apt,  __in_ecount(csz) CONST INT *asz,  __in int csz);


Vielen Dank!
MfG.
fujitsufan
 
Hallo,

Um einen Kreis zu zeichnen, kannst du die Ellipse()-Funktion verwenden (Eine Ellipse, die gleich hoch wie breit ist, ist ein Kreis).

Lg
 
Hallo ibafluss,

Ok, hätte ich selber drauf kommen müssen.
Habe immer nach cirle() oder nach so was ähnlichem gesucht.

Noch was.
Kannst Du mir verraten ob man einem "Edit Control" entlocken kann
ob dieses aktuell den Focus enthält.
D.h. der enthaltene Text ist blau markiert.

Vielen Dank!
fujitsufan
 
Hallo sheel,
stimmt, das mit dem Focus.
Wenn aber der Inhalt im Steuerelement "Edit Control" markiert (blau) ist,
dann liegt doch der Focus auf diesem Steuerelement?!
Sehe ich das falsch?

Gruß fujitsufan
 
Hallo Cromon,

ich lese alle Steuerelemente nacheinander aus.
Alle geben das gleiche Handel "hDistance" zurück, macht keinen Sinn.
Damit ist es nicht möglich eine Entscheidung zu treffen,
zumal ich nach dem Start des Dialogs auf eine Testbutton geklickt habe und somit den Focus wegbewegt habe.

C++:
tmKeySwitchCtrls::iterator itKeySwitchCtrl;
 
    strcpy(this->cPosition, "");
 
    //Eingabefelder auslesen
    for (itKeySwitchCtrl = this->mKeySwitchCtrls.begin(); itKeySwitchCtrl != this->mKeySwitchCtrls.end(); itKeySwitchCtrl++)
    {
        if (IsVisible(itKeySwitchCtrl->second.idDistance))
        {
            hDistance = GetFocus();
            if (hDistance != NULL)
                GetDouble(itKeySwitchCtrl->second.idDistance, &dAbstand);
        }
    }

Gruß fujitsufan
 

Neue Beiträge

Zurück