在论坛里查了n久也没找到解决的方法,请问我有张表都是化学分子式为字段名的,我用dbgrid显示的时候怎么显示出下标来呢?数据库里面好像是无法区分下标的,所以存的时候字段名是按照如:H2O这样存的
解决方案 »
- 有关扫描枪。
- 如何用代码实现?
- 今天收到CSDN的Delphi文化衫,散分以示庆祝~~~
- delphi现在是不是不能用indy控件开发邮件发送系统了?
- 高分求教::如何用DELPHI将WORD文档(DOC格式)转换为传真文件(TIF格式)
- 我采用ADO+SQLSERVER,众多客户端连着服务器端数据库,客户端同时直接对服务器端的数据记录添加\删除修改\,别的不做额外处理,会发生什么
- 我的一个开源项目,欢迎大家参与。
- 类的实现,怎么就这么的玄?
- 如何把我的程序压缩到工作区
- 很急的问题!很急!
- jpg图片没法在image控件中加载,显示jpeg error #52,请问是什么原因
- 不能回贴和查看得分问题。是不是我浏览器自己的问题?
procedure TForm1.DBGrid1DrawDataCell(Sender: TObject; const Rect: TRect;
Field: TField; State: TGridDrawState);
var
value:String;
lp,i,FontSize,h:Integer;
begin
if Field.Name='分子式' then
begin
lp:=1;
value:=Field.AsString;
with DBGrid1 do
begin
FontSize:=Canvas.Font.Size;
for i:=1 to Length(value) do
begin
if value[i] in ['0'..'9'] then
Canvas.Font.Size:=FontSize -3
else
Canvas.Font.Size:=FontSize;
Canvas.TextOut(lp,Rect.Bottom-Canvas.TextHeight(value[i])-1,value[i]);
lp:=lp+Canvas.TextWidth(value[i]);
end;
end;
end
else
DBGrid1.DefaultDrawDataCell(Rect,Field,State);
end;