求教关于捕获StringGrid刷新的问题,在线解决就给分:200分

iec 2003-10-16 06:59:30
在Form上放StringGrid
StringGrid1->Canvas->TextOutA(left,top,"刷新");
如果最小化Form,再最大化Form ,StringGrid1已经被刷新了
开始写上的文字就没了
如何捕获StringGrid刷新的消息,使之不用刷新?

...全文
44 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
swites 2003-10-22
  • 打赏
  • 举报
回复
StringGrid1->Canvas->fonts->Color=clBlue;可以显示不同的字体!
constantine 2003-10-18
  • 打赏
  • 举报
回复
OnPaint不可以吗?
iec 2003-10-18
  • 打赏
  • 举报
回复
我需要在StringGrid上显示不同颜色的字,用Cells则不能显示
GHOSTWY 2003-10-17
  • 打赏
  • 举报
回复
OnPaint
xc2927 2003-10-17
  • 打赏
  • 举报
回复
学习
swites 2003-10-17
  • 打赏
  • 举报
回复
更正:应该是在OnDrawCell事件中
swites 2003-10-17
  • 打赏
  • 举报
回复
楼主:
我觉得你如果用Canvas的话你应该在StringGrid1DrawCell()函数中进行,因为bcb最小化还原时也要重画Canvas.函数这样写就可以了.
void __fastcall TForm1::StringGrid1DrawCell(TObject *Sender, int ACol,
int ARow, TRect &Rect, TGridDrawState State)
{
StringGrid1->Canvas->TextOutA(5,5,"刷新");
//StringGrid1->Canvas->TextOutA(Rect.left,Rect.top,"刷新");
}
tigerhohoo 2003-10-17
  • 打赏
  • 举报
回复
是啊,如果你一定要写,可以在StringGrid上动态生成Label或Button等构件,这样就不存在刷新的问题了。
domustdo 2003-10-16
  • 打赏
  • 举报
回复
为什么要在StringGrid的canvas上写字?
ljianq 2003-10-16
  • 打赏
  • 举报
回复
你可以调用StringGrid1的Repaint()方法试试.
iec 2003-10-16
  • 打赏
  • 举报
回复
这样的因为我已经在StringGrid1上写上很多数据了,如果用Form的OnPaint事件的话,数据还要重写一遍,麻烦,有没有不让StringGrid1刷新,不重写, songhtao(三十年孤独) 能说得详细点吗?
我不懂电脑 2003-10-16
  • 打赏
  • 举报
回复
可以用Form的OnPaint事件呀。

13,822

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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