Конференция "WinAPI" » Перемещение окна без перемещения изображения в нем [D7, WinXP]
 
  • ID_23587A5E (05.05.09 22:29) [0]
    Доброе время суток.
    Пусть имеется окно TForm, при прорисовке, на нем рисуется нужная картинка. Мне необходимо переместить окно так, что бы оно прорисовалось с картинкой, как будто бы, оставшейся на месте (относительно границ экрана). Я могу сначала передвинуть окно, потом нарисовать смещенную относительно него картинку. Хотя, могу сначала сместить картинку, а затем окно. В обоих случаях возникает такой себе "дребезг". Подскажите пожалуйста как его избежать.               ^_^
  • Игорь Шевченко © (05.05.09 22:40) [1]

    > В обоих случаях возникает такой себе "дребезг". Подскажите
    > пожалуйста как его избежать.        


    использовать DoubleBuffered не помогает ?
  • Вася (05.05.09 23:21) [2]
    Я хотя ещё и не умею ни "сначала сместить картинку, а затем окно" ни "сначала передвинуть окно, потом нарисовать смещенную относительно него картинку", но довольно неплохо нахожу что изменить в коде чтоб всё работало... :)

    Код в студию! :)
  • Eraser © (06.05.09 00:18) [3]
    > [0] ID_23587A5E   (05.05.09 22:29)

    все потому что перерисовывать нужно их положенных мест, а не откуда попало.
  • ID_23587A5E (06.05.09 00:51) [4]

    > Код в студию! :)

    с этим проблема - он длинный (сюда не влезло) и включает некоторое кол-во других модулей (основная задумка - информационное окно в левом нижнем углу экрана): "http://www.4shared.com/file/103600091/82eac60c/TPInfoWindow_Form.html" - писал "лишь бы работало".
  • Германн © (06.05.09 01:47) [5]

    > ID_23587A5E   (05.05.09 22:29)
    >
    > Доброе время суток.
    > Пусть имеется окно TForm, при прорисовке, на нем рисуется
    > нужная картинка. Мне необходимо переместить окно так, что
    > бы оно прорисовалось с картинкой, как будто бы, оставшейся
    > на месте (относительно границ экрана).

    А вот тут хотелось бы знать саму задачу!
    Тут ведь, как бы, картинка не должна быть привязанной к данному окну?
  • ID_23587A5E (06.05.09 02:26) [6]

    > знать саму задачу!

    >>

    > (основная задумка - информационное окно в левом нижнем углу
    > экрана)

    (ну только в правом)

    Перед тем как окно появится, нужная часть экрана копируется во временный TBitmap, затем обрабатывается и выводится соответствующим образом. Само окно "выезжает" из-за границы экрана, на этом окне присутствуют нужные объекты (текст, кнопка...). С помощь функций Smooth и TransparentBitBlt форма выглядит "стекляной" (просвечивается размытое изображение за окном). В случае если окно появляется ненадолго, этого достаточно (плохо то, что нет момента обновления инфо о скрытых за ним окнах).

    вообще, лучше бы, каким нибудь образом заставить скрытые окна прорисовываться на нужном TBitmap (этот вопрос я уже здесь задавал - сказали нельзя)

    скрин этого окна: "http://www.4shared.com/file/103614030/bd00a0f7/screen.html"
  • antonn © (08.05.09 22:54) [7]
    Видимо товарищ делает полупрозрачное окно :)
    Информационное?
    http://desksoft.ru/index.php?forum=13&th=47&page=1
    http://desksoft.ru/index.php?forum=13&th=187
  • Германн © (09.05.09 01:46) [8]

    > antonn ©   (08.05.09 22:54) [7]
    >
    > Видимо товарищ делает

    А фиг его знает, что "товарищ" делает.
  • ID_23587A5E (09.05.09 19:17) [9]

    > Видимо товарищ делает полупрозрачное окно :)

    типа того.
    Спасибо за пример.
    Но конечно, хочется и другие эффекты сделать. Т.е. обработать изображение фона по своему. Но где его достать?
  • ID_23587A5E (09.05.09 20:50) [10]

    > А фиг его знает, что "товарищ" делает.

    вот "exe" файл (на ХР работает, а на висте не пробовал)
    "http://www.4shared.com/file/104343065/7040b8c9/Project1.html"
  • Вася (09.05.09 23:01) [11]
    В первой ссылке только pas-файл, а не весь проэкт...

    А "exe-файл" довольно неплохо работает... :)
    И никакого "дребезга" не видно...

    Сейчас попробую восстановить проэкт из pas-файла посмотрю что к чему... :)
  • ID_23587A5E (10.05.09 00:14) [12]

    > а не весь проэкт...

    весь проект требует мой package (*.bpl) и несколько других модулей.

    > И никакого "дребезга" не видно...

    может у меня комп плохой,... но если это окно сделать большим, то станет заметно.
 
Конференция "WinAPI" » Перемещение окна без перемещения изображения в нем [D7, WinXP]
Есть новые Нет новых   [134435   +33][b:0][p:0]