CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
花落谁家,你作主! 盛大widget设计大赛英雄榜
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Delphi >  VCL组件开发及应用

怎样写代码知道显示模式是800*600还是1024*768?请指点

楼主zhengkapi(zhengkapi)2002-05-17 10:38:44 在 Delphi / VCL组件开发及应用 提问

怎样写代码知道显示模式是800*600还是1024*768?请指点 问题点数:30、回复次数:11Top

1 楼Liujc(阿聪)回复于 2002-05-17 10:42:41 得分 4

x   :=   GetSystemMetrics(SM_CXSCREEN);  
  iBitsPerpel   :=   GetDeviceCaps(GetDc(0),   BITSPIXEL);//颜色数Top

2 楼artman(The Final.)回复于 2002-05-17 10:43:54 得分 3

TScreenTop

3 楼yangrenzhi()回复于 2002-05-17 10:46:56 得分 3

Screen->Height  
  Screen->WidthTop

4 楼sogh(青山之音)回复于 2002-05-17 10:47:12 得分 4

OldWidth   :=   GetSystemMetrics(SM_CXSCREEN);      
  OldHeight   :=   GetSystemMetrics(SM_CYSCREEN);      
  Top

5 楼dancemaple(枫之舞)回复于 2002-05-17 10:47:12 得分 4

iHeight   :=   Screen.Height;  
  iWidth   :=   Screen.Width;Top

6 楼zhengkapi(zhengkapi)回复于 2002-05-17 11:20:56 得分 0

TO:楼上各位兄弟,我利用各位兄弟的指点写了下面这个函数来检测系统是否为的800*600的显示模式,为什么每次调用此函数都有一个出错提示呢,但函数有结果返回  
  function   TdispatchFrm.mode():boolean;  
  var  
      oldwidth:integer;  
  begin  
      Result:=false;  
      OldWidth   :=   GetSystemMetrics(SM_CXSCREEN);  
      if   oldwidth=800   then   Result:=true;  
  end;Top

7 楼dearmite(笨笨的我*_^)回复于 2002-05-17 11:26:33 得分 4

 
  GetDeviceCaps(GetDc(0),   HORZSIZE);//  
   
  GetDeviceCaps(GetDc(0),   VERTSIZE);//  
  这个才是吧Top

8 楼dearmite(笨笨的我*_^)回复于 2002-05-17 11:28:27 得分 0

用这个API的试试Top

9 楼zhengkapi(zhengkapi)回复于 2002-05-17 11:59:51 得分 0

TO:楼上各位兄弟,下面这个函数没有错,是在dispatchFrm.WindowState:=wsMaximized;这一句错了,不好意思,  
   
  function   TdispatchFrm.mode():boolean;  
  var  
      oldwidth:integer;  
  begin  
      Result:=false;  
      OldWidth   :=   GetSystemMetrics(SM_CXSCREEN);  
      if   oldwidth=800   then   Result:=true;  
  end;  
   
   
  Top

10 楼tswrl()回复于 2002-05-17 14:54:33 得分 4

procedure   TForm1.Button1Click(Sender:   TObject);  
  begin  
      ShowMessage(IntTostr(Screen.Width)+'   X   '+   IntToStrScreen.Height));  
  end;Top

11 楼Bes96261(秋水孤鶩)回复于 2002-05-17 15:54:22 得分 4

uses       ...WinTypes  
   
  var  
      aScreen   :   TScreen;  
  begin  
      aScreen:=Tscreen.Create(application);  
      if   aScreen.Width   <>   1024   then  
      begin  
          aScreen.Free;  
          Application.MessageBox('建議運行本系統的熒屏解析  
                                                            度為1024   x   768模式.');  
          winexec('control.exe   desk.cpl',SW_SHOWNORMAL);        
          Halt;  
      end;  
  //已調試通過Top

相关问题

  • windows下普通GDI程序怎么判断16位显示模式下是RGB555格式还是RGB565格式?
  • 显示模式的设置
  • 紧急!!!!!!!!如何获得当前的显示模式,是16色,还是256,或者如何监测当前是安全模式还是正常的模式????
  • 代码在这,请指点
  • 请高人指点代码~~~~~~~
  • 数据窗口限制显示模式
  • 显示模式对话的问题?
  • 关于图形显示模式问题!
  • 关于DataGrid的显示模式
  • 设置显示模式的问题

关键词

  • 显示模式
  • 函数
  • oldwidth
  • 指点
  • cxscreen
  • getsystemmetrics
  • getdevicecaps
  • getdc
  • sm
  • 兄弟

得分解答快速导航

  • 帖主:zhengkapi
  • Liujc
  • artman
  • yangrenzhi
  • sogh
  • dancemaple
  • dearmite
  • tswrl
  • Bes96261

相关链接

  • Delphi类图书
  • Delphi类源码下载
  • Delphi控件下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo