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




Вниз

Сделать панель такую же, как панель задач в Винде. 


Дмитрий Демиденков   (2001-10-30 15:46) [0]

Привет, народ.
Как мне сабж реализовать подскажите. Нужна панелька которая могла бы оттяпать кусок десктопа у других приложений. Как это делают, например, панель задач виндовая или панель MS Office,когда не находятся в режиме автоматического убирания с экрана. Так же ведут себя всякие разные SpediaBarы.
Очень надо. Вот.



Jurgen   (2001-10-30 18:06) [1]

Привет. Лови

var
R: TRect;
begin
R := Rect(Left, Top, Right, Bottom);
SystemParametersInfo(SPI_SETWORKAREA, 0, @R, SPIF_SENDWININICHANGE);
...
end;

Удачи. Да прибудет с тобой F1.
З.Ы. Работает только в Win9x.



Polevi   (2001-10-31 18:00) [2]

AppBars



Дмитрий Демиденков   (2001-11-01 09:22) [3]

Jurgen, спасибо за ответ, но я знал про эту фунцию. Мне то вообщеми то нужно под любую ОСь. А скорее всего мое приложение будет пользоваться именно в NT. Это связано с использовениме спец. устройство драйвера под которые разрабатывали вояки и сделали их только для Натахи.
Вот.



Дмитрий Демиденков   (2001-11-01 09:31) [4]

Polevi, спасибо и тебе, но это тоже не подходит.

... из Win32 Developer"s Reference ...

SHAppBarMessage
-----------------------------
[Now Supported on Windows NT]
...
Неужели нет ничего похожего для НАТАЛИ.



Дмитрий Демиденков   (2001-11-01 09:40) [5]

Jurgen, кстати, а почему это не поддерживается NT. Об этом вроде не сказано, не где. Если это работает, то хорошо, однако не понятно как засунуть свое приложение в это ограниченную область.



  (2001-11-01 09:49) [6]

Now Supported on Windows NT - Сейчас поддерживается в Windows NT



Jurgen   (2001-11-01 11:22) [7]

Привет.
2Дмитрий Демиденков
1.Jurgen, кстати, а почему это не поддерживается NT
В хелпе написано Only Win95. Я проверял под 98-ми - работает, под NT нет возможности проверить.

2.не понятно как засунуть свое приложение в это ограниченную область.
Вопрос стоял: Нужна панелька которая могла бы оттяпать кусок десктопа у других приложений. - Вариант реализации я дал.
Принцип: Создаешь свою форму со всякими там кнопочками, менюшками и т.д.
(Можно кинуть на форму TRxSpeedBar.alClient - и не думать). Форму делаешь без заголовка, задаешь Height, Width. Затем определяешь ее местоположение (допустим, слева), => задаешь Left := Screen.Width - Form.Width и Top := 0;
А потом вызываешь функцию, описанную мной ранее, где Rect- Form.BoundsRect. Ну и дальше всякие навороты...
Результат: свой TaskBar и уменьшенный Desktop

Удачи. Да прибудет с тобой F1.



Дмитрий Демиденков   (2001-11-01 11:22) [8]

:))))))))
:)))))))
Да... Надо меньше пить... Надо же было прочитать "Now" как "Not" :)))
Спасибо. Проверю. Попробую.



delphimun   (2001-11-01 13:11) [9]

Jurgen ©: Это конешно интересно, что твой метод сделал с рабочим столом, ну а как же теперь сделать обратно?



delphimun   (2001-11-01 13:13) [10]

Jurgen ©: оно просто уменьшило rect моего desctopa и не увеличивает обратно



delphimun   (2001-11-01 13:18) [11]

Я уже разобрался просто изменив разрешение, а потом поставил его обратно, но всё-же интересно, как это сделать с помощю делфи(когда я изменяю размер десктопа твоим методом то не чего не происходит(больше не делает)



Jurgen   (2001-11-01 16:38) [12]

2delphinum
ДО загрузки своей формы сохрани размеры десктопа
SystemParametersInfo(SPI_GETWORKAREA, 0, @DeskRect, 0);
...
устанавливаешь свои размеры
...
При выгрузке восстанови их назад
SystemParametersInfo(SPI_SETWORKAREA, 0, @DeskRect, SPIF_SENDWININICHANGE);
Вот, собственно, все...




Дмитрий Демиденков   (2001-11-01 23:43) [13]

Только нашел время заняться. Короче проблема возникла. Как то не корректно это работает. Приходится вначале выделять пространство под AppBar, потом делать задержку и только потом MoveWindow. Если не делаешь задержки, то окно может не оказаться там где должно быть.
Кроме того не совсем понятно для каких целей используется APPBARDATA.uCallbackMessage. Оно в мое приложение не разу не вернулось.
Мож что я не понял.




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




Наверх





Память: 0.74 MB
Время: 0.025 c
1-18860           Анонимщик             2002-01-21 12:01  2002.02.07  
Один дюйм - это точно 2,54 сантиметра или нет?


1-18826           tovSuhov              2002-01-25 14:02  2002.02.07  
Проблема с ZTV...


14-18950          Станислав             2001-11-29 10:42  2002.02.07  
Днепропетровск


1-18912           vlv                   2002-01-23 18:37  2002.02.07  
Как в TListView поменять местами 2 Itema?


6-18934           SemFLY                2001-11-13 20:21  2002.02.07  
Какая команда в Windows разрывает соединение с интеренетом ?