我在窗体中放置了两个StringGrid,但是程序运行起来后,每个StringGrid的cell[1,1]都有蓝色阴影存在,看上去像有光标落在上面。我在窗体的onshow事件中,写了:
comboBox1.setfocus;
但是也没有改变这种效果。如何处理?
comboBox1.setfocus;
但是也没有改变这种效果。如何处理?
解决方案 »
- wise打包问题
- 帮忙改程序
- 如何用fastreport完成连续打印?????急!
- 关于用adoquery连接的两张表之间的过滤问题??我写了代码但有错误,请帮我改一下!!
- 关于type的问题的后继----消息声明
- DBGrid中我选中多行,然后我想只显示或报表打印我选中的这些记录的结果,应该怎么做.
- 在Delphi中如何处理文件名和扩展名的8+3问题。
- 请教Delphi中TAdoConnection的OpenSchema方法使用?
- 在哪可以找到adc 套件!!!!
- 像WORD2000一样的非多文档系统是怎么实现的?不是WORD97的MID!
- 怎么样将整型数i转换为时间里的月?
- 如何判断本周的第一天和最后一天是几号?
不懂是什么意思?
或者
comboBox1.selection 里面的有个属性需要修改了
只是为了让窗体上的combobox获得焦点,但是stringgrid仍然有阴影存在。
你是想把焦点转移到combobox1,
而让stringgri1的那个阴影消失是吧!
将StringGrid的DefaultDrawing设为false,然后根据自己的意愿写OnDrawCell事件
在StringGrid的DrawCell事件中写代码procedure TForm1.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
Rect: TRect; State: TGridDrawState);
begin
with Rect, StringGrid1.Canvas do
begin
if State = [gdSelected] then
begin
Brush.Color:=clWhite;
FillRect(Rect);
Font.Color:=clBlack;
end;
end;
end;
我试了一下,还是不行。阴影是没有了,但是每个StringGrid的cell[1,1]显示的是空白,点击其他cell才能将cell[1,1]数据显示出来。怎么解决呢?
begin
if State = [gdSelected] then
begin
Brush.Color:=clWhite;
FillRect(Rect);
Font.Color:=clBlack;
end;
TextRect(Rect,Left+2,Top+2,StringGrid1.Cells[ACol,ARow]);
end;