Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Можно ли с помощью GDI получить полноэкранный режим?


Aldor_ ©   (2005-01-25 21:24:00) 

Имею ввиду не maximiized window, а полноэкранный режим с возможностью выбора разрешения и глубины цвета.


ALS   (2005-01-26 13:53:00) [1]

Поручик ©   (26.01.05 01:15) [9]
> почему нельзя в этой функции и еще в нескольких просто написать nil?

Нельзя напрямую писать NIL для var-параметров. Для них вместо NIL можно писать Cardinal(nil^).


kaZaNoVa   (2005-01-26 13:50:00) [2]

Поручик ©   (26.01.05 13:45) [15]

> зачем было создавать свой TcriticalSection? почему не
> взять стандартный

я юзаю :
Var
cs:_RTL_CRITICAL_SECTION;
//-----------

InitializeCriticalSection(cs); //Form.Create;

//----
EnterCriticalSection(cs);
//тут  обращение к глобальным переменным ..
LeaveCriticalSection(cs);
//----

DeleteCriticalSection(cs);//Form.Destroy


- правильно?


Игорь Шевченко   (2005-01-26 13:46:00) [3]

Поручик ©   (26.01.05 13:45) [15]

Я вот не плююсь, переходя. Отчего бы ?


Поручик   (2005-01-26 13:45:00) [4]

Игорь Шевченко ©   (26.01.05 13:18) [14]
Never attribute to malice whcih can be adequately explained by stupidity.


Да взять хотябы туже функцию ChangeDisplaySettings, непомню какие именно, но флаги дя TdevMode там не правильно обозначенны (Delphi 7), и такого дофига. а зачем было создавать свой TcriticalSection? почему не взять стандартный? Таких примеров много, когда переходишь c си на делфе, плюешься от злости!


Игорь Шевченко   (2005-01-26 13:18:00) [5]


> Я понимаю, только windows.pas в Делфе кривой...


Never attribute to malice whcih can be adequately explained by stupidity.


Поручик   (2005-01-26 13:17:00) [6]

Я понимаю, только windows.pas в Делфе кривой...


REA   (2005-01-26 09:55:00) [7]

Вызов API функций от языка не сильно зависит - опиши функцию как в C++ и вперед.


Поручик   (2005-01-26 03:53:00) [8]


> а разве так полностью назад вернет? с глубиной цвета и
> разрешением? я думал, надо сохранять старые
> настройки...

да, только если не применять настройки с флагом CDS_UPDATEREGISTRY, тогда вернет.
Не помню, может еще надо указать Sizeof(TDevMode), а может не надо.

Вообще-то в С++ пишешь просто ChangeDisplaySettings(NULL,NULL) и все возвращается, а в делфе гимор


KilkennyCat   (2005-01-26 01:49:00) [9]

а разве так полностью назад вернет? с глубиной цвета и разрешением? я думал, надо сохранять старые настройки...


Поручик   (2005-01-26 01:15:00) [10]

Кстати вопрос к мастерам, почему нельзя в этой функции и еще в нескольких просто написать nil? В С++ можно, а здесь нет - приходится заводить пустую переменную этого типа.


Поручик   (2005-01-26 01:13:00) [11]

А чтобы вернуть назад делай так:

var
 DevMode: TDEVMODE;
begin
 ChangeDisplaySettings(DevMode,0);
end;


Almaz   (2005-01-25 23:23:00) [12]


> Aldor_   (25.01.05 21:24)  

Можно - с помощью ChangeDisplaySettings. Например так:

var
 DeviceMode : TDevMode;
begin
 with DeviceMode do
 begin
   dmSize := SizeOf(DeviceMode);
   dmBitsPerPel := 32;
   dmPelsWidth := 800;
   dmPelsHeight := 600;
   dmFields := DM_BITSPERPEL or DM_PELSWIDTH or DM_PELSHEIGHT;
 end;
 if ChangeDisplaySettings(DeviceMode,CDS_FULLSCREEN) <> DISP_CHANGE_SUCCESSFUL then
 begin
   // Ошибка !
 end;
end;


Удачи.


Anatoly Podgoretsky   (2005-01-25 22:01:00) [13]

Поторопись, пока народу не надоело.


Aldor_   (2005-01-25 21:59:00) [14]

Gero ©   (25.01.05 21:56) [4]

 Ща сформулирую :))


Gero   (2005-01-25 21:56:00) [15]


> Aldor_   (25.01.05 21:54)

Для того, чтобы выбрать разрешение и глубину цвета полноэкранный режим не нужен.


Aldor_   (2005-01-25 21:54:00) [16]

> Что по твоему есть «полноэкранный режим» и чем он отличается от «maximiized window»?

 с возможностью выбора разрешения и глубины цвета. (из [0])


Gero   (2005-01-25 21:48:00) [17]

Что по твоему есть «полноэкранный режим» и чем он отличается от «maximiized window»?


KilkennyCat   (2005-01-25 21:47:00) [18]

да.


Наверх

Титульная страница Поиск, карта сайта Написать письмо