Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.09.16;
Скачать: CL | DM;

Вниз

Рисование без формы   Найти похожие ветки 

 
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 вся ветка

Текущий архив: 2002.09.16;
Скачать: CL | DM;

Наверх




Память: 0.46 MB
Время: 0.017 c
3-50598
Oleg_EM
2002-08-22 10:36
2002.09.16
При выполнении запроса I/O error for file


1-50804
Z:TCFV
2002-09-03 17:28
2002.09.16
HElp


1-50817
ErmSergey
2002-08-31 14:24
2002.09.16
Утечка ресурсов


1-50735
Weare
2002-09-02 12:40
2002.09.16
Сервис в Windows2000Server


6-50904
Zhlog
2002-07-09 10:22
2002.09.16
Соединение с интернетом. Проблема!!!!!