textout输出的字体能不能透明? 输出之前先:SetBkMode(fdc,TRANSPARENT);InsideDelphi走前忍不住回答了一次。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 讨论过了,搜索“透明”即可。rh(强硬的毛主席万岁!伟大的周总理万岁!) (2001-5-11 0:53:00) 得20分 很简单,这样做:首先,你放一个image,设置为alclient的。设置好图象。然后加代码,比如:procedure TForm1.Button1Click(Sender: TObject);begin SetBkMode(Canvas.Handle,TRANSPARENT);//文字透明! Canvas.Font.Name := '楷体_GB2312'; Canvas.Font.Size := 66; Canvas.TextOut(1,1, '贵州师范大学计算机爱好者协会');end; 我如何控制textout输出粗体阴影字啊?textout不是canvs里的而是api 提供的, 可以使用API来更换控件的字体,怎么做的我忘记了。至于阴影字,只要改变TextOut的坐标即可。 to: liaokuo我把你那代码输到程序中,运行后没有任何字啊?为什么呢? to:kinggron把 alin设置成 alclient的效果是什么?能解释一下吗?我是初学者 procedure TForm1.Button1Click(Sender: TObject);var fdc: hdc; a:hwnd;begin a:=GetDesktopWindow(); fdc := getdc(a); SetBkMode(fdc,TRANSPARENT); TextOut(fdc, 5, 5, 'asd444444f', 100); // releasedc(application.Handle,fdc);end;这时候桌面上没有任何字,而我用fdc:=getdc(0),就可以显示字体但这些字体不是在桌面显示,而是在窗体上,1刷新窗体就没了我怎么能让字留在桌面上?drawtext能不能做这活? procedure TDrawDesktop.Button2Click(Sender: TObject);varmydc:HDC;s:pchar;l:integer;begins:='大学';l:=length(s);mydc:=getdc(0);setbkmode(mydc,transparent); //文字透明trytextout(mydc,250,250,s,l);finallyreleasedc(0,mydc);end;end;“1刷新窗体就没了”--可以把上面的代码放到timer中去,让timer不停的画桌面就行了。 procedure TForm1.Button1Click(Sender: TObject);var OldBkMode : integer;begin with Form1.Canvas do begin0D Brush.Color := clRed; FillRect(Rect(0, 0, 100, 100)); Brush.Color := clBlue; TextOut(10, 20, 'Not Transparent!'); OldBkMode := SetBkMode(Handle, TRANSPARENT); TextOut(10, 50, 'Transparent!'); SetBkMode(Handle, OldBkMode); end;end; ================================================================一颗红心向前看,为了革命两茫然,不好意思才囊尽,只能说上一点点。★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★ 我踢 我踢 我踢 我踢 我踢 我踢 我踢 我踢 我踢 ★★ 你UP 你UP 你UP 你UP 你UP 你UP 你UP 你UP 你UP ★★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆================================================================ 如何制作实时显示话筒录入音量db的柱状图? listview 程序在WinXP下界面最大化问题? 关于TsuiCheckBox的选择状态 在dbgrid中编辑时,移到下一个网格中,显示的全是蓝色的选择,但无法编辑,光标处于最后位置,若把光标从后拖到头,就可以从键盘输入了,我在用d 如何创建和使用资源文件???????? 打印报表运行错误求助???? 摄像头取像编程 请问^-^ report的动态生成和释放问题,生成很简单,关键是action:=cafree;是close的一个属性,而report里没有close事件,请问如何释放??? 关于还原卡的问题? 请教高手!
rh(强硬的毛主席万岁!伟大的周总理万岁!) (2001-5-11 0:53:00) 得20分
很简单,这样做:
首先,你放一个image,设置为alclient的。设置好图象。然后加代码,比如:
procedure TForm1.Button1Click(Sender: TObject);
begin
SetBkMode(Canvas.Handle,TRANSPARENT);//文字透明!
Canvas.Font.Name := '楷体_GB2312';
Canvas.Font.Size := 66;
Canvas.TextOut(1,1, '贵州师范大学计算机爱好者协会');
end;
textout不是canvs里的
而是api 提供的,
至于阴影字,只要改变TextOut的坐标即可。
我把你那代码输到程序中,运行后没有任何字啊?为什么呢?
把 alin设置成 alclient的效果是什么?能解释一下吗?我是初学者
var
fdc: hdc;
a:hwnd;
begin
a:=GetDesktopWindow();
fdc := getdc(a);
SetBkMode(fdc,TRANSPARENT);
TextOut(fdc, 5, 5, 'asd444444f', 100);
// releasedc(application.Handle,fdc);
end;
这时候桌面上没有任何字,而我用
fdc:=getdc(0),就可以显示字体
但这些字体不是在桌面显示,而是在窗体上,
1刷新窗体就没了
我怎么能让字留在桌面上?
drawtext能不能做这活?
var
mydc:HDC;
s:pchar;
l:integer;
begin
s:='大学';
l:=length(s);
mydc:=getdc(0);
setbkmode(mydc,transparent); //文字透明
try
textout(mydc,250,250,s,l);
finally
releasedc(0,mydc);
end;end;
“1刷新窗体就没了”--可以把上面的代码放到timer中去,让timer不停的画桌面就行了。
var
OldBkMode : integer;
begin
with Form1.Canvas do begin0D
Brush.Color := clRed;
FillRect(Rect(0, 0, 100, 100));
Brush.Color := clBlue;
TextOut(10, 20, 'Not Transparent!');
OldBkMode := SetBkMode(Handle, TRANSPARENT);
TextOut(10, 50, 'Transparent!');
SetBkMode(Handle, OldBkMode);
end;
end; ================================================================
一颗红心向前看,为了革命两茫然,不好意思才囊尽,只能说上一点点。
★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆
★ 我踢 我踢 我踢 我踢 我踢 我踢 我踢 我踢 我踢 ★
★ 你UP 你UP 你UP 你UP 你UP 你UP 你UP 你UP 你UP ★
★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆
================================================================