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

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

Как определить, а затем изменить размеры рабочего стола?


Новый ©   (2003-01-15 20:45:00) 

Все


Новый   (2003-01-18 09:04:00) [1]

Ув. МАСТАКИ, для большей наглядности лучше перейти из 800х600 в 1024х768, получить панель быстрого запуска в "центре" рабочего стола и задуматься как ее поместить на место.


Новый   (2003-01-17 16:24:00) [2]

Не обязательно из 1024х768 в 800х600, можно и из 800х600 в 640х...
Хочется увидеть панель быстрого запуска (Win95-98, WinME, кроме WinXP - там это решается автоматом)


Игорь Шевченко   (2003-01-17 15:43:00) [3]

Новый (17.01.03 15:19)

Решение чего ?


Новый   (2003-01-17 15:19:00) [4]

Может кто попробует перевести дисплей из 1024х768 в 800х600 (программно), посмотрит что призойдет с рабочим столом, найдет конкретное решение и подбросит код?


Scorcherman   (2003-01-17 15:03:00) [5]

Определить размеры рабчего стола можно рулеткой или линейкой, изменить размеры можно пилой. Способ универсален тем, что подходит и для обеденного стола!


Anatoly Podgoretsky   (2003-01-17 10:25:00) [6]

Игорь Шевченко © (17.01.03 10:07)
Вот на это я и намекал, говоря что это понятие шире, и это к тому же не считая замечания Набережных, которое еще шире.


Карелин Артем   (2003-01-17 10:13:00) [7]

Cool - компоненты позволяют это делать


Игорь Шевченко   (2003-01-17 10:07:00) [8]

Набережных С. (16.01.03 23:40)

GetDeviceCaps

DESKTOPHORZRES Windows NT only: Width, in pixels, of the virtual desktop. This value may be larger than HORZRES if the device supports a virtual desktop or multiple displays.

DESKTOPVERTRES Windows NT only: Height, in pixels, of the virtual desktop. This value may be larger than VERTRES if the device supports a virtual desktop or multiple displays.

Имеется в виду вовсе не объект win32 Desktop :-))

С уважением,


Набережных С.   (2003-01-16 23:40:00) [9]

Вот цитата из MSDN(перевод мой, так что не обессудьте:)):

"Десктоп - защищенный объект, входящий в состав оконной станции. Десктоп имеет поверхность логического дисплея и включает в себя окна, меню и хуки. Оконная станция может содержать несколько десктопов. Единовременно только один десктоп в интерактивной станции может быть видимым и принимать ввод пользователя."

Ну и так далее, в том же духе. Я как-то привык воспринимать десктоп как элемент системы безопасности и мне это представляется правильным.


Anatoly Podgoretsky   (2003-01-16 22:19:00) [10]

Расшифруем немного "десктоп это немного шире"
Десктоп может быть больше или меньше чем экран, может размещаться более чем на одном экрана, может вообще быть виртуальным.
Это очень широкое понятие.

Набережных С. (16.01.03 21:22) подсказал хорошие решения, даже если Борланд и не совсем четко работает с понятием Десктоп.
Кроме того Igit © (16.01.03 20:58) также указал базовые решения.

В WinApi есть куча тем посвященных десктопам, но конечно там описано скромно, ща более подробной информацией надо лезть в MSDN


Набережных С.   (2003-01-16 22:00:00) [11]

Нет, что-то я конкретно затупил. Извини, но я все равно не понял. Может, попробуешь на пальцах объяснить? Или, может, кто-то въехал, дак ответит или хотя-бы растолкует. А если ты имеешь в виду физический размер растра на экране, то тут я пас. Возможно, современные мониторы это обеспечивают, но я этим никогда не интересовался.


Новый   (2003-01-16 21:28:00) [12]

Прочитал внимательно свой вопрос, заметил, что сформулировал не достаточно четко. Возможно, после "перефразировки" он станет более прозрачным. Как определить размеры рабочего стола после изменения разрешения экрана(в пикселях), а затем изменить размеры в соответствии с новым разрешением?


Набережных С.   (2003-01-16 21:22:00) [13]

Новый (16.01.03 20:10)
Чего-то я, видно, не понимая, видать не мой день. Открываешь модуль Forms и смотришь в классе TScreen реализацию методов GetDesktopRect, GetWorkAreaRect, GetWidth и т.д. Или что?


Новый   (2003-01-16 21:16:00) [14]

10x to ALL
Попробую


Igit   (2003-01-16 20:58:00) [15]

вот размеры на API

var h:hwnd;
Rect: TRect;

=========
h:=GetDesktopWindow; //хэндл десктопа
GetClientRect(h, Rect);

теперь смотри Rect.top, Rect.left, Rect.righ, Rect.bottom...

изменить размеры позволяет функция... посмотри в справочнике по WinAPI (он в кладовке)


S.P.I.R.I.T   (2003-01-16 20:53:00) [16]

Можно сделать так загоняешь в поиск TAPPBar т.е все тескбары смотришь где они находятся их ширины и вычитаешь из разрешения экрана.


Новый   (2003-01-16 20:10:00) [17]

2 Anatoly Podgoretsky © (15.01.03 23:02)
Но мне именно нужны размеры десктопа, а не разрешение экрана. Вы это верно подметили.
2 Набережных С. (16.01.03 17:03)
<смотри исходники, указанные выше>
Если не трудно, подскажите какие? Я к сожалению в <в смотри выше> не нашел этих <исходников>


Набережных С.   (2003-01-16 17:03:00) [18]

>Anatoly Podgoretsky © (15.01.03 23:02)

Каюсь, виноват, испралюсь:) Но Вы все-таки буквоед:)

>Новый (15.01.03 20:45)

Рабочий стол - Desktop - невизуальный объект и у него нет линейных размеров. А для поверхности логического дисплея:) смотри исходники, указанные выше.


Anatoly Podgoretsky   (2003-01-15 23:02:00) [19]

Только в первом приближении, десктоп это немного шире, чем экран


Набережных С.   (2003-01-15 22:40:00) [20]

Forms.TScreen.GetWidth etc.


Наверх

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