1 2 3 4 下一页
这是以前写的代码,自绘XP风格的菜单,硬盘坏了后以为没了,最后写的一个软件要自定义风格,“翻箱倒柜”的终于在我可爱的古董机^_^上找到了一个应用的例子。
把主菜单作以下调整:
OnMeasureItem指向MeasureMainItem、
OnAdvancedDrawItem指向DrawMainItem,
子菜单的OnMeasureItem指向MeasureSubItem、
OnAdvancedDrawItem指向DrawSubItem,
调整颜色或使用默认颜色即可达到效果
//调整主菜单项尺寸
procedure MeasureMainItem(Sender: TObject; ACanvas: TCanvas; var Width, Height: Integer);
begin
Width := Width 6;
Height := Height 2;
end;
//调整子菜单项尺寸
procedure MeasureSubItem(Sender: TObject; ACanvas: TCanvas; var Width, Height: Integer);
begin
Width := Width 20;
Height := Height 2;
end;
//绘制主菜单内容
procedure DrawMainItem(Sender: TObject; ACanvas: TCanvas; ARect: TRect; State: TOwnerDrawState);
const
MainMenuBackColor : TColor = $DEEDEF;
MainMenuBorderColor : TColor = $DEEDEF;
MainMenuSelectedBackColor : TColor = $DFA988;
MainMenuSelectedBorderColor: TColor = $C08000;
MainMenuHotLightBackColor : TColor = $DEEDEF;
MainMenuHotLightBorderColor: TColor = $800080;
MainMenuGrayedBackColor : TColor = $DEEDEF;
var
BrushColor, PenColor: TColor;
TextRect: TRECT;
begin
if odGrayed in State then
begin
BrushColor := MainMenuGrayedBackColor;
PenColor := MainMenuGrayedBackColor;
end
else
if odHotLight in State then
begin //鼠标划过
BrushColor := MainMenuHotLightBackColor;
PenColor := MainMenuHotLightBorderColor;
end
上一篇: 和md5.asp结果一样的Delphi加密代码
下一篇: 用Delphi实现快闪窗体信息提示
1 2 3 4 下一页
文章整理:西部数码--专业提供域名注册、虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!




