各位师兄:
  本人想在程序打开前,自动判断屏幕分辨率是否可以调至1024*768?
如果可以则将其调至1024*768。
  这如何实现呢?请写得详细一些。

解决方案 »

  1.   

    unit UnitSetScrSize;interfaceuses
      Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
      StdCtrls;type
      TForm1 = class(TForm)
        Button1: TButton;
        Button2: TButton;
        procedure FormCreate(Sender: TObject);
      private
        { Private declarations }
      public
        { Public declarations }
        function DynamicResolution(X,Y:word):bool;
      end;var
      Form1: TForm1;implementation{$R *.DFM}{ TForm1 }function TForm1.DynamicResolution(X, Y: word): bool;
    Var
      lpDevMode:TDeviceMode;
    begin
      result := EnumDisplaySettings(nil,0,lpDevMode);
      if result then
      begin
        lpDevMode.dmFields := DM_PELSWIDTH or DM_PELSHEIGHT;
        lpDevMode.dmPelsWidth := X;
        lpDevMode.dmPelsHeight := Y;
        result := ChangeDisplaySettings(lpDevMode,0)=DISP_CHANGE_SUCCESSFUL;
      end;
    end;procedure TForm1.FormCreate(Sender: TObject);
    begin
      if screen.Height<>1024 then
        if DynamicResolution(1024,768) then
          showmessage('屏幕的分辨率已成功设为:1024*768');
    end;end.