Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Игры";
Текущий архив: 2004.08.29;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.033 c
14-1092300234
SSSSS
2004-08-12 12:43
2004.08.29
Люди! Где взять лицензионную 5-ю Дельфу?


4-1090160619
DDDeN
2004-07-18 18:23
2004.08.29
Проблема с рекурсивным поиском


3-1091648519
gonta
2004-08-04 23:41
2004.08.29
Инсталяция компонентов ODAC


8-1086155323
Vitas2
2004-06-02 09:48
2004.08.29
mp3


14-1092145018
Cosinus
2004-08-10 17:36
2004.08.29
Алгоритм нахождения "магического квадрата" N-ой размерности





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский