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

Вниз

Высота рабочего стола без панели задач...   Найти похожие ветки 

 
Mihey   (2003-06-28 23:54) [0]

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


 
Fenik   (2003-06-29 01:01) [1]

Вряд ли. Придётся хендл узнавать.
Юзер ведь может расширить панель задач..


 
sniknik   (2003-06-29 01:16) [2]

высота экрана без высоту панели задач
Screen.WorkAreaHeight
недостаток, инициализируется при старте программы (если поменять размер панели при запушеной программе, значение останется старым), ну во всяком случае когда пробовал у меня так и было. глубокого разбирательства как она работает не было, естественно.


 
Fenik   (2003-06-29 01:54) [3]

Вот нашёл в ShellAPI:

function SHAppBarMessage(dwMessage: DWORD; var pData: TAppBarData): UINT;

PAppBarData = ^TAppBarData;
TAppBarData = record
cbSize: DWORD; {Размер записи}
hWnd: HWND; {Дескриптор панели}
uCallbackMessage: UINT; {Значение сообщения, которое будет послано панели с уведомляющими сообщениями}
uEdge: UINT;
rc: TRect; {Ограничивающий прямоугольник панели}
lParam: LPARAM; {Информация, связанная с сообщением}
end;

ели запросить при dwMessage = ABM_QUERYPOS (или $2), то функция должна вернуть позицию AppBar.

Т.е.
uses ShellAPI;
...
var F: TAppBarData;
...
SHAppBarMessage(ABM_QUERYPOS, F);

И смотрим F.rc

Я сам не пробовал. Может у тебя получится..


 
Юрий Зотов   (2003-06-29 02:00) [4]

SystemParametersInfo c SPI_GETWORKAREA. Детали - в справке API.


 
DVM   (2003-06-29 14:17) [5]


> Mihey © ( Панель офиса и пр.)

> Mihey ©

Не забывайте, что панель это только одно из АппБаров, а могут быть и другие (Панель офиса и пр.). Поэтому единственный правильный ответ:

> Юрий Зотов © (29.06.03 02:00)



 
sniknik   (2003-06-29 17:29) [6]

DVM © (29.06.03 14:17)
ну не согласный я, насчет единственно правильного ответа. Screen.WorkAreaHeight со всеми его недостатками тоже покажет правильно. (в борланде наверняка тоже в курсе насчет "Панель офиса и пр.")


 
Deus   (2003-07-02 13:33) [7]

Можно ещё использовать GetSystemMetrics(SM_CX(Y)MAXIMIZED).
Кстати, панель задач может быть не только снизу. А так же рабочую область может уменьшить какаянть прога тип аськи...



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

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

Наверх





Память: 0.46 MB
Время: 0.012 c
14-48774
Mystic
2003-08-25 12:26
2003.09.15
Раз в жизни бывает...


1-48506
alex732
2003-09-02 15:18
2003.09.15
Различный цвет и стиль шрифта


1-48589
download
2003-09-01 00:05
2003.09.15
Автозавершение строки при введении её в Memo


1-48519
Qwerr
2003-09-02 15:00
2003.09.15
Невидимая форма


7-48797
alexis
2003-07-01 18:11
2003.09.15
Как узнать о попытке изменить имя файла с расширением .exe и ....





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