几何尺寸与公差论坛

 找回密码
 注册
查看: 3564|回复: 2

当我在其他机器上浏览的时候,发现字体不是设置的字体,字体变大了;而且有表格显示

[复制链接]
发表于 2008-7-8 11:06:12 | 显示全部楼层 |阅读模式
当我在其他机器上浏览的时候,发现字体不是设置的字体,字体变大了;而且有表格显示错位了;我的机器的分辨率是800*600,请问在其他高分
我在自己的机器上编制好ASP程序和网页,页面显示也正常,字体的显示也能CSS设置的字体显示;但是当我在其他机器上浏览的时候,发现字体不是设置的字体,字体变大了;而且有表格显示错位了;我的机器的分辨率是800*600,请问在其他高分辨率的机器上怎么能正确显示?谢谢了。
1 楼Mapleleaf123(为分而努力)回复于 2005-02-23 21:19:48 得分 10
你设置的CSS起作用了没有?还有设置字体大小时建议用PX,不用PT,(好像12px-9pt吧)试试看Top

2 楼ruyunluck()回复于 2005-02-24 07:53:51 得分 0

我设置的CSS在我的机器上起了作用的,PX、PT各表示什么啊?在高分辨率的机器上怎么能正确显示?Top

3 楼sfgdwso((:::一天:::))回复于 2005-02-24 08:14:24 得分 10

我从来不用800*600的   
   
  我用1024*768的没有问提,
Top

4 楼ksn520(泡菜.Net)回复于 2005-02-24 08:39:57 得分 10

最外层的大表格用像素,不要用百分比Top

5 楼wzhiyuan(我是谁)回复于 2005-02-24 09:52:29 得分 10

像素(Pixel):px,也就是屏幕上的一个点   
  点(Point):pt,绝对长度,1英寸=72pt   
  你的css有没用,看当你选IE菜单的查看   >   字体大小时,网页里的文字会不会变就知道了。
Top

6 楼ruyunluck()回复于 2005-02-24 10:03:28 得分 0

当选IE菜单的查看   >   字体大小时,网页里的文字如果变就说明CSS没有起作用,对吗?
 楼主| 发表于 2008-7-8 11:07:59 | 显示全部楼层

回复: 当我在其他机器上浏览的时候,发现字体不是设置的字体,字体变大了;而且有表

用这得到分辨率
GetSystemMetrics()
参数:
SM_CXSCREEN,
SM_CYSCREENTop

2 楼kwiner(ak.net)回复于 2002-11-18 10:49:00 得分 15

:程序中得到显示器的分辨率、刷新率与色深


char Current[100];
DEVMODE dm;
dm.dmSize=sizeof(DEVMODE);
::EnumDisplaySettings(NULL,ENUM_CURRENT_SETTINGS,&dm);
wsprintf(Current,"%s at %dx%d %dbpp %dHz",
dm.dmDeviceName,
dm.dmPelsWidth,
dm.dmPelsHeight,
dm.dmBitsPerPel,
dm.dmDisplayFrequency);

MessageBox(Current,"",MB_OK);


Top

3 楼blue3tooth(蓝牙)回复于 2002-11-19 12:19:54 得分 0

如何获得系统当前正在使用的字体(小字体还是大字体)?Top

4 楼blue3tooth(蓝牙)回复于 2002-11-21 08:55:42 得分 0

如何获的系統字型設定值plxs,请各位高手赐教Top

5 楼daniceexiedong(danice)回复于 2002-11-21 09:31:17 得分 0

只知道使用GetSystemMetrics()可以获得系统分辨率,怎样获得字体就不知道了Top

6 楼blue3tooth(蓝牙)回复于 2002-11-22 09:30:35 得分 0

以上问题我已解决方法是:
HDC DC;
DC=::GetDC(NULL);
if(GetDeviceCaps(DC,LOGPIXELSX)<=96)
FontBigSizeFlag=false; //small
else
FontBigSizeFlag=true; //large
::ReleaseDC(NULL,DC);
 楼主| 发表于 2008-7-8 11:09:33 | 显示全部楼层

回复: 当我在其他机器上浏览的时候,发现字体不是设置的字体,字体变大了;而且有表

如何让字体的大小不随系统DPI的改变而变化?
判断DPI的变化,重新设置字体。Top

2 楼pazee(耙子)(今年过年不收礼,收礼只收尿不湿)回复于 2003-11-29 17:18:55 得分 0

直接设置字体的 Font.Height
他和Size的关系是

height = - size * dpi / 72;
所以这个Hight的绝对值就是字体的像素Top

3 楼pazee(耙子)(今年过年不收礼,收礼只收尿不湿)回复于 2003-11-29 17:27:21 得分 0

在程序初始化的时候设置字体的Font.Height

96dpi下 size 9对应 -12Top

4 楼chifengwatch(chifengwatch)回复于 2003-11-29 18:54:27 得分 10

同意pazee(耙子)Top

5 楼Bors(Bors)回复于 2003-11-29 23:42:44 得分 0

我把Form上的所有的控件的ParentFont设为true.
在Form的构造函数和FormCreat()中都加了Font->Height = -12;
然后再120DPI的系统下运行,字还是大大的,没有变成96DPI时的样子。
奇怪,是不是我哪里做的不对?Top

6 楼jbz(虚心求教)回复于 2003-11-30 00:02:21 得分 5

傻问一次:

“系统DPI”在哪里可以设置?Top

7 楼pazee(耙子)(今年过年不收礼,收礼只收尿不湿)回复于 2003-11-30 01:09:50 得分 25

DPI 在控制面板-〉显示属性-〉外观-〉字体

to 楼主:
并不是所有的字号windows都支持,
12*72/120=7.2

windows没办法支持 Size=7.2磅的字号,所以他就显示不了。
这一点你可以通过调整字号为7看看,应该不行。

除非你用大字体,这个办法才行。Top

8 楼iYoung()回复于 2003-11-30 16:44:00 得分 0


Form->Scaled = false 后,窗体上所有对象大小都不随系统 dpi 变化而变化,所以这个设置已经足够。不过要注意,由于标题栏等系统对象的尺寸将发生变化,窗体的客户区尺寸也可能发生变化,需要有额外的调整。

指定了字体 Height,则无论在 96dpi 下还是 120dpi 下,文字的高度(pixels)都是相同的,和字号无关。Top

9 楼Bors(Bors)回复于 2003-11-30 17:44:38 得分 0

我在Form的构造函数和FormCreat()中都加了Font->Height = -12;
但在DPI120和96下面就是不一样。
是不是加的地方不对?
Top

10 楼iYoung()回复于 2003-12-02 20:33:34 得分 20

不可能不对。注意你设置的是 Form 的字体。
Top

11 楼warton(创业群13734424 http://www.anywhy.cn)回复于 2003-12-02 20:45:43 得分 25

void __fastcall TMainFm::FormCreate(TObject *Sender)
{

if(PixelsPerInch!=96)
{
ScaleBy(96,PixelsPerInch);
}
}Top

12 楼Bors(Bors)回复于 2004-01-11 15:56:36 得分 0

我发现是和字体有关。有的字体可以,有的就不行。
不过,多谢各位回答。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|Archiver|小黑屋|几何尺寸与公差论坛

GMT+8, 2024-3-29 23:30 , Processed in 0.041877 second(s), 19 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表