Delphi Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
델파이 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
FreePascal/Lazarus
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
델마당
볼랜드포럼 광고 모집

델파이 팁&트릭
Delphi Programming Tip&Tricks
[199] 윈도 핸들로 비트맵 얻기
civilian,안영제 [civilian] 5391 읽음    2006-09-04 12:05
윈도 핸들을 이용하여 해당창의 이미지를 비트맵으로 얻어오는 함수입니다.
뉴스그룹에 올라온 내용을 가져왔습니다.

function PrintWindow(aHwnd: HWND; aBitmap: TBitmap): Boolean;
var
  rc: TRect;
  huser32: THandle;
  F: function(Hnd: HWND; HdcBlt: HDC; nFlags: UINT): BOOL; stdcall;
begin
  Result := False;
  huser32 := GetModuleHandle(user32);
  if huser32 <> 0 then begin
    @F := GetProcAddress(huser32, 'PrintWindow');
    if @F <> nil then begin
      GetWindowRect(aHwnd, rc);
      aBitmap.Width := rc.Right - rc.Left;
      aBitmap.Height := rc.Bottom - rc.Top;
      aBitmap.Canvas.Lock;
      try
        Result := F(aHWnd, aBitmap.Canvas.Handle, 0);
      finally
        aBitmap.Canvas.Unlock;
      end;
    end;
  end;
end;

+ -

관련 글 리스트
199 윈도 핸들로 비트맵 얻기 civilian,안영제 5391 2006/09/04
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.