想拿分的请过来吧!!!!(50分)

  • 主题发起人 主题发起人 涛子
  • 开始时间 开始时间

涛子

Unregistered / Unconfirmed
GUEST, unregistred user!
[:(]
谁知道知道如何改变mainmenu中菜单字体颜色?
 
把WINDOWS的那个改了就行。
 
windows的什么改了,请指点
 
如果使用TMainMenu的话,要达到那种效果,要重画的,挺麻烦的,

要是考虑使用第三方控件的话,到是有的.

//严重关注此题.
 
我看到的一个程序并没有重画[:(]
是不是改变了它的属性?
 
我有改字体和颜色的原码,要吗?
 
MainMenu1.OwnerDrow := True;

或是下载一个XPMenu,挺好用的,^_^
{
XPMenu for Delphi
Author: Khaled Shagrouni
URL: http://www.shagrouni.com/english/software/xpmenu.html
e-mail: shagrouni@hotmail.com
Version 2.21, May 18, 2002


XPMenu is a Delphi component to mimic Office XP menu and toolbar style.
Copyright (C) 2001, 2002 Khaled Shagrouni.

This component is FREEWARE with source code. I still hold the copyright, but
you can use it for whatever you like: freeware, shareware or commercial software.
If you have any ideas for improvement or bug reports, don't hesitate to e-mail
me <shagrouni@hotmail.com> (Please state the XPMenu version and OS information).
}
 
用OnDrawItem事件,随你怎么搞
 
我也想知道实现的方法,因为在我曾经写的程序要求有这个功能,但我没有实现
 
请c2008给源码
谢了
 
对ondrawitem事件
能不能更详细一点
谢了
 
procedure TMainForm.Menu1DrawItem(Sender: TObject; ACanvas: TCanvas;
ARect: TRect; Selected: Boolean);
var
MenuCaption:string;
begin
MenuCaption:=TMenuItem(Sender).Caption;
with ACanvas do
begin
Font.Name:='宋体';
Font.Charset:=GB2312_Charset;
Brush.Style:=bsClear;
Pen.Style:=psSolid;
Pen.Mode:=pmCopy;
if MenuItem.Enabled then
begin
if Selected then
begin
Pen.Color:=clRed;
Rectangle(SelectRect);
Font.Color:=clRed;
else
begin
Font.Color:=clRed;
end;
end
else
begin
Font.Color:=clGray;
end;
TextOut(ARect.left,ARect.Top,MenuCaption);
end;
end;
 
想那分,不会?哈哈
 
十分感谢
艰难的程式生涯
 
后退
顶部