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

Вниз

Рисование на DC   Найти похожие ветки 

 
ATLANTIDO ©   (2002-03-22 21:28) [0]

Рисую на DC. Вопрос в том, как
после своих манипуляций посылать пострадавшим (или всем) окнам сообщение о необходимости перерисовки, для восстановления их первоначального вида ?


 
Amit ©   (2002-03-22 21:45) [1]

Посылаеш сообшение WM_SETREDRAW. программа получает сообшение о перерисовке и после этого перерисовывается.


 
ATLANTIDO ©   (2002-03-22 22:08) [2]

Это сообщение ForeGround-окну посылать ?


 
Song ©   (2002-03-22 22:35) [3]

WM_PAINT


 
ATLANTIDO ©   (2002-03-23 00:46) [4]

Кому этот месдж посылать ?


 
SPeller ©   (2002-03-23 08:54) [5]

Тому, в чьём контексте рисовал


 
ATLANTIDO ©   (2002-03-23 11:31) [6]

Рисовал в контексте DC.


 
ATLANTIDO ©   (2002-03-23 14:08) [7]

Посылаю DC - ноль эмоций


 
Raptor ©   (2002-03-24 00:13) [8]

Каждое окно имеет свой DC и сообщение WM_PAINT надо посылать тому окну, на чьем DC ты рисуешь. Очевидно ты рисуешь прямо на рабочем столе, тогда нодо посылать сообщение всем окнам. Например так:
SendMessage(HWND_BROADCAST,WM_PAINT,0,0)


 
ATLANTIDO ©   (2002-03-24 23:04) [9]

Пробовал на окнах рисовать - потом WP_Paint посылаю
и не работает


 
SPeller ©   (2002-03-25 07:26) [10]

Должно работать. Ты б показал как ты это делаешь.


 
SPeller ©   (2002-03-25 07:29) [11]

А если сделать своё окно нужных размеров и рисовать на нём, вместо того, чтобы делать это на чужих?


 
ATLANTIDO ©   (2002-03-25 17:02) [12]


> А если сделать своё окно нужных размеров и рисовать на нём,
> вместо того, чтобы делать это на чужих?

Тоже идея . Только окно свое придется закидывать поверх
других - а это уже другой вопрос, на который я тоже
пока не получил ответа.
Код :


procedure TForm1.TimeMes(s:string);
var
DC: HDC;
Canva: TCanvas;
B: TBitmap;
W, H, i : integer;
Wnd : THandle;
begin
for i:=1 to 30 do
begin
Canva := TCanvas.Create;
DC := GetDC(0);
try
Canva.Handle := DC;
Canva.Font.Handle := CreateFont(50, 0, 0, 0, 700, 0, 0, 0, DEFAULT_CHARSET, OUT_DEFAULT_PRECIS,
CLIP_DEFAULT_PRECIS, DEFAULT_QUALITY, DEFAULT_PITCH, nil);
Canva.TextOut(0,0,s);
finally
ReleaseDC(0, DC);
sleep(100);
Canva.Free;
end
end;
PostMessage(HWND_BROADCAST, WM_PAINT, 1, 1);
end;


 
Nikolay ©   (2002-03-25 17:12) [13]

2 ATLANTIDO
а в чем вопрос по закидыванию своего окна наверх?


 
ATLANTIDO ©   (2002-03-25 17:41) [14]


> 2 ATLANTIDO
> а в чем вопрос по закидыванию своего окна наверх?

Смотри в этой конфе "Попустить окно"


 
ATLANTIDO ©   (2002-03-25 19:11) [15]

Так существует работающий метод ?


 
ATLANTIDO ©   (2002-03-26 13:44) [16]

Help me ! Срочно надо !



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

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

Наверх




Память: 0.5 MB
Время: 0.022 c
3-88326
Alban
2002-04-29 14:46
2002.05.27
Проблема копирования базы с одного MySQL Server на другой


6-88582
BOrda
2002-03-17 15:36
2002.05.27
сокет, адрес и порт


1-88472
VicV
2002-05-17 23:02
2002.05.27
Как отключить эти 3 кнопки на форме (закрыть, свернуть, востан.)


4-88689
Andery G
2002-03-25 18:25
2002.05.27
как отследить запуск приложения


3-88377
micha
2002-05-03 13:57
2002.05.27
новое в delphi 6