label控件是否有凹陷的效果?
解决方案 »
- 如何在ide里關閉某個try..except的錯誤提示?
- 有关打印
- Socket通讯中对接收到的数据有时处理成功有时失败,再不解决就下岗了,高手救命呀!!!
- 用COM/DCOM做多层系统
- delphi通过dbe或ado对数据库操作的程序能做成dll在vfp中调用吗? 高分在线等待
- 请问,在delphi中如何执行 "net view"等windows命令呢? tell me,please
- 问一个关于cxGrid控件的问题
- 曾因《我有一个梦想------程序员下岗-----快活DIY开发者之梦》一文引起强烈反响的系统件开发模式现在有了专题网站,欢迎大家前往继续关注
- 我想载delphi中对vfp中的数据库进行操作!(请赐教)
- 怎样将数据库中存放的TIFF类型的数据显示出来,如果用imgedit(珂达扫描仪控件)该怎么做?
- 高分求教:请问有免费得cell控件下载么?
- 求。。。。。
当然你也可以使用一组label,每一个label设置不同的颜色,设置他们为透明的,来实现立体效果
透明效果如何实现?
Windows, Classes, Graphics, StdCtrls;type
TmyLabel = class(TLabel)
private
{ Private declarations }
procedure DoDrawText(var Rect: TRect; Flags: Word);
protected
{ Protected declarations }
procedure Paint; override;
end;
implementationprocedure TMyLabel.Paint;
const
Alignments: array[TAlignment] of Word = (DT_LEFT, DT_RIGHT, DT_CENTER);
var
Rect: TRect;
begin
with Canvas do
begin
if not Transparent then
begin
Brush.Color := Self.Color;
Brush.Style := bsSolid;
FillRect(ClientRect);
end;
Brush.Style := bsClear;
Rect := ClientRect;
DoDrawText(Rect,(DT_EXPANDTABS or DT_WORDBREAK) or Alignments[Alignment]);
end;
end;
procedure TMyLabel.DoDrawText(var Rect: TRect; Flags: Word);
var
Text: string;
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;
Canvas.Font := Font;
OffsetRect(Rect, 1, 1);
Canvas.Font.Color := clWhite;
DrawText(Canvas.Handle, PChar(Text), Length(Text), Rect, Flags);
OffsetRect(Rect, -1, -1);
if not Enabled then
begin
Canvas.Font.Color := clBtnShadow;
end
else
begin
Canvas.Font.Color := Font.Color;
end;
DrawText(Canvas.Handle, PChar(Text), Length(Text), Rect, Flags);
end;end.