屏幕相关操作(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的相关信息 在控制台输入: ...
随机推荐
- 头文件dirent.h
<dirent.h>是POSIX.1标准定义的unix类目录操作的头文件,包含了许多UNIX系统服务的函数原型,例如opendir函数.readdir函数. opendir函数: DI ...
- Swift内存管理、weak和unowned以及两者区别(如何使用Swift 中的weak与unowned?)
Swift 是自动管理内存的,这也就是说,我们不再需要操心内存的申请和分配. 当我们通过初始化创建一个对象时,Swift 会替我们管理和分配内存.而释放的原则遵循了自动引用计数 (ARC) 的规则:当 ...
- HDUOJ---------(1045)Fire Net
Fire Net Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total S ...
- scanf/sscanf %[]格式控制串的用法(转)
scanf/sscanf %[]格式控制串的用法 scanf中一种很少见但很有用的转换字符:[...]和[ ^...]. #include<stdio.h> int main() { ch ...
- js访问url和cookie
function QueryString() { var data = []; this.Read = function() { var aPairs, aTmp; var queryString = ...
- ubuntu修改固定ip
1.vi /etc/network/interfasces,添加红框内的内容:
- Android学习系列(10)--App列表之拖拽ListView(上)
研究了很久的拖拽ListView的实现,受益良多,特此与尔共飨. 鉴于这部分内容网上的资料少而简陋,而具体的实现过程或许对大家才有帮助,为了详尽而不失真,我们一步一步分析,分成两篇文章. ...
- Android Zip文件解压缩代码
2011-04-01 17:58:52| 分类: Android |举报 |字号 订阅 在Android平台中如何实现Zip文件的解压 缩功能呢? 因为Android内部已经集成了zlib库,对 ...
- WordPress For SAE进入后台
今天遇到一个非常easy可是花了我半个小时的问题:怎样进入WordPress For SAE后台. 介于百度上没有搜索到.所以写了这篇博客,简单,but有用. 首先我们会訪问自己的网站:独立游戏者er ...
- add printer driver error 1802修复说明
1.重启电脑后 ,将服务"Print Spooler"服务重新启动2.srclient.dll文件拷贝到c盘 windows/system32目录下3.连接好打印机USB接口,重装 ...