Do this steps to adapt colors of VTV header to skin colors:
1. Open VirtualTrees.pas, find TVirtualTreeColumns.PaintHeader method and
copy this DrawEdge method to it:
====================================================================================
function DrawEdge(hdc: HDC; var qrc: TRect; edge: UINT; grfFlags: UINT): BOOL;
procedure Frm3D(Canvas: TCanvas; Rect: TRect; TopColor, BottomColor: TColor);
procedure DoRect;
var
TopRight, BottomLeft: TPoint;
begin
with Canvas, Rect do
begin
TopRight.X := Right;
TopRight.Y := Top;
BottomLeft.X := Left;
BottomLeft.Y := Bottom;
Pen.Color := TopColor;
PolyLine([BottomLeft, TopLeft, TopRight]);
Pen.Color := BottomColor;
Dec(BottomLeft.X);
PolyLine([TopRight, BottomRight, BottomLeft]);
end;
end;
begin
Canvas.Pen.Width := 1;
Dec(Rect.Bottom); Dec(Rect.Right);
DoRect;
end;
function Darker(Color:TColor; Percent:Byte):TColor;
var
r, g, b: Byte;
begin
Color:=ColorToRGB(Color);
r:=GetRValue(Color);
g:=GetGValue(Color);
b:=GetBValue(Color);
r:=r-muldiv(r,Percent,100);
g:=g-muldiv(g,Percent,100);
b:=b-muldiv(b,Percent,100);
result:=RGB(r,g,b);
end;
function Lighter(Color:TColor; Percent:Byte):TColor;
var
r, g, b: Byte;
begin
Color:=ColorToRGB(Color);
r:=GetRValue(Color);
g:=GetGValue(Color);
b:=GetBValue(Color);
r:=r+muldiv(255-r,Percent,100);
g:=g+muldiv(255-g,Percent,100);
b:=b+muldiv(255-b,Percent,100);
result:=RGB(r,g,b);
end;
var
C: TCanvas;
LightColor, DarkColor: TColor;
R, G, B: Byte;
begin
C := TCanvas.Create;
C.Handle := HDC;
C.Brush.Color := Self.FHeader.FBackground;
C.Brush.Style := bsSolid;
C.FillRect(qrc);
LightColor := Lighter(C.Brush.Color, 10);
DarkColor := Darker(C.Brush.Color, 10);
if edge = BDR_SUNKENOUTER
then
begin
InFlateRect(qrc, -2, -2);
Frm3D(C, qrc, DarkColor, LightColor);
end
else
Frm3D(C, qrc, LightColor, DarkColor);
C.Handle := 0;
C.Free;
end;
====================================================================================
2. Set VTV.Header.Style to 'hsFlatButtons' value.
3. Use TbsaSkinAdapter.OnChangeSkinData event
to apply skincolor to VTV.Header.Background and VTV.Header.Font.Color properties:
procedure TForm1.bsaSkinAdapter1ChangeSkinData(Sender: TObject);
begin
VTV.Header.Background := bsSkinData1.SkinColors.cBtnFace;
VTV.Header.Font.Color := bsSkinData1.SkinColors.cBtnText;
// to adapt color of VTV use:
VTV.Color := bsSkinData1.SkinColors.cWindow;
end;
没有合适的资源?快使用搜索试试~ 我知道了~
BusinessSkinForm v7.50 full source for delphi xe2
共306个文件
pas:66个
res:38个
dfm:31个
5星 · 超过95%的资源 需积分: 10 75 下载量 138 浏览量
2012-03-20
17:48:09
上传
评论 1
收藏 6.55MB RAR 举报
温馨提示
BusinessSkinForm v7.50 full source for delphi xe2
资源推荐
资源详情
资源评论
收起资源包目录
BusinessSkinForm v7.50 full source for delphi xe2 (306个子文件)
bsfcb2006.bdsproj 26KB
BSFD2006.bdsproj 8KB
BSFD2005.bdsproj 8KB
controls.bmp 579KB
controls.bmp 564KB
main.bmp 99KB
pw.bmp 46KB
hw.bmp 40KB
active.bmp 38KB
active.bmp 37KB
menuitems.bmp 35KB
main.bmp 33KB
pw.bmp 27KB
menuitems.bmp 22KB
mdibg.bmp 13KB
toolwindow.bmp 12KB
toolwindow.bmp 9KB
mask.bmp 5KB
toolwindowactive.bmp 4KB
toolwindowmask.bmp 2KB
mask.bmp 2KB
hw.bmp 1KB
pwmask.bmp 1KB
toolwindowmask.bmp 478B
hwmask.bmp 390B
BSFCB6.bpk 9KB
BSFCB5.bpk 3KB
MainDemo.bpr 3KB
MDIDemo.bpr 3KB
Project1.bpr 3KB
Project1.bpr 3KB
Project1.bpr 2KB
bsfcb2007.cbproj 13KB
bsfcb2009.cbproj 12KB
biolife.cds 1.05MB
orders.cds 19KB
customer.cds 7KB
parts.cds 4KB
vendors.cds 3KB
country.cds 1KB
BSFD2006.cfg 500B
BSFD2005.cfg 500B
BSFD7.cfg 438B
BSFD5.cfg 390B
BSFD6.cfg 390B
Project1.cfg 386B
MainDemo.cfg 386B
DBDemo.cfg 386B
Project1.cfg 386B
MDIDemo.cfg 386B
Project1.cfg 386B
Project1.cfg 386B
Project1.cfg 386B
zipcompressor.cfg 386B
skinbuilder.cfg 386B
BusinessSkinForm.chm 80KB
skinadapter.chm 16KB
MainUnit.cpp 5KB
MainUnit.cpp 3KB
Unit1.cpp 3KB
BSFCB5.cpp 2KB
Unit1.cpp 1KB
Unit1.cpp 1KB
BSFCB6.cpp 800B
bsfcb2009.cpp 794B
ChildUnit.cpp 773B
MDIDemo.cpp 750B
MainDemo.cpp 713B
Project1.cpp 710B
Project1.cpp 710B
Project1.cpp 710B
bsfcb2006.cpp 524B
bsfcb2007.cpp 522B
orders.db 70KB
customer.db 18KB
biolife.db 10KB
vendors.db 8KB
parts.db 8KB
country.db 4KB
bsReg.dcr 78KB
bsareg.dcr 484B
MainUnit.dfm 2.69MB
Unit1.dfm 1.8MB
MainUnit.dfm 1.79MB
Unit1.dfm 1.5MB
Unit1.dfm 1.31MB
Unit1.dfm 1.05MB
Unit1.dfm 620KB
Unit1.dfm 453KB
Unit1.dfm 364KB
MainUnit.dfm 323KB
MainUnit.dfm 223KB
MainUnit.dfm 136KB
testfrmctrls.dfm 100KB
skinbuild.dfm 57KB
AboutUnit.dfm 18KB
main.dfm 12KB
ImageEditor.dfm 5KB
Unit1.dfm 3KB
ChildUnit.dfm 3KB
共 306 条
- 1
- 2
- 3
- 4
mk1024
- 粉丝: 1
- 资源: 9
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
- 1
- 2
- 3
- 4
前往页