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

Вниз

Как программно перерисовать Рабочий стол?   Найти похожие ветки 

 
Calm ©   (2003-08-19 10:39) [0]

Вывожу надпись поверх всех окон (даже игрушек) следующим кодом:


ActiveCanvas := TCanvas.Create;
ActiveCanvas.Handle := GetDC(0);

ActiveCanvas.Font.Color := clBlack;
ActiveCanvas.Font.Size := 50;
ActiveCanvas.Font.Style := [fsBold, fsItalic];
ActiveCanvas.Brush.Style := bsClear;
ActiveCanvas.TextOut(100,300,"Hello!");


Все работает, но когда программа завершает работу, то изображение остается на рабочем столе. Если под выводимый текст попадает окно другой проги, то изображение остается и поверх проги.
Каким образом можно избавится от подобного эффекта?


 
Skier ©   (2003-08-19 10:47) [1]

InvalidateRect(...) ?


 
Calm ©   (2003-08-19 11:15) [2]

2 Skier ©
А у кого я должен вызывать этот метод?
У каждого окна?

В хелпе сказано, что это метод класс TWidgetControl, который вообще CLX-овский.


 
ZeroDivide ©   (2003-08-19 11:17) [3]

RedrawWindow(GetDesktopWindow,nil,0,RDW_INVALIDATE + RDW_UPDATENOW + RDW_ALLCHILDREN);


 
Calm ©   (2003-08-19 11:29) [4]

2 ZeroDivide © (19.08.03 11:17) [3]
Большое спасибо! Отлично работает.



Страницы: 1 вся ветка

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

Наверх




Память: 0.47 MB
Время: 0.017 c
14-1619
Карелин Артем
2003-08-13 14:29
2003.09.01
Модераторы, крепитесь.


9-1266
Призрак_Коммунизма
2003-02-23 21:51
2003.09.01
Разные комбинации доспехов и оружия у героя


3-1345
Buka
2003-08-05 13:24
2003.09.01
Перенос данных из Excel в Table


6-1528
oduvan
2003-06-22 17:47
2003.09.01
Как написать прокси сервер?


6-1525
Delphin
2003-06-17 00:08
2003.09.01
Работаю с NMpop31, после проверки почты, в директории программы п