全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1010
推到 Plurk!
推到 Facebook!

抓元件的影像

尚未結案
wsxcv123
一般會員


發表:36
回覆:27
積分:12
註冊:2004-11-10

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-12-01 18:15:46 IP:61.222.xxx.xxx 未訂閱
我想把 panel 的影像抓出來,存到 clipboard 。 要怎ㄇ做阿? 有沒有 BCB 的 example? 謝謝
allenchan
資深會員


發表:10
回覆:306
積分:283
註冊:2004-01-06

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-12-01 20:41:52 IP:61.62.xxx.xxx 未訂閱
不曉得你的 Panel 是哪一種 Panel 呢?下面是 TImage 的作法:
#include     void __fastcall TForm1::Button1Click(TObject *Sender)
{
    TClipboard *c = new TClipboard;
    c->Assign(Image1->Picture);
    delete c;
}
Zard
尊榮會員


發表:24
回覆:396
積分:539
註冊:2003-11-26

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-12-01 22:00:00 IP:61.64.xxx.xxx 未訂閱
給你一個範例. 先在Form上放一個TPanel元件, 還要記得include clipbrd.hpp.    按下Button1後, 打開小畫家, 按CTRL+V(或從小畫家裡的選單 編輯->貼上), 把結果貼到小畫家.
//---------------------------------------------------------------------------    #include 
#pragma hdrstop    #include "clipbrd.hpp"    #include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
  : TForm(Owner)
{
}
//---------------------------------------------------------------------------    void __fastcall TForm1::Button1Click(TObject *Sender)
{
  TImage* bitmap = new TImage(this);
  bitmap->Width = Panel1->Width;
  bitmap->Height = Panel1->Height;
  // 將Panel1畫到Image上
  BitBlt( bitmap->Canvas->Handle, 0, 0, Panel1->Width,
          Panel1->Height, GetWindowDC(Panel1->Handle), 0, 0, SRCCOPY);      TClipboard* Clipboard = new TClipboard();
  // 將Image放到剪貼簿
  Clipboard->Assign(bitmap->Picture->Bitmap);      delete bitmap;
  delete Clipboard;    }
//---------------------------------------------------------------------------    
wsxcv123
一般會員


發表:36
回覆:27
積分:12
註冊:2004-11-10

發送簡訊給我
#4 引用回覆 回覆 發表時間:2004-12-02 09:50:22 IP:61.222.xxx.xxx 未訂閱
可以了 ....哇好棒喔 
pwipwi
版主


發表:68
回覆:629
積分:349
註冊:2004-04-08

發送簡訊給我
#5 引用回覆 回覆 發表時間:2004-12-23 01:20:03 IP:211.76.xxx.xxx 未訂閱
我在尋找剪貼簿的影像用法時找到這篇文章... 看到了一些問題....提出來給大家作參考 1. TClipboard不需要用new來產生,BCB的Help有提到 "Do not instantiate separate TClipboard objects by calling the constructor. Instead, use the global instance of TClipboard returned by the Clipboard function" 2.GetWindowDC後,需要ReleaseDC
系統時間:2024-11-25 4:51:10
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!