Советы по Delphi


         

Снимок DESKTOP в form.canvas


Попробуйте это:

procedure TScrnFrm.GrabScreen;
var
DeskTopDC: HDc;DeskTopCanvas: TCanvas;DeskTopRect: TRect;
beginDeskTopDC := GetWindowDC(GetDeskTopWindow);DeskTopCanvas := TCanvas.Create;DeskTopCanvas.Handle := DeskTopDC;
DeskTopRect := Rect(0,0,Screen.Width,Screen.Height);
ScrnForm.Canvas.CopyRect(DeskTopRect,DeskTopCanvas,DeskTopRect);
ReleaseDC(GetDeskTopWindow,DeskTopDC);end;

Примечание: Я не тестировал это, так что не удивляйтесь некоторым системным сообщениям об ошибках. Вы можете передалать данный код под себя, в зависимости от стоящей перед вами задачей. Да, еще, если ваша форма уже загружена и отображена, то вам необходимо предусмотреть механизм обновления снимка при скрытии и показе окна, привязав данную функцию к соответствующим событиям.

[000119]



Содержание    Вперед