如题:
我想在Tlabel控件的Caption里显示版权符号,怎样实现呢?
我想在Tlabel控件的Caption里显示版权符号,怎样实现呢?
解决方案 »
- 如何安装多个控件
- 哪位大哥能让RichEdit不能输入中文?很多大论坛都没能结决!
- 这样的语句怎么会编译报错呢???
- 如何把桥牌随机发给4个人 ?急!!!!!有原代码的可以加分
- 救命啊,delphi6控件BAR上的控件怎么都找不到了?
- 动态绑定数据库的问题,我还是没搞懂,请高手指教。
- 请问在DELPHI4中如何实现DBGRID的列冻结功能?
- CBX的开发使用
- delphi7 窗体如何响应键盘事件?窗体的KEYdown事件不响应呢?
- TO: 微软专家在哪里?请帮我看一下这个问题... ... http://www.csdn.net/expert/topicview1.asp
- u8,u16,u32,t32,s32都表示什么?
- 怎样把.dll文件转变成字节流(byte[])类型
http://topic.csdn.net/t/20020520/13/736824.html
Type
TCopyRightLabel = Class(TGraphicControl)
protected
procedure Paint; override;
end;procedure TCopyRightLabel.Paint;
var
CC : DWORD;
Rect : TRect;
begin
CC := $A9;
Rect := ClientRect;
Canvas.Brush.Style := bsClear;
DrawTextW(Canvas.Handle , @CC , 1 , Rect , DT_EXPANDTABS);
end;procedure TForm1.FormCreate(Sender: TObject);
var
CL : TCopyRightLabel;
begin
Label1.Caption := '版权信息:xxx';
CL := TCopyRightLabel.Create(Self);
CL.Left := Label1.Left + Label1.Width;
CL.Top := Label1.Top - 2;
CL.Parent := Self;
CL.Width := Label1.Canvas.TextWidth('AA');
CL.Height := Label1.Height;
CL.Font.Assign(Self.Font);
end;在Label1后面加了一个©标记,如果想加®,把$A9改成$AE即可
方法很多,原理就是构造一个调用TextOutW或者DrawTextW的环境就行了
procedure TCopyRightLabel.Paint;
var
CC : DWORD;
Rect : TRect;
begin
CC := $A9;
Rect := ClientRect;
Canvas.Brush.Style := bsClear;
canvas.Font.Name :='宋体';
canvas.Font.Size :=18;//字体和大小都可以设置的
DrawTextW(Canvas.Handle , @CC , 1 , Rect , DT_LEFT);
end;
注意这句代码,要给它留出足够的空间。
CL.Width := Label1.Canvas.TextWidth('AA');//多来几个AAAA就可以了。
DrawTextW(Canvas.Handle , pWidechar(@CC) , 1 , Rect , DT_LEFT);