Tmainmenu的文字的大小问题,额外加分100 delphi 中的mainmenu的属性items的文字字体大小怎么改变啊,请高手指点, 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 设属性OwnerDraw为True,此时,可通过它下面TMenuItem的对象的OnDrawItem和OnMeasureItem这两个事件修改菜单显示特性 窗体放一MainMenu1,至少添加一层unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, Menus;type TForm1 = class(TForm) MainMenu1: TMainMenu; N11: TMenuItem; N21: TMenuItem; N31: TMenuItem; N41: TMenuItem; procedure N21DrawItem(Sender: TObject; ACanvas: TCanvas; ARect: TRect; Selected: Boolean); private { Private declarations } public { Public declarations } end;var Form1: TForm1;implementation{$R *.dfm}procedure TForm1.N21DrawItem(Sender: TObject; ACanvas: TCanvas; ARect: TRect; Selected: Boolean);begin N21.Caption:='2222222222222';//我不知道怎么设长度,呵呵 Acanvas.Font.Size:=14; Acanvas.TextOut(0,0,'ddd');end;end. procedure TForm1.N21MeasureItem(Sender: TObject; ACanvas: TCanvas; var Width, Height: Integer);begin Width:=菜单长度; Height:=菜单高度;end; unit Unit1;interfaceuses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Buttons, ToolWin, ComCtrls, Menus;type TForm1 = class(TForm) MainMenu1: TMainMenu; F1: TMenuItem; Exit1: TMenuItem; procedure F1MeasureItem(Sender: TObject; ACanvas: TCanvas; var Width, Height: Integer); procedure F1DrawItem(Sender: TObject; ACanvas: TCanvas; ARect: TRect; Selected: Boolean); private { Private declarations } public { Public declarations } end;var Form1: TForm1;implementation{$R *.DFM}procedure TForm1.F1MeasureItem(Sender: TObject; ACanvas: TCanvas; var Width, Height: Integer);begin Width := Acanvas.TextWidth(F1.Caption) + 8; Height := Acanvas.TextHeight(F1.Caption) + 4;end;procedure TForm1.F1DrawItem(Sender: TObject; ACanvas: TCanvas; ARect: TRect; Selected: Boolean);begin if Selected then begin ;//在这里画选中时的背景色 ACanvas.Font.Color := clHighLightText; end else ACanvas.Font.Color := clWindowText; ACanvas.TextRect(ARect, Arect.Left+4, Arect.Top+2, F1.Caption); // 注册快捷键的 & 字符被画出来了。end;end. lanxingw(Qao Kei), ahjoe(强哥),谢谢,怎么给你们加分啊,可以加两个人吧 delphi ShellExecute的用法 关于sql语句 有关动态创建控件和释放的问题,请高手指教 急用!!! 我想通过dbChart输出位图bmp(16(4bit))文件,但通过‘dbchart1.SaveToBitmapFile(); ’后输出文件总是‘Default’类型的bmp 如何解决数据更新时的假死现象 高分求一解密算法. 注册表比较工具 WINDOW 显示的问题,请高手帮忙 任务栏上的字怎么改? 这个问题是不是网卡的问题? 设计大型数据库(SQL2000SERVER)与小型数据库(.dbf)的区别? 急!急!急!
和OnMeasureItem这两个事件修改菜单显示特性
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Menus;type
TForm1 = class(TForm)
MainMenu1: TMainMenu;
N11: TMenuItem;
N21: TMenuItem;
N31: TMenuItem;
N41: TMenuItem;
procedure N21DrawItem(Sender: TObject; ACanvas: TCanvas; ARect: TRect;
Selected: Boolean);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;implementation{$R *.dfm}procedure TForm1.N21DrawItem(Sender: TObject; ACanvas: TCanvas;
ARect: TRect; Selected: Boolean);
begin
N21.Caption:='2222222222222';//我不知道怎么设长度,呵呵
Acanvas.Font.Size:=14;
Acanvas.TextOut(0,0,'ddd');
end;end.
var Width, Height: Integer);
begin
Width:=菜单长度;
Height:=菜单高度;
end;
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, Buttons, ToolWin, ComCtrls, Menus;type
TForm1 = class(TForm)
MainMenu1: TMainMenu;
F1: TMenuItem;
Exit1: TMenuItem;
procedure F1MeasureItem(Sender: TObject; ACanvas: TCanvas; var Width,
Height: Integer);
procedure F1DrawItem(Sender: TObject; ACanvas: TCanvas; ARect: TRect;
Selected: Boolean);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;implementation{$R *.DFM}procedure TForm1.F1MeasureItem(Sender: TObject; ACanvas: TCanvas;
var Width, Height: Integer);
begin
Width := Acanvas.TextWidth(F1.Caption) + 8;
Height := Acanvas.TextHeight(F1.Caption) + 4;
end;procedure TForm1.F1DrawItem(Sender: TObject; ACanvas: TCanvas;
ARect: TRect; Selected: Boolean);
begin
if Selected then
begin
;//在这里画选中时的背景色
ACanvas.Font.Color := clHighLightText;
end
else
ACanvas.Font.Color := clWindowText;
ACanvas.TextRect(ARect, Arect.Left+4, Arect.Top+2, F1.Caption); // 注册快捷键的 & 字符被画出来了。
end;end.