Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 09.02.2009, 11:37   #1
MIC
 
Регистрация: 07.02.2009
Сообщений: 2
Восклицание Смена разрешения

Приветствую. Такая проблема: нужно чтобы при запуске программы разрешение экрана менялось скажем на "800 на 600". Подскажите. Если ответ где то есть то подскажите где. Не нашел. Заранее благодарю.
MIC вне форума Ответить с цитированием
Старый 09.02.2009, 11:44   #2
Kotofff
Участник клуба
 
Аватар для Kotofff
 
Регистрация: 11.01.2009
Сообщений: 1,917
По умолчанию

DelphiWorld :
Код:
procedure ChangeDisplayResolution(x, y: word);
var
  dm: TDEVMODE;
begin
  ZeroMemory(@dm, sizeof(TDEVMODE));
  dm.dmSize := sizeof(TDEVMODE);
  dm.dmPelsWidth := x;
  dm.dmPelsHeight := y;
  dm.dmFields := DM_PELSWIDTH or DM_PELSHEIGHT;
  ChangeDisplaySettings(dm, 0);
end;
"Заряженному танку в дуло не смотрят" @Dekmer in WoT
Kotofff вне форума Ответить с цитированием
Старый 09.02.2009, 11:57   #3
MIC
 
Регистрация: 07.02.2009
Сообщений: 2
По умолчанию

Благодарю!
MIC вне форума Ответить с цитированием
Старый 09.02.2009, 15:46   #4
DomiNick
Студент, не
Старожил
 
Аватар для DomiNick
 
Регистрация: 29.01.2009
Сообщений: 2,067
По умолчанию

А программы работающие в "полноэкранном режиме" также делают?..
При сворачивании таких программ Рабочий Стол вроде остаётся как был...
I am the First of Cyber Evolution...
I am the First to Program your Future...
DomiNick вне форума Ответить с цитированием
Старый 09.02.2009, 15:55   #5
goblinyara
Форумчанин
 
Аватар для goblinyara
 
Регистрация: 02.01.2009
Сообщений: 340
По умолчанию

DomiNick... хмм, а что мешает при сворачивании восстанавливать просто обычный режим экрана??? а при разворачивании опять менять на нужное... тем более, не все полноэкранные так делают...
DelphiWorld 6. Скачай, поставь, и будет тебе счастье=)
Программирование, как и любовь -- одно слово, за которым скрывается бесконечное множество занятий.
goblinyara вне форума Ответить с цитированием
Старый 09.02.2009, 15:58   #6
mflat
Пользователь
 
Регистрация: 06.02.2009
Сообщений: 71
По умолчанию

Создать две переменные OldX и OldY типа integer. Запомнить текущие Screen.Width и Screen.Height экрана через OldX и OldY. Поменять разрешения на другое. При выходе программы через OldX и OldY восстанавливать старое разрешение:
Код:
ChangeDisplayResolution(OldX, OldY: word);
╓-----┴-----╜
mFlat
mflat вне форума Ответить с цитированием
Старый 09.02.2009, 15:58   #7
Kotofff
Участник клуба
 
Аватар для Kotofff
 
Регистрация: 11.01.2009
Сообщений: 1,917
По умолчанию

В полноэкранном режиме чуть-чуть подругому. DelphiWorld :
Код:
function SetFullscreenMode: Boolean;
var DeviceMode: TDevMode;
begin
  with DeviceMode do
  begin
    dmSize := SizeOf(DeviceMode);
    dmBitsPerPel := 16;
    dmPelsWidth := 640;
    dmPelsHeight := 480;
    dmFields := DM_BITSPERPEL or DM_PELSWIDTH or DM_PELSHEIGHT;
    result := False;
    if ChangeDisplaySettings(DeviceMode, CDS_TEST or CDS_FULLSCREEN)<>DISP_CHANGE_SUCCESSFUL then Exit;
    Result := ChangeDisplaySettings(DeviceMode, CDS_FULLSCREEN)=DISP_CHANGE_SUCCESSFUL;
  end;
end;

procedure RestoreDefaultMode;// возврат с полного экрана
var
  T: TDevMode absolute 0;
begin
  ChangeDisplaySettings(T, CDS_FULLSCREEN);
end;
"Заряженному танку в дуло не смотрят" @Dekmer in WoT
Kotofff вне форума Ответить с цитированием
Старый 09.02.2009, 16:03   #8
DomiNick
Студент, не
Старожил
 
Аватар для DomiNick
 
Регистрация: 29.01.2009
Сообщений: 2,067
По умолчанию

Ну... Иногда пишу процедуру на Делфи... А потом оказывается такая уже есть готовая - просто я не знаю...

Понятно что можно например при запуске делать 800х600 а при закрытии возвращать обратно...
Просто может может есть другой способ - чтоб настройки Рабочего Стола не менялись, а программа была полноэкранной?
I am the First of Cyber Evolution...
I am the First to Program your Future...
DomiNick вне форума Ответить с цитированием
Старый 09.02.2009, 16:06   #9
DomiNick
Студент, не
Старожил
 
Аватар для DomiNick
 
Регистрация: 29.01.2009
Сообщений: 2,067
По умолчанию

Ну ё-моё...
У меня прям болезнь просто...
Пока своё сообщение-ответ печатаю - несколько новых постов появляется...
I am the First of Cyber Evolution...
I am the First to Program your Future...
DomiNick вне форума Ответить с цитированием
Старый 09.02.2009, 16:11   #10
Kotofff
Участник клуба
 
Аватар для Kotofff
 
Регистрация: 11.01.2009
Сообщений: 1,917
По умолчанию

Цитата:
Сообщение от DomiNick Посмотреть сообщение
Просто может может есть другой способ - чтоб настройки Рабочего Стола не менялись, а программа была полноэкранной?
Здесь думаю, что форму сделать без заголовка (BorderStyle:=bsNone) размеры задать = размеру экрана, поставить FormStyle:=fsStayOnTop
"Заряженному танку в дуло не смотрят" @Dekmer in WoT
Kotofff вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Масштаб Листов от разрешения монитора valerij Microsoft Office Excel 20 30.09.2008 20:57
изменение разрешения Sanek777 Общие вопросы Delphi 1 11.09.2008 17:43
Смена разрешения экрана san72 Помощь студентам 3 05.06.2008 12:38
Смена разрешения san72 Помощь студентам 0 04.06.2008 15:50
Определение разрешения монитора(ов) lamonana Общие вопросы Delphi 2 09.03.2008 18:56