问个界面上显示特殊字符的问题 ?英文操作系统

南方的他 2013-08-28 02:06:15
请问在英文操作系统上,label里想显示这样几个特殊字符,怎么设置?
σ
Φ
γ
全显示?号或其他?
同志们有没有遇到过,怎么解决,谢谢
...全文
178 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
s11ss 2013-08-28
  • 打赏
  • 举报
回复
纠错,主要->注意
s11ss 2013-08-28
  • 打赏
  • 举报
回复
To 2L: 在Unit1单元加上啊。主要要在TForm1的声明之前加上TLabel声明。
sololie 2013-08-28
  • 打赏
  • 举报
回复
这不就是些希腊字母么,怎么不能显示?
mdejtod 2013-08-28
  • 打赏
  • 举报
回复
直接在你要用label 的 pas 中加上这些代码即可
南方的他 2013-08-28
  • 打赏
  • 举报
回复
引用 1 楼 s11ss 的回复:
试试
type
  TLabel = class(StdCtrls.TLabel)
  protected
    procedure DoDrawText(var Rect: TRect; Flags: Longint); override;
  end;

  TForm1 = class(TForm)
    Label1: TLabel;
    ...

{ TLabel }

procedure TLabel.DoDrawText(var Rect: TRect; Flags: Integer);
var
  Text: WideString;
begin
  Text := GetLabelText;
  if (Flags and DT_CALCRECT <> 0) and ((Text = '') or ShowAccelChar and
    (Text[1] = '&') and (Text[2] = #0)) then Text := Text + ' ';
  if not ShowAccelChar then Flags := Flags or DT_NOPREFIX;
  Flags := DrawTextBiDiModeFlags(Flags);
  Canvas.Font := Font;
  if not Enabled then
  begin
    OffsetRect(Rect, 1, 1);
    Canvas.Font.Color := clBtnHighlight;
    DrawTextW(Canvas.Handle, PWideChar(Text), Length(Text), Rect, Flags);
    OffsetRect(Rect, -1, -1);
    Canvas.Font.Color := clBtnShadow;
    DrawTextW(Canvas.Handle, PWideChar(Text), Length(Text), Rect, Flags);
  end
  else
    DrawTextW(Canvas.Handle, PWideChar(Text), Length(Text), Rect, Flags);
end;
怎么使用啊?是个控件吗?
s11ss 2013-08-28
  • 打赏
  • 举报
回复
试试
type
  TLabel = class(StdCtrls.TLabel)
  protected
    procedure DoDrawText(var Rect: TRect; Flags: Longint); override;
  end;

  TForm1 = class(TForm)
    Label1: TLabel;
    ...

{ TLabel }

procedure TLabel.DoDrawText(var Rect: TRect; Flags: Integer);
var
  Text: WideString;
begin
  Text := GetLabelText;
  if (Flags and DT_CALCRECT <> 0) and ((Text = '') or ShowAccelChar and
    (Text[1] = '&') and (Text[2] = #0)) then Text := Text + ' ';
  if not ShowAccelChar then Flags := Flags or DT_NOPREFIX;
  Flags := DrawTextBiDiModeFlags(Flags);
  Canvas.Font := Font;
  if not Enabled then
  begin
    OffsetRect(Rect, 1, 1);
    Canvas.Font.Color := clBtnHighlight;
    DrawTextW(Canvas.Handle, PWideChar(Text), Length(Text), Rect, Flags);
    OffsetRect(Rect, -1, -1);
    Canvas.Font.Color := clBtnShadow;
    DrawTextW(Canvas.Handle, PWideChar(Text), Length(Text), Rect, Flags);
  end
  else
    DrawTextW(Canvas.Handle, PWideChar(Text), Length(Text), Rect, Flags);
end;

5,391

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧