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

Вниз

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

 
Aldor_   (2005-01-25 21:24) [0]

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


 
KilkennyCat ©   (2005-01-25 21:47) [1]

да.


 
Gero ©   (2005-01-25 21:48) [2]

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


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

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

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


 
Gero ©   (2005-01-25 21:56) [4]


> Aldor_   (25.01.05 21:54)

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


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

Gero ©   (25.01.05 21:56) [4]

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


 
Anatoly Podgoretsky ©   (2005-01-25 22:01) [6]

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


 
Almaz ©   (2005-01-25 23:23) [7]


> 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;


Удачи.


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

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

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



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

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


 
KilkennyCat ©   (2005-01-26 01:49) [10]

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


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


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

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

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


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

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


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

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


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


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


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


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

Игорь Шевченко ©   (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:46) [16]

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

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


 
kaZaNoVa ©   (2005-01-26 13:50) [17]

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

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

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

InitializeCriticalSection(cs); //Form.Create;

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

DeleteCriticalSection(cs);//Form.Destroy


- правильно?


 
ALS ©   (2005-01-26 13:53) [18]

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

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



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

Форум: "Основная";
Текущий архив: 2005.02.06;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.49 MB
Время: 0.054 c
6-1101207633
Dmitrij_K
2004-11-23 14:00
2005.02.06
Куки


14-1106233064
User_32
2005-01-20 17:57
2005.02.06
PHP


1-1106157437
Петя
2005-01-19 20:57
2005.02.06
Нужна помощь по Delphi!!!


4-1103320145
pika
2004-12-18 00:49
2005.02.06
как спрятать свою прогу ???


4-1101921383
TankMan
2004-12-01 20:16
2005.02.06
Хорошо...Скажите пожалуйста, как (возможно ли) "опознать" чипсет





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский