在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
微软雅黑字体在没有开启ClearType效果时显示会一塌糊涂,最近项目中因使用了雅黑字体,所以系统启动时候需要自动开启这个功能. 网上大部份资料都是针对注册表的,几乎没有什么用. 相关位置:HKEY_CURRENT_USER\Control Panel\Desktop 类似如下: if NOT reg.ValueExists('FontSmoothing') then reg.WriteString('FontSmoothing','2'); if NOT reg.ValueExists('FontSmoothingType') then reg.WriteInteger('FontSmoothingType',2); 下面的方法是通过调用SystemParametersInfo来实现:98和2000没有ClearType的功能 使用方法: Font smoothing is handled by the OS, but can be controlled via the SystemParametersInfo API. Please note that the smoothing type does not apply to Win2K, only XP and above. // Example usage const FE_FONTSMOOTHINGSTANDARD = $00000001; FE_FONTSMOOTHINGCLEARTYPE = $00000002; SPI_GETFONTSMOOTHINGTYPE = $0000200A; SPI_SETFONTSMOOTHINGTYPE = $0000200B; procedure TForm1.Button1Click(Sender: TObject); var dwType: DWORD; bIsSet: BOOL; begin if SystemParametersInfo(SPI_GETFONTSMOOTHING, 0, @bIsSet, 0) then begin if bIsSet then begin ShowMessage('Font smoothing is applied'); if SystemParametersInfo(SPI_GETFONTSMOOTHINGTYPE, 0, @dwType, 0) then begin case dwType of FE_FONTSMOOTHINGSTANDARD : ShowMessage('Smoothing type is standard'); FE_FONTSMOOTHINGCLEARTYPE : ShowMessage('Smoothing type is clear type'); end; end; end else ShowMessage('Font smoothing not is applied'); end; // Enable clear type font smoothing SystemParametersInfo(SPI_SETFONTSMOOTHING, 1, nil, SPIF_UPDATEINIFILE or SPIF_SENDCHANGE); SystemParametersInfo(SPI_SETFONTSMOOTHINGTYPE, 0, Pointer(FE_FONTSMOOTHINGCLEARTYPE), SPIF_UPDATEINIFILE or SPIF_SENDCHANGE); // Disable font smoothing SystemParametersInfo(SPI_SETFONTSMOOTHING, 0, nil, SPIF_UPDATEINIFILE or SPIF_SENDCHANGE); end; |
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论