Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Перемещение окна без перемещения изображения в нем [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 не помогает ?


Наверх

Титульная страница Поиск, карта сайта Написать письмо