首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ Builder >

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

2013-10-18 
一个Form界面,4480个Label?!!!!要实现一个点的5X7的矩阵,共128个,合计4480个!!!如何设计?或者采用什么控件

一个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"这是测试");//画出文字
  }
}

热点排行