Форум: "Основная";
Текущий архив: 2006.10.01;
Скачать: [xml.tar.bz2];
ВнизОтрисовка Формы Найти похожие ветки
← →
Mechanic (2006-08-18 11:26) [0]Как узнать, отрисовала ли форма себя или нет? При этом вешаться на событие OnPaint нельзя.
← →
Ketmar © (2006-08-18 11:27) [1]хм. а зачем?
← →
Mechanic (2006-08-18 11:31) [2]Я рисую свой объект на FormCreate, а затем при помощи BitBlt сохраняю его вид в память. Так у меня получается схватить вид, того окна, которое лежит под моим, потому что мое еще не отрисовалось.
← →
Ketmar © (2006-08-18 11:34) [3]вопрос номер следующий: зачем так делать? это неверно. представь, что часть твоего окна по-любому перекрывается другим, которое "always on top". много ты наскриншотишь.
← →
Mechanic (2006-08-18 11:38) [4]Блин. Верно!
Но это я смогу обойти.
Главное мне сейчас не скриншотить, пока мое окно не нарисовано.
← →
zamtmn © (2006-08-18 11:48) [5]>>Я рисую свой объект на FormCreate, а затем при помощи BitBlt сохраняю его вид в память.
дак ты его сразу в память рисуй, а потом выводи на форму
← →
Ketmar © (2006-08-18 11:49) [6]пошли из OnShow WM_USER какой-нибудь. он придёт после того, как всё нарисуется, афаир.
← →
Mechanic (2006-08-18 11:51) [7]Ребята, всем спасибо. Сам разобрался. Я вызывал своему объекту принудительно Paint на FormCreate. Paint заменил на Invalidate и все пошло.
← →
Ketmar © (2006-08-18 11:54) [8]> [7] Mechanic (18.08.06 11:51)
а это ещё зачем??? всё, что делает Invalidate() -- это говорит винде, что надо бы WM_PAINT послать. который и так уже сидит в очереди, потому что посылается при показе окна.
← →
Mechanic (2006-08-18 11:59) [9]У меня несколько сложнее, чем было сказано. при старте формы происходит загрузка данных в мой объект. Также загрузка может произойти и в последующие моменты работы программы, при этом объект немедленно должен себя перерисовать. Вот на загрузке у меня и висел вызов Paint.
Ketmar, большое спасибо за "Always on top".
← →
Ketmar © (2006-08-18 12:03) [10]> [9] Mechanic (18.08.06 11:59)
не надо звать Paint(). надо звать или Invalidate(), или Update().
а выставление своего окна поверх всех тоже не универсальное решение. %-)
← →
Mechanic (2006-08-18 12:07) [11]Да я и не выставляю поверх всех, я только лишь убрал вызов изображения из буфера в случае перекрывания другим окном, пускай мой заново отрисовывается.
← →
Ketmar © (2006-08-18 13:03) [12]> [11] Mechanic (18.08.06 12:07)
бр-р-р. так ты таким образом кэшируешь? ужос. PaintTo() не спасает ОРД?
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2006.10.01;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.02 c