急求助:textout的问题?帮忙.(40分)

  • 主题发起人 主题发起人 wei0916
  • 开始时间 开始时间
W

wei0916

Unregistered / Unconfirmed
GUEST, unregistred user!
各位帮帮忙,我的本意是在窗体上用TEXTOUT输出一个透明的字符串.但以下这个过程在窗体上输出的字符串长度不够,只有一半出现在屏幕上.看看是哪里的原因?
procedure TForm1.FormCreate(Sender: TObject);
var Lpfont,Mydc,Oldfont,Myrgn:longint;
begin
Lpfont:=CreateFont(32,32,0,0,0,0,0,0,0,0,0,0,0,'宋体');//创建字体
Mydc:=GetDc(Form1.Handle);//取DC
SetbkMode(Mydc,1);//背景
BeginPath(Mydc);
Oldfont:=SelectObject(Mydc,Lpfont);//代换字体
TextOut(Mydc,0,0 ,pchar('中国人民工中国是非功过'),4);
TextOut(Mydc,0,35,pchar('中国人民是伟大的人民正直'),4);
SelectObject(Mydc,Oldfont);
EndPath(Mydc);
Myrgn:=PathtoRegion(Mydc);
SetWindowRgn(Form1.Handle ,myRgn,true);
Form1.Top :=0;
Form1.Left :=0;
效果是有一点,但是不能将上面的文字全部输出,这倒底是怎么回事呢,各位帮一下忙.谢了.
end;
 
TextOut(Mydc,0,0 ,pchar('中国人民工中国是非功过'),4);
TextOut(Mydc,0,35,pchar('中国人民是伟大的人民正直'),4);

这里面的几个数字适当的调整一下
比如4 换成200
 
TextOut(Mydc,0,0 ,pchar('中国人民工中国是非功过'),4);
TextOut(Mydc,0,35,pchar('中国人民是伟大的人民正直'),4);
换成
TextOut(Mydc,0,0 ,pchar('中国人民工中国是非功过'),22);
TextOut(Mydc,0,35,pchar('中国人民是伟大的人民正直'),24);
//看看行不行
 
没有用的.textout(X,Y,STRING,MODE)其中的X,Y是绝对坐标,也就是在屏幕是显示的坐标,而不是字符串长度,如果是长度的话,那TEXTOUT(0,0,"453543",4)不就成了长度为0的字符串了.后面的MODE是显示模式.
哪位再帮一下忙好吗.我都被搞糊涂了.
 
可我实验过,好使啊
 
me too,改了长度就行啊,我也是试了,
你把函数看错了吧,你在win32里面看看
textout(hdc,x,y,pchar,lengh),最后一个不是模式,是长度。
 
还是不行呀,你们将代码拷贝下去试试,这个例子第二行的数据
TextOut(Mydc,0,35,pchar('中国人民是伟大的人民正直'),24);
上面的"直"就没有输出来屏幕上.

这个问题而且还有个怪现像,这些字体显示在屏幕上的时候,好像不完整,有的少笔画,有的缺点.你们再帮帮我吧.
 
自已顶一下.
 
var
S:string;
...
begin
...
Width:=Screen.Width;
Height:=Screen.Height;
S:='中国人民工中国是非功过';
TextOut(Mydc,0,0 ,Phar(S),Length(S));
S:='中国人民是伟大的人民正直';
TextOut(Mydc,0,35,PChar(S),Length(S));
...
end;
 
这本来好像是很好实现的,可是我就是程序运行没有错,但是结果是错了.哪位朋友能发一个小例子给我,qq:175287606,borland_sxw@126.com.感谢...,如果可以就给加分.急呀.
 
Mydc:=GetDc(Form1.Handle);//取DC 这一行没有执行成功。
因为取不到Handle所以把原本要显示在form上的东西显示到了screen上,但是显示范围又受form控制,这一点您只要把form设宽点就能验证,这就是得不到期望结果的原因。textout函数的最后一个参数是字符长度(见帮助文档)。
 
可以执行成功呀.有句柄信息.而且我换为getdc(0)这是取screen的DC,还是不行,看样子不是问题所在呀.
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
I
回复
0
查看
460
import
I
S
回复
0
查看
1K
SUNSTONE的Delphi笔记
S
后退
顶部