Witam,

chcę rysować zegarek za pomocą GDI+. Dla kodu poniżej wyświetla się elipsa gdy ręcznie wpiszę szerokość i wysokość, ale jak chcę to uzależnić od wyboru w combo, to nic się nie wyświetla, a funkcja nie zwraca błędu. Gdzie zrobiłem błąd??

// IClock to TImage
// CBClockSize to TComboBox  - ma 7 elementow

IClock->Canvas->FillRect(TRect(0, 0, IClock->Width, IClock->Height));

Gdiplus::Graphics graph(IClock->Picture->Bitmap->Canvas->Handle);
Gdiplus::SolidBrush sb(Gdiplus::Color(255, 255, 0, 0));
Gdiplus::Rect rct;

rct.X = 0;
rct.Y = 30;

///////////////////////////////
// jak wymiary podaje na podstawie CBClockSize->ItemIndex to nie wyświetla nic
rct.Width = 200;//CBClockSize->ItemIndex * 20;
rct.Height = 100;//CBClockSize->ItemIndex * 20;
///////////////////////////////

if(graph.FillEllipse(&sb, rct) != Gdiplus::Ok){ // nie zwraca bledu
    // obsluga bledu
}

IClock->Invalidate();

A jak na poczatku dam:

int ktory = CBClockSize->ItemIndex;

a później

rct.Width = ktory * 20;

to działa :/

IDE - CG C++ Builder 2009