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

Вниз

Что происходит при смене разрешения экрана?   Найти похожие ветки 

 
-=[SDA]=-   (2003-10-09 11:51) [0]

Во первых, всем здравствуйте! Хочу поменять разрешение экрана так: В OnCreate главной формы пишу

...
var Sc : TDeviceMode;
...
Sc.dmPelsWidth := 1024;
Sc.dmPelsHeight := 768;

Sc.dmFields := DM_PELSWIDTH or DM_PELSHEIGHT;

ChangeDisplaySettings(Sc,0);

Так вот, если разрешение экрана, например, 1152х854, то разрешение меняется, но исчезает панель задач !? :(, а если текущее разрешение 800х600, то вообще ничего не происходит. В чем тут проблема уже час не могу понять.
Заранее всем спасибо за помощь! ....


 
Anatoly Podgoretsky   (2003-10-09 12:03) [1]

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


 
-=[SDA]=-   (2003-10-09 12:28) [2]

А если программа содержит Grid, который при меньшем разрешении экрана весь порастет скроллингами ? Также мне в программе необходимо выводить панель (над гидом) на которой множество параметров для изменения этого грида. Я и так разбил грид на 3 части, вроде все вмещается при 1024х768, так найдется же обязательно какая-нибудь курица, которой буквы покажутся маленькими и ей надо будет сменить разрешение на 800х600, так поэтому и необходимо при запуске менять разрешение на 1024х768 и ловить все WM_DISPLAYCHANGE.


 
Radionov Alexey   (2003-10-09 12:32) [3]

>-=[SDA]=- © (09.10.03 12:28) [2]
Вот это уж точно пользователю решать "про удобные ему буковки".


 
Юрий Федоров   (2003-10-09 12:33) [4]

А если у него видеокарта древняя или монитор в позапрошлом веке выпущен, и железо вообще такое разрешение не поддерживает?

А что тогда делать программе Васи Пупкина, которая одновременно запущена у этого пользователя, и работает только на 800х600?

Нельзя за пользователя такие вещи решать


 
-=[SDA]=-   (2003-10-09 12:40) [5]

Да тут всё намного проще: Я знаю что эта прога будет стоять у диспетчера, которому отдадут мой компутер и кроме него там не будет сидеть никого, а тем более запускать какие либо проги Васи Пупкина.


 
Юрий Федоров   (2003-10-09 12:42) [6]

Ну так и пусть диспетчер тогда сам поставт нужное разрешение через панель управления :-)


 
-=[SDA]=-   (2003-10-09 12:55) [7]

Можно конечно проверять разрешение, выводить message, что не совпадает разрешение с требуемым и закрывать форму, но както не круто :-)? вот!


 
Song   (2003-10-09 13:32) [8]

2-=[SDA]=- © (09.10.03 11:51)
Ты забыл CDS_UPDATE


 
-=[SDA]=-   (2003-10-09 13:57) [9]

>Song © (09.10.03 13:32) [8]
> Ты забыл CDS_UPDATE
И точно, бооольшое спасибо!!!
Теперь пишу:

if ChangeDisplaySettings(sc, CDS_TEST) = DISP_CHANGE_SUCCESSFUL then ChangeDisplaySettings(sc, CDS_UPDATEREGISTRY);

И всё заработало!!! :))))



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

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

Наверх




Память: 0.46 MB
Время: 0.008 c
1-52177
Вованчик
2003-12-03 15:03
2003.12.16
TypInfo


14-52368
Ig
2003-11-22 23:22
2003.12.16
Где можно найти MMTools?


1-52181
EugeneP
2003-12-03 14:09
2003.12.16
Почему не отрабатывает ф-я CurrToStr()???


1-52239
mail
2003-12-04 17:10
2003.12.16
Image.Canvas


1-52243
lokid7
2003-12-04 18:49
2003.12.16
Сохранение в файл





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