各位大哥,有没有什么办法将一个字符旋转90度再显示出来啊?
解决方案 »
- 如何强行退出while循环?
- ADODataset用 select cast('' as char(20)) FieldName 这个sql语句产生的FieldName字段无法编辑,如何能编辑?
- 我的窗休闪过后,原来的窗口或桌面能短时看到一片白(可能刷新不及时),但是。。。
- 寻SideKick
- MDI系统的问题!
- 有条语句在Delphi中我会用,但在BCB中提示出错,请大家帮个忙。
- ★★★★请教我怎么给分,谢谢~~★★★★
- 怎么实现在DBGRID上点列头该列按升序排列,如果已经是升序点击的这一下使它按降序排列。我怎么能知道这一列对应的是哪一个字段啊。
- 高分请教DLL问题
- 紧急求救: 中了恶性病毒,如何手工删除,(斑竹别删啊)
- 使用indyudp在internet上如何实现广播?
- 關於ADO一個問題
《Delphi利用Windows GDI实现文字倾斜》http://www.yesky.com/20010702/187569.shtml
With FlogFont do
begin
lfHeight:=Font.Height;
lfWidth:=0;
lfEscapement:=2700; //想旋转多少度,修改这里的参数就可以了啊
lforientation:=lfEscapement;
lfWeight:=Fw_Normal;
lfItalic:=0;
lfUnderline:=0;
lfStrikeOut:=0;
lfCharSet:=Ansi_CHARSET;
StrPCopy(lfFaceName,Font.Name);
lfQuality:=PROOF_QUALITY;
lfOutPrecision:=OUT_TT_ONLY_PRECIS;
lfClipPrecision:=CLIP_DEFAULT_PRECIS;
lfPitchAndFamily:=Variable_Pitch;
end;
Font.Handle:=CreateFontIndirect(FLogFont); Textout(x,y,'旋转文字');
procedure TForm1.Button1Click(Sender: TObject);
var
lf:tlogfont;
tf:tfont;
begin
with form1.Canvas do
begin
font.Name:='黑体';
font.Size:=24;
tf:=tfont.Create;
tf.Assign(font);
getobject(tf.handle,sizeof(lf),@lf);
lf.lfEscapement:=450;
lf.lfOrientation:=450;
tf.handle:=createfontindirect(lf);
font.assign(tf);
tf.Free;
textout(20,height div 2,'你好');
end;
end;
var
tf:tfont;
lf:TLogFont;
begin
tf := TFont.Create;
tf.Assign(Canvas.Font);
GetObject(tf.handle,sizeof(lf),@lf);
lf.lfEscapement := 900;
lf.lfOrientation := 900;
tf.Handle := CreateFontIndirect(lf);
Canvas.Font.Assign(tf);
tf.Free;
canvas.TextOut(200,200,'Hello!')
end;
旋转90度是900,180度是1800;