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