Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Рисование на DC [D6, Win95/98, WinXP]


ATLANTIDO ©   (2002-03-22 21:28:00) 

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


ATLANTIDO   (2002-03-26 13:44:00) [1]

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


ATLANTIDO   (2002-03-25 19:11:00) [2]

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


ATLANTIDO   (2002-03-25 17:41:00) [3]


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

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


Nikolay   (2002-03-25 17:12:00) [4]

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


ATLANTIDO   (2002-03-25 17:02:00) [5]


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

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


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;


SPeller   (2002-03-25 07:29:00) [6]

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


SPeller   (2002-03-25 07:26:00) [7]

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


ATLANTIDO   (2002-03-24 23:04:00) [8]

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


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

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


ATLANTIDO   (2002-03-23 14:08:00) [10]

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


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

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


SPeller   (2002-03-23 08:54:00) [12]

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


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

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


Song   (2002-03-22 22:35:00) [14]

WM_PAINT


ATLANTIDO   (2002-03-22 22:08:00) [15]

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


Amit   (2002-03-22 21:45:00) [16]

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


Наверх

Титульная страница Поиск, карта сайта Написать письмо