如何实现取当前Windows操作系统使用的Font,及其大小?
解决方案 »
- dbgild怎么显示多个查询
- 关于数据库记录循环后移
- 举一个"用多线程实现比用进程实现效率高"的例子,谢谢!
- delphi7 THTTPRIO 组件在windows2003上使用调用webservice报内存错误的问题
- 如何获得某个月的最后一天?
- 如何得到 本执行程序 耗用的内存!!!
- 错误提示“Asynchronous socket error”可以在哪里得到祥解?
- 一个小问题:数据库表的字段是英文的,怎样在Grid里显示中文字段名?
- 用DELPHI控制下载弹出窗口,并点击保存为何不行
- faint,单步运行没有问题,执行时却报异常
- 一段关于在form 窗口中写字 的代码,为什么不行??
- 用adoquery或adotable取得的结果集能否如后台表功能一样做第二次查询?如果能,该怎么写编码?
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 TForm1.Button1Click(Sender: TObject);//调用
begin
edit1.Text:=inttostr(GetMenuFontSize);
end;
谢谢你!字体大小是能取出来,那字体类型呢?(如是宋体还是楷体等等)
var i:integer;
begin
for i:=0 to screen.Fonts.Count-1 do
begin
combobox1.Items.Add(screen.Fonts.Strings[i]);
end;
end;
begin
Memo1.Lines.Values['Screen.MenuFont.Size'] := IntToStr(Screen.MenuFont.Size);
Memo1.Lines.Values['Screen.MenuFont.Name'] := Screen.MenuFont.Name; Memo1.Lines.Values['Screen.HintFont.Size'] := IntToStr(Screen.HintFont.Size);
Memo1.Lines.Values['Screen.HintFont.Name'] := Screen.HintFont.Name; Memo1.Lines.Values['Screen.IconFont.Size'] := IntToStr(Screen.MenuFont.Size);
Memo1.Lines.Values['Screen.IconFont.Name'] := Screen.MenuFont.Name;
end