سلام
آیا می توان فونت وسایر MainMenu را عوض کرد؟
Printable View
سلام
آیا می توان فونت وسایر MainMenu را عوض کرد؟
سلام
رویداد OnAdvanceDrawItems و OnMeasureItem تمام MenuItem ها رو به دو Procedure زیر Link کنید :
این تایپ توی کد رو هم به قسمت type اضافه کنید :
type
TMyMenuItem = class(TMenuItem);
//--------------------------------
procedure TForm1.MeasureItem(Sender: TObject; ACanvas: TCanvas;
var Width, Height: Integer);
var
OldMeasureItem: TMenuMeasureItemEvent;
begin
with (Sender as TMenuItem) do
begin
OldMeasureItem := OnMeasureItem;
OnMeasureItem := nil;
ACanvas.Font.Name := 'Courier New';
ACanvas.Font.Size := 14;
TMyMenuItem(Sender).MeasureItem(ACanvas, Width, Height);
OnMeasureItem := OldMeasureItem;
end;
end;
//--------------------------------
procedure TForm1.AdvancedDrawItem(Sender: TObject; ACanvas: TCanvas;
ARect: TRect; State: TOwnerDrawState);
var
OldAdvancedDrawItem: TAdvancedMenuDrawItemEvent;
begin
with Sender as TMenuItem do
begin
OldAdvancedDrawItem := OnAdvancedDrawItem;
OnAdvancedDrawItem := nil;
ACanvas.Font.Name := 'Comic Sans MS';
ACanvas.Font.Size := 14;
DrawMenuItem(TMenuItem(Sender), ACanvas, ARect, State);
OnAdvancedDrawItem := OldAdvancedDrawItem;
end;
end;
لطفا اگر اشکالی در این کد بود ، خبر بدین .
بهترین راه استفاده از کامپوننت XPMenu است یک ابزار رایگان است با یک سرچ کوچک پیدا می شود
من ازکد استفاده کردم ولی تغییری ایجاد نشد
تایید میشه، این هم لینکش: http://www.shagrouni.com/english/software/xpmenu.html
من کد رو ، Upload میکنم که همراه Exe هست
البته من این کد رو از جایی گرفته بودم که Link اون رو یادم نیست !
با اجازه شمامن این برنامه رو در تاپیک برنامه های کاربردی و مهم میزارمنقل قول:
نوشته شده توسط Mahyaa
متشکر حالا جواب داد......