如何在程序一开始改变屏幕分率为 800*600 32真彩色
解决方案 »
- SQL语句写入delphi的adoquery.sql.add中
- 关于fastreport的打印格式的问题
- stringgrid如何获取当前点的值
- 请问我在dll中使用了spcomm控件,现在是如何在dll中spcomm的WriteCommData方法里写代码,以及如何在onReceiveData事件中写代码?
- 怪问题!!!!!
- 请问dbgrid中怎样获得所选格的行数??
- 请问用delphi做报表打印图形时,怎么不支持gif文件格式?急急!
- 有关数据库的导入、导出的问题,请高手帮忙解决??
- 如何创建动态打印啊!!(急)
- delphi运行环境问题:((
- 急救:怎样给memo赋值???
- 请教各位高手 怎样屏蔽掉Memo控件的键盘事件
procedure SetRes(XRes, YRes: DWord);
varlpDevMode : TDeviceMode;beginEnumDisplaySettings(nil, 0, lpDevMode);lpDevMode.dmFields:=DM_PELSWIDTH or DM_PELSHEIGHT;lpDevMode.dmPelsWidth:=XRes;lpDevMode.dmPelsHeight:=YRes;ChangeDisplaySettings(lpDevMode, 0);end;******************设置屏幕颜色深度procedure Toggle;vari : LongInt;b : LongInt;DevM : TDEVMODE;h: HDC;w: HWND;IsToggled: Boolean;PreviousBitsPerPixel: Integer;beginIsToggled := not IsToggled;w:=GetDesktopWindow;h:=GetDC(w);tryif IsToggled thenbegin {change to 8 bit}PreviousBitsPerPixel := GetDeviceCaps(h, BITSPIXEL);i := -1;RepeatInc(i);Until EnumDisplaySettings(pchar(0), i, DevM) = False;DevM.dmFields := DM_BITSPERPEL;DevM.dmBitsPerPel := 8;b := ChangeDisplaySettings(DevM, 0);if ((GetDeviceCaps(h, RASTERCAPS) and RC_PALETTE) = 0) or(b <> DISP_CHANGE_SUCCESSFUL) thenbeginshowmessage('can''t use palettes');IsToggled := False;endend else {Change mform to palette values and perform desired 8 bit display}else begin {change back value}i := -1;RepeatInc(i);Until EnumDisplaySettings(pchar(0), i, DevM) = False;DevM.dmFields := DM_BITSPERPEL;DevM.dmBitsPerPel := PreviousBitsPerPixel;b := ChangeDisplaySettings(DevM, 0);if b <> DISP_CHANGE_SUCCESSFUL then showmessage( 'Error restoring origional display');end;finallyReleaseDC(w,h);end;end;