读书人

一个Form界面4480个Label?该怎么解

发布时间: 2013-10-18 20:53:13 作者: rapoo

一个Form界面,4480个Label?!!!!

要实现一个点的5X7的矩阵,共128个,合计4480个!!!如何设计?或者采用什么控件实现?求大牛指点,每一个点阵的样子如下所示。本人用的C++ Builder环境。                                                                            
[解决办法]
不要用这么多组件。自己绘制在画布,最简单。
[解决办法]
自绘就是利用DrawGrid的DrawCell时间来显示图形或文字

如你的情况,你准备好0~9的10个图片,通过ImageList控件载入,之后类似如下的代码:

Graphics::TBitmap* Bitmap;
void __fastcall TForm1::DrawGrid1DrawCell(TObject *Sender, int ACol, int ARow, TRect &Rect,
TGridDrawState State)
{
TDrawGrid *sg = (TDrawGrid *)Sender;
if(ARow == 3 && ACol == 3){//指定单元格
//sg-> Canvas-> Draw(Rect.Left + 1, Rect.Top + 1, Bitmap);//显示位图,图像按实际大小显示
//sg->Canvas->StretchDraw(Rect,Bitmap);//显示位图,让图像填充整个单元格

//sg->Canvas->TextOutW(Rect.Left + 2, Rect.Top + 2, L"这是测试");//画出文字
sg->Canvas->TextRect(Rect, Rect.Left+2, Rect.Top+2, L"这是测试");//画出文字
}
}

读书人网 >C++ Builder

热点推荐