|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
01.02.2011, 20:52 | #1 |
Trust no one.
Старожил
Регистрация: 07.04.2009
Сообщений: 6,526
|
SetWindowPos для дочерних окон и битмапов.
Имеется окно. В нем на весь его размер дочернее. Что-то типа TImage:
Код:
Теперь ситуация. Мне нужно поменять размеры окна. Раньше (в старой версии). Я делал DeleteObject для hBitMap, DestroyWindow для "TImage", затем вызываю SetWindowPos для главного окна, потом создаю дочернее и заново создаю hBitMap. Теперь я немного изменил структуру - буфер для TImage теперь полноценная текстура из хранилища. Это дает больше возможностей для визуальных эффектов. Но теперь убийство "буфера" будет караться Access Violation, поэтому хотелось бы обойтись малой кровью. Итак, полный список шагов, которые мне необходимо предпринять: 0) Код:
Код:
Код:
В общем хотелось бы получить ответы от гуру на выделенные вопросы. P.S. Подсветка кода опять отжигает.
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ Последний раз редактировалось Alex Cones; 01.02.2011 в 21:17. Причина: Добавил PS |
02.02.2011, 04:29 | #2 | |||
Пользователь
Регистрация: 01.01.2011
Сообщений: 29
|
Цитата:
Цитата:
Цитата:
А зачем при изменении размеров этого "APP_STATIC" изменять также и размеры HBITMAP? Просто выводите нужную его часть в нужной области (StretchBlt())... Если для каких-то целей всё же требуется изменение размеров HBITMAP (например для сохранения в файл), то придётся создавать второй битмап (нового размера) и копировать в него нужную часть первого битмапа...
Regards, GreyScall.
|
|||
02.02.2011, 08:56 | #3 | |||
Trust no one.
Старожил
Регистрация: 07.04.2009
Сообщений: 6,526
|
Цитата:
Цитата:
Цитата:
Ладно, с буфером понятно. Я такк и не услышал ответ на первый вопрос - SetWindowPos подействует на дочернее окно?
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ |
|||
02.02.2011, 13:47 | #4 | |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
Цитата:
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
|
02.02.2011, 13:49 | #5 | |
Trust no one.
Старожил
Регистрация: 07.04.2009
Сообщений: 6,526
|
Цитата:
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как получить классы всех дочерних окон формы | rangel | Работа с сетью в Delphi | 8 | 12.10.2014 17:36 |
Попиксельное сравнение двух битмапов. | rokweb | Общие вопросы Delphi | 5 | 10.06.2010 21:16 |
Форма поверх всех окон (SetWindowPos) | AdrenalinE | Microsoft Office Access | 4 | 18.04.2010 00:07 |
Расположение дочерних MDI окон слева-направо и сверху-вниз | Umdis | Общие вопросы Delphi | 2 | 30.11.2009 07:05 |
SetWindowPos (точное расположение) | BOBAH13 | Win Api | 2 | 19.02.2009 08:39 |