TJPEGImage * BG, *rl, *gl;
Graphics::TBitmap *trBitmap = new Graphics::TBitmap();
trBitmap->Canvas->Font->Name = "Arial";
trBitmap->Canvas->Font->Style = TFontStyles() << fsBold;
TSize trText = trBitmap->Canvas->TextExtent(ListBox1->Items->Strings[Index]);
trBitmap->Width = trText.cx+1;
trBitmap->Height = trText.cy+1;
trBitmap->Canvas->TextOut(1,1,ListBox1->Items->Strings[Index]);
trBitmap->Transparent = true;
trBitmap->TransparentColor = trBitmap->Canvas->Pixels[0][0];
trBitmap->TransparentMode = tmAuto;
BG = new TJPEGImage();
rl = new TJPEGImage();
gl = new TJPEGImage();
BG->LoadFromFile(ExtractFileDir(Application->ExeName)+ "\\res\\main_bg.jpg");
rl->LoadFromFile(ExtractFileDir(Application->ExeName)+ "\\res\\red_lamp.jpg");
gl->LoadFromFile(ExtractFileDir(Application->ExeName)+ "\\res\\green_lamp.jpg");
ListBox1->Canvas->Draw(Rect.Left,Rect.Top,BG);
ListBox1->Canvas->Draw(Rect.Left+5,Rect.Top+2,ptBitmap);
ListBox1->Canvas->Draw(Rect.Right-25,Rect.Top+9.5,gl);
Посоветуйте компонент
Посоветуйте компонент на котором можно подобное реализовать. Интересует именно отрисовка и надписи. Количество вхождений неизвестно. Что то в духе ListBox.
подумал... и сделал на основе ListBox`а. Тему можно закрыть.
А можно посмотреть на ваше решение? Может быть тоже кому-нибудь понадобится..
Цитата: Valiant
подумал... и сделал на основе ListBox`а. Тему можно закрыть.
А я бы сделал наследыша на TScrollBox'е.
Впрочем, присоединяюсь к предыдущему высказавшемуся: тут принято решение предъявлять.
Код:
Осталось всё это привести в человеческий вид и сделать сглаживание шрифтов. =)