在DBGrid上面放一个image控件,在image上画一个直径为40像素的蓝色实心圆,除这个实心圆外其它地方可否实现透明?(50分)

  • 主题发起人 主题发起人 SP229
  • 开始时间 开始时间
问题过于复杂化了

procedure TForm1.Button1Click(Sender: TObject);
var
i,J: integer;
T,L,R: Integer;
KX: Integer;//空隙

aColor: TColor;
tmpL: TStrings;
s: string;
begin
L:=20;
T:=50;
R:=34;
KX:=6;

tmpL:=TStringList.Create;
for i := 0 to memo1.Lines.Count-1 do
begin
s:=memo1.Lines.Strings;
tmpL.Clear;
tmpL.Text:=StringReplace(s, ' ', #13#10, [rfReplaceAll]);

for j := 0 to tmpL.Count-1 do
with dbGrid1.Canvas do
begin
aColor:=GetBS(tmpL.Strings[J]);
Brush.Color := aColor;
Ellipse(L+R*J+KX*J,T+KX*I+R*I,L+R*J+KX*J+R,T+KX*I+R*I+R);

Font.Color := clWhite;
Font.Style := Font.Style + [fsBold];
Font.Size := 11;
TextOut(L+R*J+KX*J+8, T+KX*I+R*I+8, tmpL.strings[j]);
end;
end;
end;
 
to 娃娃
多谢你了,没想到DBGrid还有画布属性.
同时也感谢总有爱.
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
1K
DelphiTeacher的专栏
D
I
回复
0
查看
774
import
I
I
回复
0
查看
634
import
I
后退
顶部