PDA

View Full Version : رزولوشن مانیتور



(امید)
شنبه 17 اسفند 1381, 20:25 عصر
بر گرفته از barnamenevis.com

__________________________________________________ __________
سلام

من میخواهم در ابتدای برنامه ام رزولوشن مانیتور را تغییر دهم و پس از خاتمه برنامه رزولوشن مانیتور را به حالت اولش برگردانم.

دستورات زیر را از سایت آقای یعقوبی گرفته ام اما نتوانستم از آن استفاده بکنم:

procedure TForm1.Button1Click(Sender: TObject);
var
MyMode: TDeviceModeA;
begin
MyMode.dmSize:=Sizeof(MyMode);
MyMode.dmFields:=DM_PELSWIDTH and DM_PELSWIDTH;
MyMode.dmPelsWidth:=StrToInt(Edit1.Text);
MyMode.dmPelsHeight:=StrToInt(Edit2.Text);
ChangeDisplaySettings(MyMode, 0);
end;


ebrahim



آقا ابراهیم

سورس برنامه زیر را که بطور کامل وجود دارد امتحان کن.

unit Unit1;

interface

uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs;

type
TForm1 = class(TForm)
procedure FormCreate(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;
V,H:Integer;
implementation

{$R *.DFM}
procedure SetResolution(ResX, ResY: DWord);
var
lDeviceMode : TDeviceMode;
begin
EnumDisplaySettings(nil, 0, lDeviceMode);
lDeviceMode.dmFields:=DM_PELSWIDTH or DM_PELSHEIGHT;
lDeviceMode.dmPelsWidth :=ResX;
lDeviceMode.dmPelsHeight:=ResY;
//ChangeDisplaySettings(lDeviceMode, 1);
ChangeDisplaySettings(lDeviceMode, 0);
end;

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
If (V<>Screen.Width) and (H<>Screen.Height) Then
SetResolution(V,H);
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
V:=Screen.Width;
H:=Screen.Height;
If (V<>800) and (H<>600) Then
Begin
SetResolution(800,600);
End;
end;
end.

موفق باشی


MahdiSeifJamali


عالی بود. دست شما درد نکنه.
ebrahim

fahimi
شنبه 08 فروردین 1383, 06:03 صبح
با سلام
با تغییر رزولوشن مانیتور متاسفانه فرکانس مونیتور در کمترین حد ممکن قرار می گیرد آیا میشود از طریق کد فرکانس مونیتور تغییر داد؟