Форум: "Система";
Текущий архив: 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. Оно в мое приложение не разу не вернулось.
Мож что я не понял.
Страницы: 1 вся ветка
Форум: "Система";
Текущий архив: 2002.02.07;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.005 c