Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > VB .NET > Динамический рабочий стол |
Автор: piadmin 19.12.2005, 13:08 |
Привет всем. Такая проблема: хочу на рабочем столе в виде фона (поверх фона рабочего стола) отображать ряд параметров. Параметры должны периодически обновляться... Как это сделать? Нашел в инете ссылку как это делается через Delfi http://www.delphimaster.ru/articles/directx/index.html И никак не найду, как сделать в VB... Помогите ![]() |
Автор: Exception 19.12.2005, 13:21 |
Создай полупрозрачное окно с позицией поверх десктопа.. |
Автор: Гость_piadmin 20.12.2005, 10:39 |
В этом случае по нему можно будет клацнуть мышкой и выбрать... разве нет? Не хотелось этого. ![]() |
Автор: Гость_Папа 21.12.2005, 01:28 | ||
piadmin Привет. Посмотри следующую инфу. Может пригодиться. Ситуэйшен: На форме только picturebox и все. Сама форма не видима и не кликабельна. Кликаешь по картинке, усе закрывается. Что интересно для тебя. Тут есть решение скрыть саму форму. А элементы на форме будут видны. Если изменить свойство контрола Enable с True на False то, он видим но не кликабелен. Я правда не проверял будут ли к примеру тулбары отражать измениение значений в этом случае? Попробуй сам. Не знаю как тут можно выложить файл. Приведу код формы, разберешся. А так могу выслать ZIP с проектом на VB.NET(2003).
В принципе тебе нужен кусок кода в Sub Form_Load(), где делаем саму форму прозрачной. Остальное так для перетаскивания, если можно кликать. И как советовали свойство формы TopMost устанавливай True, тогда форма будет поверх всех окон. Желаю удачи. ЗЫ.Самого тоже заинтересовало, на каникулах буду что-то пробовать сделать. |
Автор: arilou 21.12.2005, 17:35 |
piadmin На десктопе можно рисовать. Попробуй заюзать API ф-цию GetDesktopWindow(). Она тебе вернет HWND, из которого можно будет создать объект Graphics и рисовать на desktop'е. |
Автор: Varlok9000 11.2.2006, 23:41 |
arilou, а код можно вывисеть а я как то уже замучался!!! вроде как находил как это сделать не работало говорила арифмитическия ошибка и усе!!! ![]() буду очень благодарен!!! |
Автор: Exception 12.2.2006, 03:09 | ||||
Varlok9000, приветствую на форуме! Где именно возникает проблема? Объявление функции GetDesktopWindow выглядит так:
![]() P.S. Код отредактировал.. |
Автор: Varlok9000 12.2.2006, 21:15 |
Exception, А ты уверен что это работает!? у меня он матерится на hDesktop говорит не могу преоброзовать в intPrt |
Автор: Varlok9000 12.2.2006, 22:15 | ||
вот так все работет
хм с этим я вроде как заработала только вот оны уж совсем жестко работает прям по верж всего рисует а желательно чтобы только на рабочем столе и под ярлыками воть! |
Автор: Exception 12.2.2006, 22:37 | ||
Насчет кода: у тебя проделана одна лишняя операция, надо так:
Насчет "поверх всего": сейчас проверить не могу, можешь привести скриншот, что именно не нравится ![]() |
Автор: Exception 13.2.2006, 00:26 |
Хм. Ты имеешь в виду - под ярлыками? Щас подумаю.. Но сомневаюсь, что это возможно. |
Автор: Exception 13.2.2006, 01:10 | ||
А если написать
|
Автор: arilou 13.2.2006, 11:15 |
Только под Windows 98. Под NT платформой не гарантируется, что HDC Desktop'а будет 0. |
Автор: Varlok9000 13.2.2006, 20:46 |
вот и именно не работаел ладно с этим понятно что ничего не получиться а как с картинку рабочего стола сначало дернуть а потом обратно вернуть!? ![]() |
Автор: Exception 13.2.2006, 21:03 | ||
Не понял, как это -- дёрнуть? |
Автор: Varlok9000 14.3.2006, 23:07 |
Exception, Всмысле как добраться до обоев на рабочем столе скопировать их а потом вернуть обратно где росло. |