画面の取り込み

取り込み方法(細かい事は未理解)

  1. desktopにアクセスするためのCanvasを作る。
  2. desktopの場所(handle)を取得する(desktopのhandleは 0)
  3. desktopのデバイスコンテキスト(desktopにアクセスする固有のパラメータ)を取得する。
  4. desktopの大きさを取得する
  5. CanvasのCopyRectプロパティを使って画面をImage1にコピー
具体例
HDC hDC;
TCanvas *DesktopCanvas;
TSize Desktop;
DesktopCanvas = new TCanvas();

//デバイスコンテキストを取得
hDC = GetDC(0);
//デスクトップDCのハンドルをセット
DesktopCanvas->Handle = hDC;

//デスクトップの大きさを取得
Desktop.cx = GetSystemMetrics(SM_CXFULLSCREEN);
Desktop.cy = Desktop.cx*3/4;

//Image1にコピー
Image1->Canvas->CopyRect(
  Rect(0,0,Image1->Width,Image1->Height),
  DesktopCanvas,Rect(0,0,Desktop.cx,Desktop.cy));


masaki@tube.ee.uec.ac.jp