Реферат: Создание хранителя экрана

MaxY := R.Bottom-R.Top;

ShowWindow(PreviewWindow,sw_Show);

UpdateWindow(PreviewWindow);

Repeat

InvalidateRect(PreviewWindow,nil,False);

Sleep(30);

Until QuitSaver;

PostMessage(PreviewWindow,wm_Destroy,0,0);

End;

Нить просто заставляет обновляться изображения в нашем окне, спит на некоторое время, и обновляет изображения снова. А Windows будет посылать сообщение WM_PAINT на наше окно (не в нить !). Для того, чтобы оперировать этим сообщением, нам нужна процедура:

Function PreviewWndProc(Window:hWnd; Msg,WParam,LParam:Integer) : Integer;StdCall;

Begin

Result := 0;

Case Msg of

wm_NCCreate : Result := 1;

wm_Destroy : PostQuitMessage(0);

{ paint something }

wm_Paint : DrawSingleBox;

wm_KeyDown : QuitSaver := AskPassword;

wm_LButtonDown, wm_MButtonDown,

wm_RButtonDown, wm_MouseMove :

Begin

If (Not IsPreview) Then Begin

Dec(MoveCounter);

If (MoveCounter <= 0) Then

QuitSaver :=AskPassword;

End;

End;

Else Result := DefWindowProc

К-во Просмотров: 389
Бесплатно скачать Реферат: Создание хранителя экрана