Форум: "WinAPI";
Текущий архив: 2002.09.16;
Скачать: [xml.tar.bz2];
Вниз
Рисование без формы Найти похожие ветки
← →
keymaster (2002-07-27 02:34) [0]Сейчас проблема решается так: берется форма, ставится
в Always on Top, а на ней я уже рисую, что мне нужно...
но так как форма заниает 1.5 Мб в памяти, то хочется
обойтись без неё.
Пробовал рисовать прям на рабочем столе, только всё равно
это дело закрывается любым другим окном и заново потом не отрисовывается....
← →
Dmk (2002-07-27 03:25) [1]FormDC := GetDC(Form.Handle);
Этот метод вызывается внутри TWinControl
HiddenDC := BeginPaint(Form.Handle,TPaintStruct);
рисуем во внутренний DC формы т.е. HiddenDC
EndPaint(Form.Handle,TPaintStruct);
OnPaint
BitBlt(FormDC, 0, 0, ClientWidth, ClientHeight, 0, 0, HiddenDC, SrcCopy);
Внимание!
При любом изменении окна содержимое HiddenDC уничтожается,
как и сам DC. С каждым разом используется новый DC.
Поэтому этот метод надо вызывать заново.
Или еще проще делаешь свой DC, на него рисуешь, а потом
делаешь BitBlt на DC формы. Все остальные события родителя по отрисовке отключаешь.
Страницы: 1 вся ветка
Форум: "WinAPI";
Текущий архив: 2002.09.16;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.008 c