1.DELPHI中窗体显示方法解析!
视窗系统能将多个显示器映射为虚拟桌面,使我们能利用这一点设计出方便工作的应用程式。
例如PowerPoint就充分发挥了双显示器的优势(大多数的笔记本计算机都支持),他能在一个显示器上播放幻灯片,而在另一个显示器上显示备注,能控制播放的进程,使使用者做商务演说的时候非常等心应手。那么我们怎么研发这种应用程式呢?这篇文章将向你展示如果用Delphi实现使用多显示器的应用程式。
视窗系统还支持克隆显示方式,每个显示器输出同样的内容,这对某些应用也是有意义的。更有些显卡虽然也支持两个显示器,不过他们并不是真正意义上的多显示器,而是虚拟高分辨率显示模式(如2048*768或1024*1536),通过显卡将画面分别显示到两个显示器上。
这两种显示模式都不是本文介绍的zhongdian,而且也非常简单,所以我们也就不再赘述了。视窗系统最多支持10个显示器,视窗系统将所有显示器映射为一个大的虚拟桌面。
能将显示器理解为桌面某个局部的视图。在显示属性中能根据显示器的物理位置任意排布这些显示器。
如果显示器的排列不规则,虚拟桌面上的某些部分可能无法显示在所有一个显示器上。为了不使一个窗体显示在两个显示器之间等原因的考虑,视窗系统将一个显示器作为主显示器。
启动计算机时,登录对话框就显示在主显示器中。绝大多数程式启动示,都会显示在主监视器中。
根据上述介绍,不难发现几个重要的概念:桌面、显示器、主显示器等。首先必须先弄清晰这些概念及他们之前的关系。
这是掌控多显示器应用程式研发方法的重点。理解了这些概念,其他的部分就非常好理解了。
桌面实际上是指视窗系统可显示的逻辑区域。实际上是能将一个窗体显示到桌面之外的。
然而这并不是说桌面的所有部分都会显示在某台显示器上(原因如前所述);但反过来说,所有一个显示器显示的内容都必然是桌面的一部分。桌面是个矩形区域,能通过顶点坐标(Top,Left)和宽高来描述桌面的尺寸。
为什么还需要顶点坐标呢?因为顶点坐标不是想当然的(0,0)。那么(0,0)在哪里呢?说来话长,还是让我们先来回顾一下刚才提到地一个概念??主显示器吧。
视窗系统希望一般的程式初始的时候显示到主显示器,因为人们习惯于关注一个离自己最近的显示器。而视窗系统也不可能强制用户把最左边一个显示器作为主显示器,这样一来应用程式为了把自己显示到主显示器,就需要费脑筋的计算。
然而,多数用户都只有一个显示器(两个显示器实在太占地方了),而一般的应用程式也不希望大费周章的去计算主显示器在哪里,自己应该显示在什么位置。所以视窗系统提出了一个合理的解决方案:以主显示器的顶点坐标作为坐标系的原点。
这样一来,普通的程式之需要想在单显示器环境中相同考虑问题就能了。显示器是桌面的局部视图。
就似乎透过窗户看窗外的风景,站在不同的窗前就能看到不同的画面。同样的,显示器也是个矩形区域,同样能通过顶点坐标(Top,Left)和宽高来描述他的尺寸。
顶点坐标是相对于桌面坐标系原点的,也就是相对于主显示器的顶点。工作区的概念比较简单,他是指显示器中除了任务条和其他停靠在桌面上的窗体之外的矩形区域。
视窗系统为多显示器应用程式的研发提供了一组API。VCL将这些API封装起来,非常自然的融入整个Framework之中,使得研发多显示器应用程式变得非常简单。
下面就介绍和之相关的内容。在VCL之中大家最熟悉的恐怕非TCustomForm莫属了,他是所有窗体的基类。
TCustomForm的Position属性用来设置窗体的现实位置,其可选值中有两个是值得关心的:一个是poScreenCenter,当Position属性被设置成poScreenCenter时,窗体会显示到主显示器的中心;另一个是poDesktopCenter,当Position属性被设置成poDesktopCenter时,窗体显示在整个桌面的中心。如果把这个属性设成poDesktopCenter,程式又运行在一个有多台显示器的系统上,那么这个窗口就会显示在两个显示器之间,会给用户带来不必要的麻烦。
因此即使我们的程式不是针对多显示器而设计的,也应该细心处理这个值。另外一个属性是DefaultMonitor,他的作用和Position有些类似,决定窗口最初显示在哪个显示器内。
他有四个备选值:dmDesktop,dmPrimary,dmMainForm和dmActiveForm。他们的含义如下:Value MeaningdmDesktop 不特别处理dmPrimary 将窗体显示到第一个显示器上。
这又是个陷阱,字面上理解是主显示器,而事实上他是指Screen.Monitor[0]这个显示器。dmMainForm 将窗体显示到主窗体所在的显示器dmActiveForm 将窗体显示到桌面上活动窗体所在的显示器TCustomForm更有一个只读的共有属性(没有Published)Monitor,他提供了访问窗体所在显示器实例的引用,这个值和DefaultMonitor是有紧密的关联的。
那么怎么在使窗体在不同的显示器之间移动呢?这并不困难,估计你也想到了。这里介绍两种方法:第一, 能设置TCustomForm的Top和Left使窗体显示在桌面的任意位置。
正如前面所述,桌面是由所有显示器组成的。他们有一起的坐标系,所以能根据显示器的逻辑位置决定窗体的位置。
2.vc Win10使用DPI缩放后,控件大小位置都变了,有些文本都显示不
1、首先,在Win10的桌面点击鼠标右键,选择“显示设置” 2、在“显示设置”的界面下方,点击“高级显示设置” 3、在“高级显示设置”的界面中,点击下方的“文本和其他项目大小的调整的高级选项” 4、然后,点击“更改项目的大小”下面的“设置自定义缩放级别” 5、这里,选择100%,就代表着正常的缩放级别。
所以,改成100%就好了,但要记得点击“确定”,在点击“应用” 6、然后,计算机会提示你“你必须注销计算机才能应用这些修改”,点击“立即注销”,之后从新进入Windows10,此时程序上的模糊字体就变得清晰了。
3.怎样把win10系统下应用程序窗口全屏的方法
win10系统中把窗口化的应用商店切换到全屏的方法:
首先点击“开始”按键,选择一个应用商城中的应用,在这里小编以“应用商城”为例。
进入“应用商城”后只要点击右上角的最大化的按钮,即最大化显示,细心的网友可能发现,这只是最大化显示,而不是全屏显示。
点击左上角3个点的符号。
选择最下面的“全屏显示”,该应用即全屏显示。
将应用商店全屏化,将会显示更多的应用,而且图片也变得更加清晰,让用户们选择应用和下载应用都变的更方便。
转载请注明出处windows之家 » delphiwin10窗体显示不完整