SOS!!!一个菜单的问题,在线等待!

ilang 2002-06-28 04:11:49
下午看了一篇文章,关于改变菜单字体大小的,我调试了一下,发现系统的菜单字体,间距也全改变了,且不可恢复,再调试几遍,发现非常糟糕的问题出现了,菜单的字体可以改变回来,但间距不可恢复!越来越大,竟然占据了整个屏幕!!现在的问题是:怎么恢复???
那段代码如下:
{读取}

function GetMenuFontSize: Integer;
var
ncm: TNonClientMetrics;
PixelsPerInch: integer;
begin
ncm.cbSize := sizeof(TNonClientMetrics);
SystemParametersInfo(
SPI_GETNONCLIENTMETRICS,
sizeof(NONCLIENTMETRICS),
@ncm,
SPIF_UPDATEINIFILE
);
PixelsPerInch := GetDeviceCaps(GetDC(0), LOGPIXELSY);
Result := -MulDiv(ncm.lfMenuFont.lfHeight, 72, PixelsPerInch);
end;

{ 设置}
procedure SetMenuFontSize(FontSize: Integer);
var
ncm: TNonClientMetrics;
PixelsPerInch: Integer;
begin
ncm.cbSize := sizeof(TNonClientMetrics);
SystemParametersInfo(
SPI_GETNONCLIENTMETRICS,
sizeof(NONCLIENTMETRICS),
@ncm,
0
);

PixelsPerInch := GetDeviceCaps(GetDC(0), LOGPIXELSY);
ncm.lfMenuFont.lfHeight := -MulDiv(FontSize, PixelsPerInch, 72);

SystemParametersInfo(
SPI_SETNONCLIENTMETRICS,
sizeof(NONCLIENTMETRICS),
@ncm,
SPIF_UPDATEINIFILE
);
end;

...全文
49 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
cxx1997 2002-06-28
  • 打赏
  • 举报
回复
UP
ilang 2002-06-28
  • 打赏
  • 举报
回复
分数本来应该给我的同事,他解决的问题,今天我高兴,随便了
ryuxy 2002-06-28
  • 打赏
  • 举报
回复
直接在属性->外观->方案里改回来不就得了,那有那么复杂
ilang 2002-06-28
  • 打赏
  • 举报
回复
是的,就是这么简单,只是我一直想在程序里什么恢复,越搞越复杂
luoweicaisd 2002-06-28
  • 打赏
  • 举报
回复
其实它是改了系统的桌面设置,要改回来就用显示属性->外观->方案改成标准就可以了。
luoweicaisd 2002-06-28
  • 打赏
  • 举报
回复
其实它是改了系统的桌面设置,要改回来就用显示属性->外观->方案改成标准就可以了。
ilang 2002-06-28
  • 打赏
  • 举报
回复
我自己也在试,加了这样一段代码,菜单可以恢复,但新的问题出现了,所有的图标包括窗口的最大化、最小化图标都变的很小,连窗体的滚动条大小都变了!代码是这样的:
var
Form1: TForm1;
MyNCM: TNonClientMetrics;
OriginalWidth, OriginalHeight: Integer;

MyNCM.cbSize := SizeOf(TNonClientMetrics);

{set the size of the buttons to the original size}
MyNCM.iCaptionWidth := OriginalWidth;
MyNCM.iCaptionHeight := OriginalHeight;

SystemParametersInfo(SPI_SetNonClientMetrics,SizeOf(TNonClientMetrics),
@MyNCM,SPIF_SENDWININICHANGE);
IceXie 2002-06-28
  • 打赏
  • 举报
回复
没试过,经你说更不敢了。gz,等高手
ilang 2002-06-28
  • 打赏
  • 举报
回复
我很急,感觉很糟糕

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧