unit ScrnCap; interface uses WinTypes, WinProcs, Forms, Classes, Graphics, Controls;
{ Копирует прямоугольную область экрана } function CaptureScreenRect(ARect : TRect) : TBitmap; { Копирование всего экрана } function CaptureScreen : TBitmap; { Копирование клиентской области формы или элемента } function CaptureClientImage(Control : TControl) : TBitmap; { Копирование всей формы элемента } function CaptureControlImage(Control : TControl) : TBitmap;
{===============================================================} implementation function GetSystemPalette : HPalette; var PaletteSize : integer; LogSize : integer; LogPalette : PLogPalette; DC : HDC; Focus : HWND; begin result:=0; Focus:=GetFocus; DC:=GetDC(Focus);
try PaletteSize:=GetDeviceCaps(DC, SIZEPALETTE); LogSize:=SizeOf(TLo!
gPalette)+(PaletteSize-1)*SizeOf(TPaletteEntry); GetMem(LogPalette, LogSize); try with LogPalette^ do begin palVersion:=$0300; palNumEntries:=PaletteSize; GetSystemPaletteEntries(DC, 0, PaletteSize, palPalEntry); end; result:=CreatePalette(LogPalette^); finally FreeMem(LogPalette, LogSize); end; finally ReleaseDC(Focus, DC); end; end;
function CaptureScreenRect(ARect : TRect) : TBitmap; var ScreenDC : HDC; begin Result:=TBitmap.Create; with result, ARect dobegin Width:=Right-Left; Height:=Bottom-Top; ScreenDC:=GetDC(0); try BitBlt(Canvas.Handle, 0,0,Width,Height,ScreenDC, Left, Top, SRCCOPY ); finally ReleaseDC(0, ScreenDC); end; Palette:=GetSystemPalette; end; end;
function CaptureScreen : TBitmap; begin with Screen do Result:=CaptureScreenRect(Rect(0,0,Width,Height)); end;
function CaptureClientImage(Control : TControl) : TBitmap; begin with Control, Control.ClientOrigin do result:=CaptureScreenRect(Bounds(X,Y,ClientWidth,ClientHeight)); end;
function CaptureControlImage(Control : TControl) : TBitmap; begin with Control do if Parent=Nil then result:=CaptureScreenRect(Bounds(Left,Top,Width,Height)) else with Parent.ClientToScreen(Point(Left, Top)) do result:=CaptureScreenRect(Bounds(X,Y,Width,Height)); end; end.
Поддержка Windows Visual Styles (Themes) API в Ваших органах управления
В операционных системах (OC) компании Microsoft, начиная с Microsoft Windows XP, появились так называемые визуальные стили (visual styles), которые определяют внешний вид органов управления (controls) и других окон (windows) интерфейса пользователя. В отличие от более ранних ОС компании Microsoft, органы управления теперь могут иметь не только иные цветовую схему и пропорции, но также иные методы прорисовки отдельных своих элементов оформления (parts). Сами методы отрисовки различных стандартных элементов были выделены в отдельный модуль с расширением mst, который поставляется в составе визуального стиля. В комплект поставки Windows XP входит только один визуальный стиль ...
Delphi: специальный справочник
В книге содержится обширный справочный материал по основным элементам языка, включающий в себя наиболее употребительные функции, классы и объекты. Последовательно и подробно изложен процесс создания баз данных, Windows-приложений и динамических библиотек. Приложения с описанием различных кодов ошибок выполнения программ делает книгу полезной не только начинающим программистам, но и пользователям, активно работающим с Delphi
Автор: Б. Карпов
Дорогие друзья! Мы рады представить вам новый совместный проект сайтов www.rsdn.ru, delphi.mastak.ru и www.optim.ru - профессиональный журнал для программистов RSDN Magazine.
Несомненно, ваше мнение о необходимости такого журнала, содержании рубрик и темах отдельных статей поможет сделать журнал более полезным и интересным. Высказать свое мнение, проголосовать или же подписаться вы можете на сайте. Без вашего участия, нам будет трудно сделать правильный журнал!
На сайте выложен анонс пилотного выпуска журнала, вступительное слово от редакции.
Для души
Хокку дня
Дверь открываю В зной груди И вижу там себя.
Афоризмы
В китайском языке 15 тысяч иероглифов. Не дай Бог попасть на их "Поле Чудес", бессмысленное и беспощадное
Фраза дня
Естественный отбор денег
Дурацкие законы (информация предоставлена сайтом kurilka.com)
В Денвере (США) запрещается ездить по воскресеньям на машинах черного цвета.
В городе Стерлинг в Колорадо (США) запрещается выпускать кошек гулять, если они “не имеют сзади световых отражателей”.
И на закуску коротенький анекдот
- Аэропорт, аэропорт, я борт 57, терплю бедствие! - Борт 57, борт 57, вас понял! Вычеркиваю!