就像开始菜单的一样。

解决方案 »

  1.   

    procedure AngleTextOut(CV: TCanvas; const sText: String; x, y, angle:integer);
    var
      LogFont: TLogFont;
      SaveFont: TFont;
    begin
      SaveFont := TFont.Create;
      SaveFont.Assign(CV.Font);
      GetObject(SaveFont.Handle, sizeof(TLogFont), @LogFont);
      with LogFont do
        begin
          lfEscapement := angle *10;
          lfPitchAndFamily := FIXED_PITCH or FF_DONTCARE;
        end; //with
      CV.Font.Handle := CreateFontIndirect(LogFont);
      SetBkMode(CV.Handle, TRANSPARENT);
      CV.TextOut(x, y, sText);
      CV.Font.Assign(SaveFont);
      SaveFont.Free;
    end;
      

  2.   

    window的开始菜单那是图片。2个办法.
    1.利用系统中的字体,很多字体支持逆时针转90度的。你看那些字体前面带有@符号的那些。有些中文字体不支持西文的旋转。2. 自己创建字体
    参见 CreateFont 和TLogFont的帮助
      

  3.   

    如果只是在TPanel上是没有办法的,因为TPanel不是从TGraphicControl继承下来的没有TCanvas继承下来的,所以不能用什么TextOut,DrawTextEx,DrawText...函数。你要旋转最好就在TPanel上加一个从TGraphicControl继承下来的组件,如:TImage,TPaintBox。
    当然你可以这样:
    Panel1.Caption:='你'+#13+'好'+#13+'朋'+#13+'友'+#13+'们'+#13+'!'
    但这样就有点不合题义了。