请问如何改默认边框颜色?

VC1722 2017-12-04 04:58:23


请问如何改默认边框颜色,还有DrawGrid的表格颜色。比如改成红色。
要改的控件的边框颜色比较多,自己一个个用Canvas在Paint中画太麻烦,有没有更简洁的方法?
...全文
482 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhgwbzhd 2017-12-05
  • 打赏
  • 举报
回复
嗯,我用的是“Data Controls”下面的“TDBGrid”控件。 这个控件有一个 OnDrawColumnCel事件。 我的样例代码,ADOQuery_department是ADO控件,可从数据库获取数据,DataSource_department是数据源控件,DBGrid_department是显示控件。 可根据数据库中的某列数据,来显示不同的字体颜色或者背景色,或者框。 void __fastcall TForm_department::DBGrid_departmentDrawColumnCell(TObject *Sender, const TRect &Rect, int DataCol, TColumn *Column, TGridDrawState State) { try { if(ADOQuery_department->FieldByName("valid_flag")->AsInteger == 1) { //如果该行是正常的部门 //DBGrid_department->Canvas->Brush->Color = clRed;//背景颜色 DBGrid_department->Canvas->Font->Color = clBlack;//字颜色 DBGrid_department->Canvas->Pen->Color = clRed;//画笔颜色 DBGrid_department->Canvas->MoveTo(Rect.Left,Rect.Bottom);//画笔定位 DBGrid_department->Canvas->LineTo(Rect.Right,Rect.Bottom);//下横线 DBGrid_department->Canvas->LineTo(Rect.Right,Rect.Top);//右横线 DBGrid_department->Canvas->LineTo(Rect.Left,Rect.Top);//上横线 DBGrid_department->Canvas->LineTo(Rect.Left,Rect.Bottom);//左横线 } else { //如果该行是无效的部门 //DBGrid_department->Canvas->Brush->Color = clRed;//背景颜色 DBGrid_department->Canvas->Font->Color = clBlue;//字颜色 } DBGrid_department->DefaultDrawColumnCell(Rect,DataCol,Column,State); } catch(...) {} }
ooolinux 2017-12-04
  • 打赏
  • 举报
回复
VCL应该比较麻烦,比如修改相关单元的源代码加入工程中编译,或者自定义控件。 或者看看有没有第三方控件支持美化的。 或者看看FMX类库是不是方便点。 或者入乡随俗。

604

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder VCL组件使用和开发
社区管理员
  • VCL组件使用和开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧