怎样写代码知道显示模式是800*600还是1024*768?请指点
怎样写代码知道显示模式是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




