Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.12.16;
Скачать: CL | DM;

Вниз

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

 
-=[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;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.013 c
8-52288
Shur
2003-08-18 17:12
2003.12.16
Распознование текста


1-52145
nonme
2003-12-03 21:54
2003.12.16
поиск в memo


14-52392
Думкин
2003-11-21 04:43
2003.12.16
С днем рождения! 21 ноября.


1-52281
Don
2003-12-04 08:20
2003.12.16
Как сделать, чтобы в Tform при запуске программы запускался *.ht


14-52370
chi
2003-11-20 18:34
2003.12.16
FASTDIB.pas