Форум: "Система";
Текущий архив: 2003.09.22;
Скачать: [xml.tar.bz2];
ВнизРисование на рабочем столе Найти похожие ветки
← →
Ozone (2003-07-08 09:53) [0]Собственно сабж, но хочется, чтобы рисунок не затирался другими окнами.
← →
Spawn (2003-07-08 10:02) [1]У пабочего стола Хендл равен 0. Соответственно получай ссылку на его контекст так GetDC(0). И рисуй наздоровье. Только вот над незатираемосью надо бы будет подумать(Может быть получится, напримре, через Хук на WM_PAINT для рабочего стола)
← →
Ozone (2003-07-08 10:31) [2]Рисую так:
Desktop := TCanvas.Create;
Deskop.Handle := GetDC(0);
// рисую на Desktop
ReleaseDC(0,Deskop.Handle);
Но тогда он рисует поверх всех окон и ктому же любое окно может его затереть.
Мне нужно рисовать позади всех и чтобы эти "все" его не затирали.
← →
Ozone (2003-07-08 13:12) [3]ПОМОГИТЕ!!!!!!!!!
← →
pasha676 (2003-07-08 13:40) [4]
> Но тогда он рисует поверх всех окон и ктому же любое окно
> может его затереть.
> Мне нужно рисовать позади всех и чтобы эти "все" его не
> затирали.
Может создать прозрачную форму, а на ее канвасе рисунок?
← →
Ozone (2003-07-08 13:59) [5]Так не пойдет, т.к. я хочу зарезидентить свою прогу.
← →
Игорь Шевченко (2003-07-08 14:34) [6]Для того, чтобы пакостить, надо учиться самому. Иначе весь вкус пакости пропадает
← →
Marser (2003-07-09 01:06) [7]Удалено модератором
← →
pasha676 (2003-07-09 09:14) [8]
> Так не пойдет, т.к. я хочу зарезидентить свою прогу.
Объясни мне значение слова "зарезидентить" по отношению к виндоуз. Я его не понимаю.
← →
Ozone (2003-07-09 10:23) [9]< Объясни мне значение слова "зарезидентить" ...>
Я хочу, чтобы она сидела в памяти и все...
А на счет напакостить, то этот вы зря - пишу обысновенне часики, которые бы рисовались на рабочем столе (также как это делают с календарями).
Можнт подскажите что-нить дельное?
← →
Oops (2003-07-09 10:44) [10]Можно просто добавлять к картинке на рабочем столе то что нужно и рефрешать рабочий стол :) Так по крайней мере некоторые программы с нужной тебе функциональностью делают.
← →
pasha676 (2003-07-09 11:22) [11]
> Я хочу, чтобы она сидела в памяти и все...
Ты не поверишь. Обычная Form1 тоже сидит в памяти. Одна из основ виндов - многозадачность и любая задача сидит в памяти. Имхо - самый простой и эффективный подход. Без извратов.
← →
Игорь Шевченко (2003-07-09 11:33) [12]Может, и подскажем - например, перехватывать сообщение WM_ERASEBKGND у рабочего стола и по таймеру вызвать перерисовку рабочего же стола.
← →
pasha676 (2003-07-09 11:38) [13]
> Может, и подскажем - например, перехватывать сообщение WM_ERASEBKGND
> у рабочего стола и по таймеру вызвать перерисовку рабочего
> же стола.
Помоему это будет работать не очень эффективно. Да и геморойно это.
← →
DVM (2003-07-09 12:28) [14]Если включен ActiveDesktop свое окно можно запихать под иконки рабочего стола. Так собственно и делают все программы, которые рисуют прямо на рабочем столе под иконками. А насчет скрытия программы, как окно этому может мешать?
← →
MetalFan (2003-07-10 10:42) [15]А можно ли узнать какая картинка (графич.файл) отображается в обоях. загрузить, нарисовать на нем,сохранить, и зарефрешить стол... но для часов, имхо, слишком медленно будет работать...
и все-таки, как можно узнать что за файл служит обоями?
← →
Ozone (2003-07-10 12:18) [16]< вызвать перерисовку рабочего же стола >
Как?
Страницы: 1 вся ветка
Форум: "Система";
Текущий архив: 2003.09.22;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.011 c