Вопрос № 47792: Уважаемые эксперты. Проблема в следующем. Мне надо рисовать на рабочем столе свою картинку, а точнее рисовать вместо обоев нечто свою, как это делает WinAmp. Может кто подскажет как это можно реализовать. Просто получив контекст устройства (Рабочий с...Вопрос № 47858: Здравствуйте, уважаемые эксперты!
Вопрос в следующем:
1.Как улучшить функцию (см. исходник)
2. В этой ф-ии входной параметр - только 1 символ, а как сделать так, чтобы можно было проверить сочетание символов (например ch, ya и т.д.)...
Вопрос № 47.792
Уважаемые эксперты. Проблема в следующем. Мне надо рисовать на рабочем столе свою картинку, а точнее рисовать вместо обоев нечто свою, как это делает WinAmp. Может кто подскажет как это можно реализовать. Просто получив контекст устройства (Рабочий стол) - это реализовать не удается, т.к. рисование происходит поверх иконок, а мне надо под ними.Буду благодарен за любую информацию.
Отвечает: Решетник Д
Здравствуйте, Иван Николаевич!
возникло несколько идей по этому поводу:
1. иконки находятся на прозрачном компоненте ListView. его родитель окно (наример О1). Если создать свое окно, которое будет дочерним для О1 и на него пихнуть компонент с иконками, по идее результат будет именно тот, кторый Вам нужен. ключевые слова - setparent, setwindowlayered
2. просто создать окно, родитель которого будет 0 (ноль) - хэндл окна Десктопа. Возможно Вас и такой вариант устроит.
3. Рисовать постоянно на обоях и обновлять фон рабочего стола. Плюс к этому нужно отлавливать, в какой точке экрана нажата клавиша....
ключевые слова - setwindow(s)hook, WM_KEYDOWN, WM_KEYUP. самый легкий способ обновить экран - послать рабочему столу сообщение о нажатии клавиши F5
--------- Жизнь коротка, чтобы писать на ассемблере
Ответ отправил: Решетник Д (статус: 10-ый класс)
Ответ отправлен: 30.06.2006, 21:12 Оценка за ответ: 5 Комментарий оценки: Спасибо, попробую, посмотрю что получится.
Отвечает: Mo-skin
Здравствуйте, Иван Николаевич!
Это не самый простой выход, конечно, но можете попробовать Так:
Отображать на рабочем столе HTML(url) и изменять его.
Я видал например как падают снежинки (на жаба-скрипте).
--------- Чем больше женщину мы меньше,- тем меньше больше мы ее!
Ответ отправил: Mo-skin (статус: 2-ой класс)
Ответ отправлен: 30.06.2006, 21:26 Оценка за ответ: 3 Комментарий оценки: Спасибо, но немного не то, что я хотел.
Отвечает: Coupler
Здравствуйте, Иван Николаевич!
Нашел у себя на диске стаью "Вывод графики на рабочий стол Windows с использованием оверлеев DirectX". С ней идет очень интересный пример, который делает то же, что и AVS с включенными функциями Overlay Mode и Set Desktop to color. Могу скинуть статью и прилагающиеся исходники на email.
Ответ отправил: Coupler (статус: Студент)
Ответ отправлен: 02.07.2006, 17:24 Оценка за ответ: 5 Комментарий оценки: Буду очень благодарен.адрес sinitsin-in@yandex.ru
Вопрос № 47.858
Здравствуйте, уважаемые эксперты!
Вопрос в следующем:
1.Как улучшить функцию (см. исходник)
2. В этой ф-ии входной параметр - только 1 символ, а как сделать так, чтобы можно было проверить сочетание символов (например ch, ya и т.д.)
Отвечает: mvp
Здравствуйте, Герасименко Алексей Анатольевич/Geer!
Нужно переопределить описание функции и внести некоторые изменения - см. приложение
Приложение:
--------- Моя совесть чиста - не бывшая в употреблении
Ответ отправил: mvp (статус: Студент)
Ответ отправлен: 01.07.2006, 17:51 Оценка за ответ: 5 Комментарий оценки: Отлично!!! Это то, что мне нужно!!!
Еще вопрос в тему: У меня имеется строка str В цикле я перебираю ее посимвольно и каждый символ я передаю ф-ии engtorus Что нужно сделать для того, чтобы проверить буквосочетание?
Отвечает: METALLDOCTOR
Здравствуйте, Герасименко Алексей Анатольевич/Geer!
Я бы заменил многочисленное
'.': result:='.';
на
ELSE Result := Eng;
А комбо символов надо править с учётом передачи туда, т.е. обрабатывать строку(как предлагал mvp), и если текущий символ может быть первым из пары и сдедующий символ подходит этой паре, то передавать строку из 2-х символов и делать "I := I + 1"(для ФОРа).
--------- Ни о чём не жалею!
Ответ отправил: METALLDOCTOR (статус: 3-ий класс)
Ответ отправлен: 01.07.2006, 18:11