![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Перемещение окна без перемещения изображения в нем [D7, WinXP]
ID_23587A5E © (2009-05-05 22:29:00)Доброе время суток.
Пусть имеется окно TForm, при прорисовке, на нем рисуется нужная картинка. Мне необходимо переместить окно так, что бы оно прорисовалось с картинкой, как будто бы, оставшейся на месте (относительно границ экрана). Я могу сначала передвинуть окно, потом нарисовать смещенную относительно него картинку. Хотя, могу сначала сместить картинку, а затем окно. В обоих случаях возникает такой себе "дребезг". Подскажите пожалуйста как его избежать. ^_^
ID_23587A5E (2009-05-10 00:14:00) [1]
> а не весь проэкт...
весь проект требует мой package (*.bpl) и несколько других модулей.
> И никакого "дребезга" не видно...
может у меня комп плохой,... но если это окно сделать большим, то станет заметно.
Вася (2009-05-09 23:01:00) [2]В первой ссылке только pas-файл, а не весь проэкт...
А "exe-файл" довольно неплохо работает... :)
И никакого "дребезга" не видно...
Сейчас попробую восстановить проэкт из pas-файла посмотрю что к чему... :)
ID_23587A5E (2009-05-09 20:50:00) [3]
> А фиг его знает, что "товарищ" делает.
вот "exe" файл (на ХР работает, а на висте не пробовал)
" http://www.4shared.com/file/104343065/7040b8c9/Project1.html"
ID_23587A5E (2009-05-09 19:17:00) [4]
> Видимо товарищ делает полупрозрачное окно :)
типа того.
Спасибо за пример.
Но конечно, хочется и другие эффекты сделать. Т.е. обработать изображение фона по своему. Но где его достать?
Германн (2009-05-09 01:46:00) [5]
> antonn © (08.05.09 22:54) [7]
>
> Видимо товарищ делает
А фиг его знает, что "товарищ" делает.
antonn (2009-05-08 22:54:00) [6]Видимо товарищ делает полупрозрачное окно :)
Информационное?
http://desksoft.ru/index.php?forum=13&th=47&page=1
http://desksoft.ru/index.php?forum=13&th=187
ID_23587A5E (2009-05-06 02:26:00) [7]
> знать саму задачу!
>>
> (основная задумка - информационное окно в левом нижнем углу
> экрана)
(ну только в правом)
Перед тем как окно появится, нужная часть экрана копируется во временный TBitmap, затем обрабатывается и выводится соответствующим образом. Само окно "выезжает" из-за границы экрана, на этом окне присутствуют нужные объекты (текст, кнопка...). С помощь функций Smooth и TransparentBitBlt форма выглядит "стекляной" (просвечивается размытое изображение за окном). В случае если окно появляется ненадолго, этого достаточно (плохо то, что нет момента обновления инфо о скрытых за ним окнах).
вообще, лучше бы, каким нибудь образом заставить скрытые окна прорисовываться на нужном TBitmap (этот вопрос я уже здесь задавал - сказали нельзя)
скрин этого окна: " http://www.4shared.com/file/103614030/bd00a0f7/screen.html"
Германн (2009-05-06 01:47:00) [8]
> ID_23587A5E (05.05.09 22:29)
>
> Доброе время суток.
> Пусть имеется окно TForm, при прорисовке, на нем рисуется
> нужная картинка. Мне необходимо переместить окно так, что
> бы оно прорисовалось с картинкой, как будто бы, оставшейся
> на месте (относительно границ экрана).
А вот тут хотелось бы знать саму задачу!
Тут ведь, как бы, картинка не должна быть привязанной к данному окну?
ID_23587A5E (2009-05-06 00:51:00) [9]
> Код в студию! :)
с этим проблема - он длинный (сюда не влезло) и включает некоторое кол-во других модулей (основная задумка - информационное окно в левом нижнем углу экрана): " http://www.4shared.com/file/103600091/82eac60c/TPInfoWindow_Form.html" - писал "лишь бы работало".
Eraser (2009-05-06 00:18:00) [10]> [0] ID_23587A5E (05.05.09 22:29)
все потому что перерисовывать нужно их положенных мест, а не откуда попало.
Вася (2009-05-05 23:21:00) [11]Я хотя ещё и не умею ни "сначала сместить картинку, а затем окно" ни "сначала передвинуть окно, потом нарисовать смещенную относительно него картинку", но довольно неплохо нахожу что изменить в коде чтоб всё работало... :)
Код в студию! :)
Игорь Шевченко (2009-05-05 22:40:00) [12]
> В обоих случаях возникает такой себе "дребезг". Подскажите
> пожалуйста как его избежать.
использовать DoubleBuffered не помогает ?