屏幕相关操作(XE10.1+WIN8.164)

相关资料:
http://www.bianceng.cn/Programming/Delphi/201104/25455.htm
http://blog.csdn.net/anbangs/article/details/5008923
http://bbs.csdn.net/topics/280065261?locationNum=11
注意事项:
1.改屏幕分辨率时,不是随意的,如果显示器不支持的话,只能右击属性里面看一下支持哪些分辨率。
实例代码:
unit Unit1; interface uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Vcl.ExtCtrls,
Vcl.Imaging.jpeg; type
TForm1 = class(TForm)
Button2: TButton;
Button3: TButton;
Button4: TButton;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Button1: TButton;
Image1: TImage;
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end; var
Form1: TForm1; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject);
var
mmW,mmH: Integer;
pixW,pixH: Integer;
pm: Double;
begin
{以毫米为单位获取屏幕尺寸}
mmW := GetDeviceCaps(Canvas.Handle, HORZSIZE);
mmH := GetDeviceCaps(Canvas.Handle, VERTSIZE);
ShowMessageFmt('屏幕宽: %d 毫米; 屏幕高: %d 毫米', [mmW, mmH]);
{屏幕宽: 510 毫米; 屏幕高: 287 毫米}
{以像素为单位获取屏幕尺寸}
pixW := GetDeviceCaps(Canvas.Handle, HORZRES);
pixH := GetDeviceCaps(Canvas.Handle, VERTRES);
ShowMessageFmt('屏幕宽: %d 像素; 屏幕高: %d 像素', [pixW, pixH]);
{屏幕宽: 1920 像素; 屏幕高: 1080 像素}
{当前状态下, 1 毫米等于多少像素?}
ShowMessage(FloatToStr(pixW / mmW)); {3.76470588235294}
ShowMessage(FloatToStr(pixH / mmH)); {3.76306620209059}
{一步获取}
pm := GetDeviceCaps(Canvas.Handle, HORZRES) / GetDeviceCaps(Canvas.Handle, HORZSIZE);
ShowMessage(FloatToStr(pm)); {3.76470588235294}
end; procedure TForm1.Button2Click(Sender: TObject);
var
lpDevMode: TDeviceMode;
begin
EnumDisplaySettings(nil, , lpDevMode);
lpDevMode.dmFields := DM_PELSWIDTH or DM_PELSHEIGHT;
lpDevMode.dmPelsWidth := ;
lpDevMode.dmPelsHeight := ;
ChangeDisplaySettings(lpDevMode, );
end; procedure TForm1.Button3Click(Sender: TObject);
begin
Label1.Caption := IntToStr(screen.width);//宽
Label2.Caption := IntToStr(screen.height);//高
Label3.Caption := IntToStr(Screen.MonitorCount);//显示器数量
end; procedure TForm1.Button4Click(Sender: TObject);
begin
//我的电脑最大支持1920,所以返回的是1920
case GetDeviceCaps(GetDC(Form1.Handle), HORZRES) of
: //对640×480分辨率进行处理的代码;
begin
end;
: //对800×600分辨率进行处理的代码;
begin
end;
: //对1024×768分辨率进行处理的代码;
begin
end;
: //对1280×1024分辨率进行处理的代码;
begin
end;
://1600*900
begin
end;
://1920*1080
begin
end;
end;
end; end.
屏幕相关操作(XE10.1+WIN8.164)的更多相关文章
- 屏幕亮度(XE10.1+WIN8.164)
相关资料: http://bbs.csdn.net/topics/390664310 实例代码: unit Unit1; interface uses Winapi.Windows, Winapi.M ...
- Android 图片文件操作、屏幕相关、.9图片的理解
一:Android图片操作 1.存储bitmap到本地文件系统 public static void bitmapToFile(Bitmap bitmap, String uri) { if(!ex ...
- 获得硬盘的ID序列号(XE10.1+WIN8.1)
疯狂delphi DelphiXE公开课群:100162924.58593121 朱建强QQ:513187410 获得硬盘的ID序列号(XE10.1+WIN8.1) 相关资料: https://zhi ...
- yum安装_yum命令的相关操作
2017年1月11日, 星期三 yum安装的四种方式 一.默认:从国外下载 二.国内:从阿里获取 http://mirrors.aliyun.com 1. cd /etc/yum.repos.d 2 ...
- 从零自学Hadoop(20):HBase数据模型相关操作上
阅读目录 序 介绍 命名空间 表 系列索引 本文版权归mephisto和博客园共有,欢迎转载,但须保留此段声明,并给出原文链接,谢谢合作. 文章是哥(mephisto)写的,SourceLink 序 ...
- 从零自学Hadoop(21):HBase数据模型相关操作下
阅读目录 序 变量 数据模型操作 系列索引 本文版权归mephisto和博客园共有,欢迎转载,但须保留此段声明,并给出原文链接,谢谢合作. 文章是哥(mephisto)写的,SourceLink 序 ...
- 理解CSV文件以及ABAP中的相关操作
在很多ABAP开发中,我们使用CSV文件,有时候,关于CSV文件本身的一些问题使人迷惑.它仅仅是一种被逗号分割的文本文档吗? 让我们先来看看接下来可能要处理的几个相关组件的词汇的语义. Separat ...
- Liunx下的有关于tomcat的相关操作 && Liunx 常用指令
先记录以下liunx下的有关于tomcat的相关操作 查看tomcat进程: ps-ef|grep java (回车) 停止tomcat进程: kill -9 PID (进程号如77447) (回车) ...
- pip的相关操作
>Python中的pip是什么?能够做些什么? pip是Python中的一个进行包管理的东西,能够下载包.安装包.卸载包......一些列操作 >怎么查看pip的相关信息 在控制台输入: ...
随机推荐
- JS禁止后退键(backspace)使浏览器后退
背景说明: 今天项目测试中,同事发现一个Bug,当键盘敲下后退键(Backspace)后,浏览器自动后退,不符合需求,故建议禁止浏览器后退键. 提出需求: 当键盘敲下后退键(Backspace)后 1 ...
- 22、集合(Collection)
一.集合(Collection) 1.简介 Collection是一个接口,其定义了集合的相关功能方法.Collection继承了Iterable接口,而Iterable接口有一个方法Iterator ...
- IBM InfoSphere DataStage 8.1 DataStage Job 开发具体解释
简单介绍 DataStage 使用了 Client-Server 架构,server端存储全部的项目和元数据,client DataStage Designer 为整个 ETL 过程提供了一个图形化的 ...
- Object-c中block需要注意的几点问题
1. Block定义 1) 说明: a. Block是OC中的一种数据类型,在iOS开发中被广泛使用 b. ^是Block的特有标记 c. Block的实现代码包含在{}之间 d. 大多情况下,以内联 ...
- NYOJ-------三角形
Problem A 三角形 时间限制:1000 ms | 内存限制:65535 KB 描述 在数学中,如果知道了三个点的坐标,我们就可以判断这三个点能否组成一个三角形:如果可以组成三角形,那么 ...
- 【LeetCode】39. Combination Sum (2 solutions)
Combination Sum Given a set of candidate numbers (C) and a target number (T), find all unique combin ...
- Android音乐播放器开发
今日看书,看到这个播放器,我就写了个例子,感觉还行,这个播放器能播放后缀是.MP3的音乐,这个例子在main.xml设置listView的时候,注意:android:id="@+id/and ...
- Kafka日志清除策略
一.更改日志输出级别 config/log4j.properties中日志的级别设置的是TRACE,在长时间运行过程中产生的日志大小吓人,所以如果没有特殊需求,强烈建议将其更改成INFO级别.具体修改 ...
- lua学习笔记13:协程具体解释和举例
一.coroutine.create创建协程 參数是协程的主函数,返回一个thread对象 co = coroutine.create(function() print("coroutine ...
- Jvisualvm监控远程linux下Tomcat
Jvisualvm监控远程linux下Tomcat 1.编辑tomcat/bin/catalina.sh 加入下面这段代码,中间无换行: CATALINA_OPTS="$CATALINA_O ...