Какой принцип отображение и перемещения окон лучше использовать?
Мне пришло в голову только создание уровней окон и запись участка экрана за каждым окном.
| Билли Боб |
Сообщение
#1
|
|
Новичок ![]() Группа: Пользователи Сообщений: 47 Пол: Мужской Репутация: 0 |
Какой принцип отображение и перемещения окон лучше использовать?
Мне пришло в голову только создание уровней окон и запись участка экрана за каждым окном. |
![]() ![]() |
| IUnknown |
Сообщение
#2
|
![]() Гуру ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 013 Пол: Мужской Ада: Разработчик Embarcadero Delphi: Сторонник Free Pascal: Разработчик Репутация: 627 |
Цитата вот только когда окно двигаешь, немного тормозит, точнее чем больше окно, тем больше тормозит. Помнится, в Windows 3.11 (да и в Win95 тоже, по-моему) при перетаскивании окна визуально рисовалась только XOR-рамка, показывающая где именно будет расположено окно, а после отпускания мыши - окно уже перерисовывалось в новой позиции (profit - не надо было перерисовывать окно и все находящееся под ним постоянно, пока двигалась мышь при зажатой левой кнопке. Отсюда возможен был вариант: сохранять то, что находится под окном, в буфер, и при изменении положения окна просто восстанавливать фон из буфера и отрисовывать окно в новой позиции, предварительно сохранив находящееся под ним в буфер заново). Может тебе тоже сделать такую фишку?Цитата Как это сделано в Windows я так и не понял. Что именно непонятно? Как происходит вычисление региона, который будет перерисовываться? Я не думаю, что тебе удастся повторить ту же модель, которая реализована в Windows. Допустим, даже ты найдешь, какие области должны быть перерисованы. Что дальше? Как ты будешь рисовать только эти области? У тебя наверняка есть процедуры отрисовки разных контролов (скажем, поля ввода, кнопки и так далее, но они ж рисуют контрол полностью, а не какую-то его часть).P.S. Делал когда-то, как часть дипломного проекта, графический интерфейс на TP (сам проект касался совершенно другого, но чтоб не особо скучать, решил делать и граф. интерфейс самостоятельно), было красиво, несколько разных контролов нарисовал, Edit-ы, ComboBox-ы, CheckBox-ы, Equalizer-ы, кнопки, менюшки, но вот до правильного перемещения окон так и не добрался, сделал именно с рамкой (подсмотрел в только что тогда вышедшей Win 3.11), хотя хотелось, чтоб при перемещении было видно всё окно |
Билли Боб Создание графических окон в TP. 22.09.2011 20:17
TarasBer Ничего записывать не надо.
Просто при сдвиге окна … 22.09.2011 20:47
Билли Боб но тогда ведь придется весь экран перерисовывать, … 22.09.2011 20:51
sheka Кстати, как это реализовано в Windows? Если не оши… 22.09.2011 20:52
Билли Боб а перемещаемое окно надо же как-то убрать с прежне… 22.09.2011 21:10
IUnknown И зачем, собственно, надо перерисовывать полностью… 22.09.2011 21:25
Билли Боб
так это же как раз и интересно :lol: 22.09.2011 21:48
Билли Боб
Все же можно поподробнее? 23.09.2011 3:40
IUnknown Все же можно поподробнее?
Читай 23.09.2011 4:03
Lapp Одобряю серьезный подход. Когда-то, в начале 90-х… 23.09.2011 6:55
Билли Боб
Жаль, что я ничего не понял.
Вот и я так, трети… 23.09.2011 7:05
TarasBer Просто вычисляешь границы участка A, который надо … 23.09.2011 13:26
TarasBer > хотя хотелось, чтоб при перемещении было видн… 23.09.2011 13:54
Билли Боб
да нет вроде, хотя название похоже
Тормозит из-з… 23.09.2011 15:26
SilentMage когда регионы отрисовки определены, части окон не … 6.10.2011 11:44![]() ![]() |
|
Текстовая версия | 6.11.2025 14:56 |