IPB
ЛогинПароль:

> Создание графических окон в TP.
сообщение
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 47
Пол: Мужской

Репутация: -  0  +


Какой принцип отображение и перемещения окон лучше использовать?
Мне пришло в голову только создание уровней окон и запись участка экрана за каждым окном.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
сообщение
Сообщение #2


Гуру
*****

Группа: Пользователи
Сообщений: 1 013
Пол: Мужской
Ада: Разработчик
Embarcadero Delphi: Сторонник
Free Pascal: Разработчик

Репутация: -  627  +


Цитата
посылаешь сообщение тому окну, которое было под перемещаемым, и таким образом будет перерисовано только некоторое кол-во окон.
И зачем, собственно, надо перерисовывать полностью окно, лежащее ПОД тем, которое перетянули с места на место, а потом еще и перерисовывать само верхнее окно (фактически, тебе придется перерисовать ВСЕ окна, лежащие под рабочим, в порядке от нижнего к верхнему)?

В Windows это реализовано на уровне регионов. Область, которую надо перерисовать, помечается как невалидная, и потом, при получении сообщения WM_PAINT, только эта область перерисовывается. Если у тебя есть окно, под которым лежат три других, и при смещении верхнего окна на 20 пикселей, на нижележащих открываются участки шириной 20 пикселей - то перерисованы будут именно и только эти 3 маленьких участка, а не все 3 нижних окна... Не надо равняться на Windows...

Да и велосипедостроением тоже не надо заниматься. Под ДОС (и под ТР, кстати) есть прекрасная библиотека для построения граф. интерфейса, называется Graphic Vision (графический аналог Turbo Vision), скачай ее и посмотри, как оно там реализовано (насколько я помню, исходники доступны), или вообще пользуйся ей, а не самоделкой.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме
Билли Боб   Создание графических окон в 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
IUnknown   Помнится, в Windows 3.11 (да и в Win95 тоже, по-мо…   23.09.2011 13:46
TarasBer   > хотя хотелось, чтоб при перемещении было видн…   23.09.2011 13:54
Билли Боб   да нет вроде, хотя название похоже Тормозит из-з…   23.09.2011 15:26
SilentMage   когда регионы отрисовки определены, части окон не …   6.10.2011 11:44


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 10.09.2025 17:12
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name