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

> Создание графических окон в TP.
Билли Боб
сообщение 22.09.2011 16:17
Сообщение #1


Новичок
*

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

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


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


a.k.a. volvo877
*****

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

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


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

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

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

Сообщений в этой теме
Билли Боб   Создание графических окон в TP.   22.09.2011 16:17
TarasBer   Ничего записывать не надо. Просто при сдвиге окна ...   22.09.2011 16:47
Билли Боб   но тогда ведь придется весь экран перерисовывать, ...   22.09.2011 16:51
sheka   Кстати, как это реализовано в Windows? Если не оши...   22.09.2011 16:52
Билли Боб   а перемещаемое окно надо же как-то убрать с прежне...   22.09.2011 17:10
IUnknown   И зачем, собственно, надо перерисовывать полностью...   22.09.2011 17:25
Билли Боб   так это же как раз и интересно :lol:   22.09.2011 17:48
Билли Боб   Все же можно поподробнее?   22.09.2011 23:40
IUnknown   Все же можно поподробнее? Читай   23.09.2011 0:03
Lapp   Одобряю серьезный подход. Когда-то, в начале 90-х...   23.09.2011 2:55
Билли Боб   Жаль, что я ничего не понял. Вот и я так, трети...   23.09.2011 3:05
TarasBer   Просто вычисляешь границы участка A, который надо ...   23.09.2011 9:26
IUnknown   Помнится, в Windows 3.11 (да и в Win95 тоже, по-мо...   23.09.2011 9:46
TarasBer   > хотя хотелось, чтоб при перемещении было видн...   23.09.2011 9:54
Билли Боб   да нет вроде, хотя название похоже Тормозит из-з...   23.09.2011 11:26
SilentMage   когда регионы отрисовки определены, части окон не ...   6.10.2011 7:44


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

 



- Текстовая версия 29.07.2025 20:10
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"