网站建设的实习报告,宁波seo软件,网站一次性链接怎么做,看盘神器app不同DPI下窗体的自适应的有关注意点#xff08;转自#xff1a;http://hi.baidu.com/superkinger/blog/item/79e047ec6c80563526979197.html#xff09; 1. 在设计窗体的时候需要考虑是否允许程序在不同DPI自适应窗体#xff0c;不自适应的优点是在不同的DPI下看到的…不同DPI下窗体的自适应的有关注意点转自http://hi.baidu.com/superkinger/blog/item/79e047ec6c80563526979197.html 1. 在设计窗体的时候需要考虑是否允许程序在不同DPI自适应窗体不自适应的优点是在不同的DPI下看到的结果基本是一样的缺点是可能在不同的DPI下看起来太小或者太大。 2. 如果不想自适应窗体则设置窗体的Scaled为False 3. 如果需要自适应窗体则设置窗体的Scaled为TrueDelphi的窗体默认是允许Scaled的 4. 将AutoScroll属性设置为False并保存窗体AutoScroll为True表示不在运行期改变窗体的大小这样当窗体的字体和组件进行缩放时看起来就会很糟糕。在Delphi 7下如果窗体可以调整大小则AutoScroll会自动设定为True而我们大部分的程序都是可以改变窗体大小的Delphi默认的窗体也是可以改变窗体大小的所以很多时候窗体就被不小心设置为Scaled和AutoScroll都是True了 5. 将窗体的自己设置为可以自适应的TrueType字体如Arial,Tahoma等MS San Serif不是TrueType的虽然大部分情况下看起来还行。Delphi 2006调整了窗体的默认字体为Tahoma可是之前版本的Delphi的窗体的默认字体都是MS San Serif这个字体也是在Windows 2000等系统下看起来正常的中文字体到了Win98下却很小很丑的元凶 6. 如果使用的字体在运行的操作系统中没有则Windows会自动在缺失字体的同一体系中选择一种替换字体不过替换字体的大小与原来设定的字体很可能不同这样也可能会导致问题。可以通过向%WinDir%\Fonts添加字体也可以通过系统消息向系统注册字体 7. 将窗体的Position属性设置为除poDesigned之外的值Delphi 2006中的poDefaultPosOnly也不可以因为如果设计的时候窗体被拉到Left为650的地方那么窗体在640*480的分辨率下就会看不到了。 8. 不要将窗体上的各个控件挤在一起起码要给各个控件之间留4个像素的位置这样当Border属性等导致控件变化的时候不会导致控件重叠在一起。 9. 给单行的Align属性不是alCenter的Label设置AutoSize为True。多行的Label不要设置AutoSize为True 10. 给Label/CheckBox等等控件足够的空白范围以便当字体宽度变化时变化。预留当前长度的25%是比较好的如果要进行多语翻译则需要更多留白至少30%。如果Label的AutoSize为False则要Label的Width就要足够大。对于多行的Label在Label的底部起码多留一行的空间。 11. 不要在不同的DPI下在IDE中打开并保存窗体和包含窗体的代码文件。对于SCM推荐使用小字体-96DPIWindows经典主题 12. 无论是在运行期还是在设计期都不要多次ReScale窗体因为每次Scale都会带来浮点精度的舍去也不要修改一个窗体的PixelsPerInch属性IDE会阻止该属性的修改但是却不能阻止手工修改此外也不要直接修改dfm中的窗体大小等等信息TextHeight属性也不能修改。 13. 设计窗体的时候要考虑窗体的大小不要超过程序能运行的最小分辨率。 14. 设计窗体时要合理设置控件的Anchors/Align等属性。 15. 此外如TComboBox/TDBLookupCombo等等组件也需要尽量给足宽度否则可能会看不到完整的信息。 16. 在程序中不要使用固定的控件位置和大小因为这些都可能在运行时变化。如Button.Top : 50等 17. 设置了AutoResize的TImage的图片不会自动放大或缩小所以不可以采用利用设计期的图片的大小来只显示部分图像的方法。 18. 如果窗体可以记忆上一次运行的大小、位置、WindowsState等在Load的时候需要注意要确保窗体在屏幕上可见以及不要调整不能调整大小的窗体的大小。 19. TFrame是为了在设计期复用窗体而引入的如果要将运行期的窗体嵌入到别的窗体则需要使用TForm。DBStudio就不恰当的使用了TFrame 20. 在多语程序中可能会涉及到字体的修改这时也应该考虑多DPI设定的情况。 21. 如果一个电脑在多DPI间切换则注册表保存的窗体大小和位置等信息也需要被小心处理。转载于:https://www.cnblogs.com/mumble/archive/2010/05/11/1732935.html