Win32 API 使用討論區->改變螢幕解析度,如:800*600->640*480 |
|
領航天使
站長 ![]() ![]() ![]() ![]() ![]() ![]() 發表:12216 回覆:4186 積分:4084 註冊:2001-07-25 發送簡訊給我 |
站長引述會員yps發表的文章:
加入一個FUNCTION如下: ============================================================ function SetScreenResolution(Width, Height: integer): Longint; var DeviceMode: TDeviceMode; begin with DeviceMode do begin dmSize := SizeOf(TDeviceMode); dmPelsWidth := Width; dmPelsHeight := Height; dmFields := DM_PELSWIDTH or DM_PELSHEIGHT; end; Result := ChangeDisplaySettings(DeviceMode, CDS_UPDATEREGISTRY); end; =============================================================== 並在FORM1上加入BUTTON1、BUTTON2 先宣告變數 var OldWidth, OldHeight: integer; 在button1之click事件上上加入 ====================================== procedure TForm1.Button1Click(Sender: TObject); begin OldWidth := GetSystemMetrics(SM_CXSCREEN); OldHeight := GetSystemMetrics(SM_CYSCREEN); SetScreenResolution(640, 480); end; ===================================== 在button2之click事件上加入 ================================ procedure TForm1.Button2Click(Sender: TObject); begin SetScreenResolution(OldWidth, OldHeight); end; ================================ 此範例是先將原本之解析度存到變數中,按下按鈕一會先將解析度 變為640*480,按下按鈕二會將變數值回存,變為原本之解析度 以上報告完畢! -------------------- DELPHI ROCK & ROLL --------------------
------
~~~Delphi K.Top討論區站長~~~ |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |