StringGrid的问题 如何使该控件的某一列自动的填上某一个值,如:只要是第二列,自动生成一个‘1’,我在ondrawcell中,但是这个事件老是被触发,想把‘1’改成‘2’都不行。我又不想写onselectcell这个事件,因为这个事件只在点击时才会触发。该写哪个事件的代码?谢谢! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 ondrawcell事件:if key=13 then 可以在初始化stringgrid的时候直接给cell付值吧 从TStringGrid继承一个新的VCL组件,如TTextGrid,然后重载TStringGrid的Paint过程:...procedure Paint; Override;......procedure TTextGrid.Paint;begininherited;ProcSetText();//调用你想实现的内容的过程end; 写一个自动给StringGrid赋值的函数,在适当的时候调用它就是自动的了!Procedure SetStringGridValue(Grid:TStringGrid:nCol:Integer,Value:Integer);如你所要求,在显示的时候调用一次,在添加新列的时候调用一次。 不太明白你的意思,是这样吗?for i:=0 to stringgrid1.colcount-1 dostringgrid1.Cols[i].text:=inttostr(i);放在窗体中onshow或者oncreate事件中都可以啊,如果在设计时就有这种效果,可以自己从Tstringgrid下面继承一个类,覆盖其Create ,将类似上述代码加入就可以了; 判断两目录为同一目录 delphi 7 查询数据库下一记录问题 如何保留文件大小中的小数点 请问这是怎么回事呀?简单的跟1一样,在线送粉 需要delphi开发人员 QuikRep预览界面汉化及报表设计? xml文件的生成,在delphi里用什么控件?TXMLDocument好像不可以 看看这个过程的问题在哪 如何截获关机消息,并写入自己的处理 高分求助:如何使用word和hcw制作帮助 如何捕获Grid的列分隔线的双击事件或消息 为啥timer控件不断的消耗内存?
...
procedure Paint; Override;
...
...
procedure TTextGrid.Paint;
begin
inherited;
ProcSetText();//调用你想实现的内容的过程
end;
Procedure SetStringGridValue(Grid:TStringGrid:nCol:Integer,Value:Integer);
如你所要求,在显示的时候调用一次,在添加新列的时候调用一次。
stringgrid1.Cols[i].text:=inttostr(i);放在窗体中onshow或者oncreate事件中都可以啊,如果在设计时就有这种效果,可以自己从Tstringgrid下面继承一个类,覆盖其Create ,将类似上述代码加入就可以了;