M mikedeakins Unregistered / Unconfirmed GUEST, unregistred user! 2001-05-26 #2 owner draw 然后自己制定字体自己画。
A aerobull Unregistered / Unconfirmed GUEST, unregistred user! 2001-05-26 #3 procedure Tmainf.dataNMeasureItem(Sender: TObject; ACanvas: TCanvas; var Width, Height: Integer); begin with ACanvas do begin font.Name := '宋体'; Font.Size := 20; Width := 120; height := 32; end; end; 懂了吗?
procedure Tmainf.dataNMeasureItem(Sender: TObject; ACanvas: TCanvas; var Width, Height: Integer); begin with ACanvas do begin font.Name := '宋体'; Font.Size := 20; Width := 120; height := 32; end; end; 懂了吗?
F fu_xiang_yu Unregistered / Unconfirmed GUEST, unregistred user! 2001-05-27 #5 aerobull的办法没用,好像menuitem的font是固定的
T tomboy Unregistered / Unconfirmed GUEST, unregistred user! 2001-05-27 #8 htw:你又比我快一步!! 强烈建议用cool menu,爽得很,你想咱个画就咱个画
刘 刘李子 Unregistered / Unconfirmed GUEST, unregistred user! 2001-05-27 #10 aerobull 的方法首先要设置菜单为OWNERDRAW风格。
F fu_xiang_yu Unregistered / Unconfirmed GUEST, unregistred user! 2001-05-27 #12 不错,我试了试,要设置ownerdraw为true 但如果使用了skinform中的tskinEngine,它连接的mainmenu中 的字体总是MS Sans Serif中的规则8号字,用老赵和李子的方法 好像都不行 有没有办法?
不错,我试了试,要设置ownerdraw为true 但如果使用了skinform中的tskinEngine,它连接的mainmenu中 的字体总是MS Sans Serif中的规则8号字,用老赵和李子的方法 好像都不行 有没有办法?
8 8qing Unregistered / Unconfirmed GUEST, unregistred user! 2001-05-27 #14 我想对TMenu加入一个font属性,查看了controls.pas文件,还是一头雾水 不知能否贴上源码?
D doxpix Unregistered / Unconfirmed GUEST, unregistred user! 2001-05-27 #15 解决! TMainMenu1.OwnerDraw:=true; procedure TForm1.FormCreate(Sender: TObject); begin screen.MenuFont.name:='@黑体'; end;
解决! TMainMenu1.OwnerDraw:=true; procedure TForm1.FormCreate(Sender: TObject); begin screen.MenuFont.name:='@黑体'; end;
8 8qing Unregistered / Unconfirmed GUEST, unregistred user! 2001-05-27 #16 看来只能靠自己了,给自已打个气,不知大家还有什么好的方法? procedure TForm1.FormCreate(Sender: TObject); var ncm: TNonClientMetrics; PixelsPerInch: Integer; begin ncm.cbSize := sizeof(TNonClientMetrics); SystemParametersInfo( SPI_GETNONCLIENTMETRICS, sizeof(NONCLIENTMETRICS), @ncm, 0 ); PixelsPerInch := GetDeviceCaps(GetDC(0), LOGPIXELSY); //设置字体 ncm.lfMenuFont.lfFaceName:='宋体'; //菜单高度 ncm.iMenuHeight:= -MulDiv(8,PixelsPerInch,72)*(-2); //字体高度 ncm.lfMenuFont.lfHeight := -MulDiv(9, PixelsPerInch, 72); SystemParametersInfo( SPI_SETNONCLIENTMETRICS, sizeof(NONCLIENTMETRICS), @ncm, SPIF_UPDATEINIFILE); end;
看来只能靠自己了,给自已打个气,不知大家还有什么好的方法? procedure TForm1.FormCreate(Sender: TObject); var ncm: TNonClientMetrics; PixelsPerInch: Integer; begin ncm.cbSize := sizeof(TNonClientMetrics); SystemParametersInfo( SPI_GETNONCLIENTMETRICS, sizeof(NONCLIENTMETRICS), @ncm, 0 ); PixelsPerInch := GetDeviceCaps(GetDC(0), LOGPIXELSY); //设置字体 ncm.lfMenuFont.lfFaceName:='宋体'; //菜单高度 ncm.iMenuHeight:= -MulDiv(8,PixelsPerInch,72)*(-2); //字体高度 ncm.lfMenuFont.lfHeight := -MulDiv(9, PixelsPerInch, 72); SystemParametersInfo( SPI_SETNONCLIENTMETRICS, sizeof(NONCLIENTMETRICS), @ncm, SPIF_UPDATEINIFILE); end;
8 8qing Unregistered / Unconfirmed GUEST, unregistred user! 2001-05-27 #17 上面的不一定是最好,最好的是建立个Tfont类,可惜其 中许多关节打不通,哎,谁能帮我?
F fineboy Unregistered / Unconfirmed GUEST, unregistred user! 2001-05-28 #19 coolmenu 轻松搞定。 不过最好是用高版本的结合低版本的。setsysteminfo()不推荐。菜单效果太单一。