Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.08.29;
Скачать: CL | DM;

Вниз

Ворпос на засыпку....   Найти похожие ветки 

 
Werwolf ©   (2004-05-11 00:30) [0]

Вопрос как ни странно короткий: как поменять с помощью делфи разрешение экрана. допустим с 640*480 на 1024*768


 
Mihey ©   (2004-05-11 00:49) [1]

Ну явно из FAQ:

{
The function NewRes can have the following result:

DISP_CHANGE_SUCCESSFUL The settings change was successful.
DISP_CHANGE_RESTART The computer must be restarted in order for the graphics mode to work.
DISP_CHANGE_BADFLAGS An invalid set of flags was passed in.
DISP_CHANGE_FAILED The display driver failed the specified graphics mode.
DISP_CHANGE_BADMODE The graphics mode is not supported.
DISP_CHANGE_NOTUPDATED Windows NT only: Unable to write settings to the registry.
}

{
Folgene Rьckgabewerte sind fьr NewRes mцglich:

DISP_CHANGE_SUCCESSFUL Auflцsung geдndert
DISP_CHANGE_RESTART Computer muss neugestartet werden
DISP_CHANGE_BADFLAGS Falsche Flags
DISP_CHANGE_FAILED Fehler in Grafiktreiber
DISP_CHANGE_BADMODE Auflцsung nicht unterstьtzt
DISP_CHANGE_NOTUPDATED Windows NT: Einstellungen konnten nicht in die Registry geschrieben werden
}

function NewRes(XRes, YRes: DWORD; Frequency: Cardinal): Integer;
var
 DevMode: TDeviceMode;
begin
 EnumDisplaySettings(nil, 0, DevMode);
 DevMode.dmFields := DM_PELSWIDTH or DM_PELSHEIGHT or DM_DISPLAYFREQUENCY;
 DevMode.dmPelsWidth := XRes;
 DevMode.dmPelsHeight := YRes;
 DevMode.dmDisplayFrequency := Frequency;
 Result := ChangeDisplaySettings(DevMode, 0);
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
 if NewRes(1280, 1024, 85) = DISP_CHANGE_SUCCESSFUL then
   ShowMessage("Resolution changed!");
end

//Another function:

function ChangeResolution(XResolution, YResolution, Depth: DWORD): BOOL;
var
 DevMode: TDeviceMode;
 i: Integer;
begin
 Result := False;
 i      := 0;
 while EnumDisplaySettings(nil, i, DevMode) do
   with DevMode do
   begin
     if (dmPelsWidth = XResolution) and
       (dmPelsHeight = YResolution) and
       (dmBitsPerPel = Depth) then
       if ChangeDisplaySettings(DevMode, CDS_UPDATEREGISTRY) =
         DISP_CHANGE_SUCCESSFUL then
       begin
         Result := True;
         SendMessage(HWND_BROADCAST, WM_DISPLAYCHANGE, SPI_SETNONCLIENTMETRICS, 0);
         Break;
       end;
     Inc(i);
   end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
 if ChangeResolution(800, 600, 32) then ShowMessage("Resolution changed!");
end;



Страницы: 1 вся ветка

Текущий архив: 2004.08.29;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.021 c
14-1092228490
European
2004-08-11 16:48
2004.08.29
Почему переменная цикла почти всегда i?


3-1091444847
Sectey
2004-08-02 15:07
2004.08.29
Расположение бизнес логики приложения.


14-1092208445
able
2004-08-11 11:14
2004.08.29
Название домена..


14-1091853769
DelphiN!
2004-08-07 08:42
2004.08.29
Где можно скачать исходники готового WebBrowser-а?


1-1092395892
NikeOLD
2004-08-13 15:18
2004.08.29
Отловить изменение ширины колонки ListView