(امید)
شنبه 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
__________________________________________________ __________
سلام
من میخواهم در ابتدای برنامه ام رزولوشن مانیتور را تغییر دهم و پس از خاتمه برنامه رزولوشن مانیتور را به حالت اولش برگردانم.
دستورات زیر را از سایت آقای یعقوبی گرفته ام اما نتوانستم از آن استفاده بکنم:
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